summaryrefslogtreecommitdiffstats
path: root/harmony-tests
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-12-04 13:05:21 +0000
committerNarayan Kamath <narayan@google.com>2014-12-04 13:10:54 +0000
commit83b5554108e839b0c78178a029b65fddce8983f0 (patch)
tree5cccd5910d40cfda5f25ee78de34672ecad6cf6b /harmony-tests
parent382575b597f209f04ecdb5efae1036bf241c8d70 (diff)
downloadlibcore-83b5554108e839b0c78178a029b65fddce8983f0.zip
libcore-83b5554108e839b0c78178a029b65fddce8983f0.tar.gz
libcore-83b5554108e839b0c78178a029b65fddce8983f0.tar.bz2
Fix failing socket tests.
Use bogus numeric addresses instead of invalid hostnames to make InetAddress.getAllByName fail before we ask a DNS server. This guards against flakiness caused by evil DNS servers. Note that from an API perspective, Socket* and SSLSocket* don't care about *why* getAllByName failed, just that it did. This change also fixes a test that was asserting that the exception we throw contains a useful error message. Again, this test was changed to use a broken numeric address. bug: 18575971 Change-Id: I0b49e5e66717dc29a3401f45af0ef2d5bb955219
Diffstat (limited to 'harmony-tests')
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/java/net/InetAddressTest.java18
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/java/net/SocketTest.java2
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/SocketFactoryTest.java4
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketFactoryTest.java54
-rw-r--r--harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketTest.java4
5 files changed, 33 insertions, 49 deletions
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/InetAddressTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/InetAddressTest.java
index 959f83c..42f88c1 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/InetAddressTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/InetAddressTest.java
@@ -24,31 +24,25 @@ import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.UnknownHostException;
-import java.security.Permission;
import java.util.ArrayList;
import java.util.Enumeration;
import org.apache.harmony.testframework.serialization.SerializationTest;
import org.apache.harmony.testframework.serialization.SerializationTest.SerializableAssert;
-import tests.support.Support_Configuration;
public class InetAddressTest extends junit.framework.TestCase {
/**
* java.net.InetAddress#getByName(String)
*/
- public void test_getByNameUnknownHostException() {
+ public void test_getByName_exceptionContainsUsefulMessage() {
// Related to HARMONY-5784
-
- // loop a few times to flex the negative cache paths
- for (int i = 0; i < 5; i++) {
- try {
- InetAddress.getByName("unknown.unknown.bad");
- fail("An UnknownHostException should have been thrown");
- } catch (UnknownHostException e) {
- assertTrue(e.getMessage().contains("unknown.unknown.bad"));
- }
+ try {
+ InetAddress.getByName("1.2.3.4hello");
+ fail();
+ } catch (UnknownHostException e) {
+ assertTrue(e.getMessage().contains("1.2.3.4hello"));
}
}
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/SocketTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/SocketTest.java
index 18d2cb2..4df92e2 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/SocketTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/java/net/SocketTest.java
@@ -274,7 +274,7 @@ public class SocketTest extends junit.framework.TestCase {
public void test_connect_unknownhost() throws Exception {
Socket socket = new Socket();
try {
- socket.connect(new InetSocketAddress("unknownhost.invalid", 12345));
+ socket.connect(new InetSocketAddress("1.2.3.4hello", 12345));
fail();
} catch (UnknownHostException expected) {
}
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/SocketFactoryTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/SocketFactoryTest.java
index cfe0ad6..649be09 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/SocketFactoryTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/SocketFactoryTest.java
@@ -65,7 +65,7 @@ public class SocketFactoryTest extends TestCase {
assertTrue("Failed to create socket", s.getPort() == sport);
try {
- sf.createSocket("bla-bla", sport);
+ sf.createSocket("1.2.3.4hello", sport);
fail("UnknownHostException wasn't thrown");
} catch (UnknownHostException expected) {
}
@@ -180,7 +180,7 @@ public class SocketFactoryTest extends TestCase {
assertTrue("1: Failed to create socket", s.getPort() == sport);
try {
- sf.createSocket("bla-bla", sport, InetAddress.getLocalHost(), 0);
+ sf.createSocket("1.2.3.4hello", sport, InetAddress.getLocalHost(), 0);
fail("UnknownHostException wasn't thrown");
} catch (UnknownHostException expected) {
}
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketFactoryTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketFactoryTest.java
index 576a303..2f456e0 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketFactoryTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketFactoryTest.java
@@ -61,52 +61,42 @@ public class SSLSocketFactoryTest extends TestCase {
/**
* javax.net.ssl.SSLSocketFactory#createSocket(Socket s, String host, int port, boolean autoClose)
*/
- public void test_createSocket() {
+ public void test_createSocket() throws Exception {
SSLSocketFactory sf = (SSLSocketFactory)SSLSocketFactory.getDefault();
int sport = startServer("test_createSocket()");
int[] invalid = {
Integer.MIN_VALUE, -1, 65536, Integer.MAX_VALUE
};
- try {
- Socket st = new Socket("localhost", sport);
- Socket s = sf.createSocket(st, "localhost", sport, false);
- assertFalse(s.isClosed());
- } catch (Exception ex) {
- fail("Unexpected exception " + ex);
- }
- try {
- Socket st = new Socket("localhost", sport);
- Socket s = sf.createSocket(st, "localhost", sport, true);
- s.close();
- assertTrue(st.isClosed());
- } catch (Exception ex) {
- fail("Unexpected exception " + ex);
- }
+
+
+ Socket st = new Socket("localhost", sport);
+ Socket s = sf.createSocket(st, "localhost", sport, false);
+ assertFalse(s.isClosed());
+
+ st = new Socket("localhost", sport);
+ s = sf.createSocket(st, "localhost", sport, true);
+ s.close();
+ assertTrue(st.isClosed());
+
try {
sf.createSocket(null, "localhost", sport, true);
- fail("IOException wasn't thrown");
- } catch (IOException ioe) {
- // expected
- } catch (NullPointerException e) {
- // expected
+ fail();
+ } catch (NullPointerException expected) {
}
+
for (int i = 0; i < invalid.length; i++) {
try {
- Socket s = sf.createSocket(new Socket(), "localhost", 1080, false);
- fail("IOException wasn't thrown");
- } catch (IOException ioe) {
- // expected
+ s = sf.createSocket(new Socket(), "localhost", 1080, false);
+ fail();
+ } catch (IOException expected) {
}
}
try {
- Socket st = new Socket("bla-bla", sport);
- Socket s = sf.createSocket(st, "bla-bla", sport, false);
- fail("UnknownHostException wasn't thrown: " + "bla-bla");
- } catch (UnknownHostException uhe) {
- // expected
- } catch (Exception e) {
- fail(e + " was thrown instead of UnknownHostException");
+ st = new Socket("1.2.3.4hello", sport);
+ s = sf.createSocket(st, "1.2.3.4hello", sport, false);
+ fail();
+ } catch (UnknownHostException expected) {
}
}
diff --git a/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketTest.java b/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketTest.java
index 4907dfb..11e3142 100644
--- a/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketTest.java
+++ b/harmony-tests/src/test/java/org/apache/harmony/tests/javax/net/ssl/SSLSocketTest.java
@@ -158,7 +158,7 @@ public class SSLSocketTest extends TestCase {
}
try {
- getSSLSocket("bla-bla", sport);
+ getSSLSocket("1.2.3.4hello", sport);
fail();
} catch (UnknownHostException expected) {
}
@@ -199,7 +199,7 @@ public class SSLSocketTest extends TestCase {
}
try {
- getSSLSocket("bla-bla", sport, InetAddress.getLocalHost(), 0);
+ getSSLSocket("1.2.3.4hello", sport, InetAddress.getLocalHost(), 0);
fail();
} catch (UnknownHostException expected) {
}