harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: svn commit: r765837 - /harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
Date Fri, 17 Apr 2009 10:26:29 GMT
Is this necessary? I thought it was already fixed during M9 close down?

I object to having platform specific Java code like this.  We push these
behavior differences into the native code.

Regards,
Tim

regisxu@apache.org wrote:
> Author: regisxu
> Date: Fri Apr 17 02:36:00 2009
> New Revision: 765837
> 
> URL: http://svn.apache.org/viewvc?rev=765837&view=rev
> Log:
> Apply fix for HARMONY-6092
> 
> Since SocketTest.test_getInputStream are failed both on RI and Harmony with the same
behaviors, fix the test case to pass on Linux.
> 
> Modified:
>     harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
> 
> Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java?rev=765837&r1=765836&r2=765837&view=diff
> ==============================================================================
> --- harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
(original)
> +++ harmony/enhanced/classlib/trunk/modules/luni/src/test/api/common/org/apache/harmony/luni/tests/java/net/SocketTest.java
Fri Apr 17 02:36:00 2009
> @@ -35,6 +35,7 @@
>  import java.net.SocketTimeoutException;
>  import java.net.UnknownHostException;
>  import java.security.Permission;
> +import java.util.Locale;
>  
>  import org.apache.harmony.luni.net.PlainSocketImpl;
>  
> @@ -860,19 +861,55 @@
>  
>          InputStream in = pingClient.getInputStream();
>          in.read(new byte[42]);
> -
> -        // Check EOF
> -        assertEquals(-1, in.read());
> +        if (isUnix()) {
> +            try {
> +                in.read();
> +                fail("Should throw SocketException");
> +            } catch (SocketException e) {
> +                // expected
> +            }
> +        } else {
> +            // Check EOF
> +            assertEquals(-1, in.read());
> +        }
>  
>          in.close();
>  
> -        // No exception when reading a closed stream
> -        assertEquals(-1, in.read());
> +        if (isUnix()) {
> +            try {
> +                in.read();
> +                fail("Should throw SocketException");
> +            } catch (SocketException e) {
> +                // expected
> +            }
> +            try {
> +                in.read(new byte[5]);
> +                fail("Should throw SocketException");
> +            } catch (SocketException e) {
> +                // expected
> +            }
> +        } else {
> +            // No exception when reading a closed stream
> +            assertEquals(-1, in.read());
> +            assertEquals(-1, in.read(new byte[5]));
> +        }
>  
>          pingClient.close();
>          pingServer.close();
>      }
>  
> +    private boolean isUnix() {
> +        String osName = System.getProperty("os.name");
> +
> +        // only comparing ASCII, so assume english locale
> +        osName = (osName == null ? null : osName.toLowerCase(Locale.ENGLISH));
> +
> +        if (osName != null && osName.startsWith("windows")) { //$NON-NLS-1$
> +            return false;
> +        }
> +        return true;
> +    }
> +
>      /**
>       * @tests java.net.Socket#getKeepAlive()
>       */
> 
> 
> 

Mime
View raw message