Hello Paulex,

It seems that the test case is invalid, because the tests will always pass whether "buf.close()" throws IOException or not.

+        try {
+            buf.close();
+        } catch (IOException e) {
+            //expected
+ } }


Please have a look at the following tests which passes on RI, but fails on Harmony.

public void test_close() throws IOException { //regression for HARMONY-667
       BufferedInputStream buf = new BufferedInputStream(null, 5);
       buf.close();
   }

Thanks a lot.

Best regards,
Richard.

[EMAIL PROTECTED] wrote:
Author: pyang
Date: Sun Jul 23 20:29:14 2006
New Revision: 424890

URL: http://svn.apache.org/viewvc?rev=424890&view=rev
Log:
Fix for HARMONY-667 ( [classlib][io]java.io.BufferedInputStream.skip(int n) 
unexpected NPE)

Modified:
    
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/BufferedInputStream.java
    
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/BufferedInputStreamTest.java

Modified: 
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/BufferedInputStream.java
URL: 
http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/BufferedInputStream.java?rev=424890&r1=424889&r2=424890&view=diff
==============================================================================
--- 
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/BufferedInputStream.java
 (original)
+++ 
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/io/BufferedInputStream.java
 Sun Jul 23 20:29:14 2006
@@ -1,4 +1,4 @@
-/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as 
applicable
+/* Copyright 1998, 2006 The Apache Software Foundation or its licensors, as 
applicable
* * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -109,6 +109,9 @@
         *             If an error occurs attempting to close this stream.
         */
        public synchronized void close() throws IOException {
+        if(null == in){
+            throw new 
IOException(org.apache.harmony.luni.util.Msg.getString("K0059"));
+        }
                super.close();
                buf = null;
        }
@@ -311,6 +314,9 @@
         *             occurs.
         */
        public synchronized long skip(long amount) throws IOException {
+        if(null == in){
+            throw new 
IOException(org.apache.harmony.luni.util.Msg.getString("K0059"));
+        }
                if (amount < 1)
                        return 0;
Modified: 
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/BufferedInputStreamTest.java
URL: 
http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/BufferedInputStreamTest.java?rev=424890&r1=424889&r2=424890&view=diff
==============================================================================
--- 
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/BufferedInputStreamTest.java
 (original)
+++ 
incubator/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/tests/api/java/io/BufferedInputStreamTest.java
 Sun Jul 23 20:29:14 2006
@@ -1,4 +1,4 @@
-/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as 
applicable
+/* Copyright 1998, 2006 The Apache Software Foundation or its licensors, as 
applicable
* * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -120,6 +120,14 @@
                // Test for method void java.io.BufferedInputStream.close()
                new BufferedInputStream(isFile);
                new BufferedInputStream(isFile);
+               
+               //regression for HARMONY-667
+        BufferedInputStream buf = new BufferedInputStream(null, 5);
+        try {
+            buf.close();
+        } catch (IOException e) {
+            //expected
+ } } /**
@@ -310,6 +318,14 @@
                } catch (java.io.IOException e) {
                        fail("Exception during skip test");
                }
+
+               //regression for HARMONY-667
+        BufferedInputStream buf = new BufferedInputStream(null, 5);
+        try {
+            buf.skip(10);
+        } catch (IOException e) {
+            //expected
+ } } /**




--
Richard Liang
China Software Development Lab, IBM


---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to