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()
*/