Initial revision
From-SVN: r102074
This commit is contained in:
parent
6f4434b39b
commit
f911ba985a
4557 changed files with 1000262 additions and 0 deletions
1
libjava/classpath/test/java.net/.cvsignore
Normal file
1
libjava/classpath/test/java.net/.cvsignore
Normal file
|
@ -0,0 +1 @@
|
|||
Makefile.in
|
5
libjava/classpath/test/java.net/BUGS
Normal file
5
libjava/classpath/test/java.net/BUGS
Normal file
|
@ -0,0 +1,5 @@
|
|||
Why can I only send a 65332 sized UDP packet? Is there that much UDP overhead?
|
||||
|
||||
Setting the multicast interface doesn't seem to work.
|
||||
|
||||
|
112
libjava/classpath/test/java.net/ClientDatagram.java
Normal file
112
libjava/classpath/test/java.net/ClientDatagram.java
Normal file
|
@ -0,0 +1,112 @@
|
|||
/* Class to test Datagrams from a client perspective */
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
public class ClientDatagram
|
||||
{
|
||||
|
||||
public static void
|
||||
main(String[] argv) throws IOException
|
||||
{
|
||||
System.out.println("Starting datagram tests");
|
||||
|
||||
byte[] buf = new byte[2048];
|
||||
DatagramPacket p = new DatagramPacket(buf, buf.length);
|
||||
InetAddress addr = InetAddress.getByName("localhost");
|
||||
|
||||
/* Execute the daytime UDP service on localhost. You may need to
|
||||
enable this in inetd to make the test work */
|
||||
System.out.println("Test 1: Simple daytime test");
|
||||
try
|
||||
{
|
||||
|
||||
DatagramSocket s = new DatagramSocket();
|
||||
|
||||
System.out.println("Socket bound to " + s.getLocalAddress() +
|
||||
":" + s.getLocalPort());
|
||||
|
||||
byte[] sbuf = { 'H', 'I' };
|
||||
DatagramPacket spack = new DatagramPacket(sbuf, sbuf.length, addr, 13);
|
||||
|
||||
s.send(spack);
|
||||
s.receive(p);
|
||||
|
||||
System.out.println("Received " + p.getLength() + " bytes from " +
|
||||
p.getAddress() + ":" + p.getPort());
|
||||
|
||||
byte[] tmp = new byte[p.getLength()];
|
||||
for (int i = 0; i < p.getLength(); i++)
|
||||
tmp[i] = buf[i];
|
||||
|
||||
System.out.print("Data: " + new String(tmp));
|
||||
|
||||
s.close();
|
||||
System.out.println("PASSED simple datagram test");
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
System.out.println("FAILED simple datagram test: " + e);
|
||||
}
|
||||
|
||||
System.out.println("Test 2: Specific host/port binding");
|
||||
try
|
||||
{
|
||||
DatagramSocket s = new DatagramSocket(8765, addr);
|
||||
if (s.getLocalPort() != 8765)
|
||||
throw new IOException("Bound to wrong port: " + s.getLocalPort());
|
||||
|
||||
if (!s.getLocalAddress().equals(addr))
|
||||
throw new IOException("Bound to wrong host:" + s.getLocalAddress());
|
||||
|
||||
s.close();
|
||||
System.out.println("PASSED specific host/port binding test");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("FAILED specific host/port binding: " + e);
|
||||
}
|
||||
|
||||
System.out.println("Test 3: Socket Options test");
|
||||
try
|
||||
{
|
||||
DatagramSocket s = new DatagramSocket();
|
||||
System.out.println("SO_TIMEOUT = " + s.getSoTimeout());
|
||||
System.out.println("Setting SO_TIMEOUT to 170");
|
||||
s.setSoTimeout(170);
|
||||
System.out.println("SO_TIMEOUT = " + s.getSoTimeout());
|
||||
System.out.println("Setting SO_TIMEOUT to 0");
|
||||
s.setSoTimeout(0);
|
||||
System.out.println("SO_TIMEOUT = " + s.getSoTimeout());
|
||||
s.close();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
System.out.println("WARNING: Problem with SO_TIMEOUT test: " + e.getMessage());
|
||||
System.out.println("This is ok on Linux");
|
||||
}
|
||||
|
||||
System.out.println("Test 4: Max values test");
|
||||
try
|
||||
{
|
||||
// ServerDatagram sd = new ServerDatagram(37900);
|
||||
// sd.run();
|
||||
|
||||
DatagramSocket s = new DatagramSocket();
|
||||
byte[] sbuf = new byte[65332];
|
||||
DatagramPacket spack = new DatagramPacket(sbuf, sbuf.length,
|
||||
addr, 37900);
|
||||
|
||||
s.send(spack);
|
||||
s.close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.out.println("FAILED max values test: " + e);
|
||||
}
|
||||
|
||||
System.out.println("Datagram testing complete");
|
||||
}
|
||||
|
||||
}
|
||||
|
189
libjava/classpath/test/java.net/ClientSocket.java
Normal file
189
libjava/classpath/test/java.net/ClientSocket.java
Normal file
|
@ -0,0 +1,189 @@
|
|||
/* A class to test my client TCP socket implementation */
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
|
||||
public class ClientSocket extends Object
|
||||
{
|
||||
public static void
|
||||
main(String[] argv) throws IOException
|
||||
{
|
||||
System.out.println("Starting client stream socket test");
|
||||
|
||||
/* Simple connection and read test */
|
||||
System.out.println("Test 1: Connection to daytime port on local host");
|
||||
try
|
||||
{
|
||||
InetAddress addr = InetAddress.getByName("127.0.0.1");
|
||||
|
||||
Socket s = new Socket(addr, 13);
|
||||
|
||||
InputStream is = s.getInputStream();
|
||||
BufferedReader br = new BufferedReader(new InputStreamReader(is));
|
||||
|
||||
for (String str = br.readLine(); ; str = br.readLine())
|
||||
{
|
||||
if (str == null)
|
||||
break;
|
||||
System.out.println(str);
|
||||
}
|
||||
s.close();
|
||||
System.out.println("PASSED: daytime test");
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: daytime test: " + e);
|
||||
}
|
||||
|
||||
/* Simple connection refused test */
|
||||
System.out.println("Test 2: Connection refused test");
|
||||
try
|
||||
{
|
||||
InetAddress addr = InetAddress.getByName("127.0.0.1");
|
||||
|
||||
Socket s = new Socket(addr, 47);
|
||||
s.close();
|
||||
|
||||
System.out.print("WARNING: Cannot perform connection refused test");
|
||||
System.out.println(" because someone is listening on localhost:47");
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("PASSED: connection refused test: " + e.getMessage());
|
||||
}
|
||||
|
||||
/* Socket attributes test */
|
||||
System.out.println("Test 3: Connection attributes");
|
||||
try
|
||||
{
|
||||
Socket s = new Socket("www.netscape.com", 80);
|
||||
|
||||
String laddr = s.getLocalAddress().getHostName();
|
||||
int lport = s.getLocalPort();
|
||||
String raddr = s.getInetAddress().getHostName();
|
||||
int rport = s.getPort();
|
||||
|
||||
System.out.println("Local Address is: " + laddr);
|
||||
System.out.println("Local Port is: " + lport);
|
||||
System.out.println("Remote Address is: " + raddr);
|
||||
System.out.println("Remote Port is: " + rport);
|
||||
System.out.println("Socket.toString is: " + s);
|
||||
|
||||
if ( (laddr == null) ||
|
||||
((lport < 0) || (lport > 65535)) ||
|
||||
(raddr.indexOf("netscape.com") == -1) ||
|
||||
(rport != 80))
|
||||
System.out.println("FAILED: connection attribute test");
|
||||
else
|
||||
System.out.println("PASSED: connection attribute test");
|
||||
|
||||
s.close();
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: connection attributes test: " + e.getMessage());
|
||||
}
|
||||
|
||||
/* Socket options test */
|
||||
System.out.println("Test 4: Socket options");
|
||||
Socket s = new Socket("127.0.0.1", 23);
|
||||
|
||||
try
|
||||
{
|
||||
// SO_TIMEOUT
|
||||
System.out.println("SO_TIMEOUT = " + s.getSoTimeout());
|
||||
System.out.println("Setting SO_TIMEOUT to 142");
|
||||
s.setSoTimeout(142);
|
||||
System.out.println("SO_TIMEOUT = " + s.getSoTimeout());
|
||||
System.out.println("Setting SO_TIMEOUT to 0");
|
||||
s.setSoTimeout(0);
|
||||
System.out.println("SO_TIMEOUT = " + s.getSoTimeout());
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
System.out.println("WARNING: SO_TIMEOUT problem: " + e.getMessage());
|
||||
System.out.println("This is ok on Linux");
|
||||
}
|
||||
try
|
||||
{
|
||||
// Try TCP_NODELAY
|
||||
System.out.println("TCP_NODELAY = " + s.getTcpNoDelay());
|
||||
System.out.println("Setting TCP_NODELAY to true");
|
||||
s.setTcpNoDelay(true);
|
||||
System.out.println("TCP_NODELAY = " + s.getTcpNoDelay());
|
||||
System.out.println("Setting TCP_NODELAY to false");
|
||||
s.setTcpNoDelay(false);
|
||||
System.out.println("TCP_NODELAY = " + s.getTcpNoDelay());
|
||||
|
||||
// Try SO_LINGER
|
||||
System.out.println("SO_LINGER = " + s.getSoLinger());
|
||||
System.out.println("Setting SO_LINGER to 100");
|
||||
s.setSoLinger(true, 100);
|
||||
System.out.println("SO_LINGER = " + s.getSoLinger());
|
||||
System.out.println("Setting SO_LINGER to off");
|
||||
s.setSoLinger(false, 0);
|
||||
System.out.println("SO_LINGER = " + s.getSoLinger());
|
||||
|
||||
System.out.println("PASSED: socket options test");
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: socket options test: " + e.getMessage());
|
||||
}
|
||||
s.close();
|
||||
|
||||
/* Simple read/write test */
|
||||
System.out.println("Test 5: Simple read/write test");
|
||||
try
|
||||
{
|
||||
System.out.println("Downloading the Transmeta homepage");
|
||||
s = new Socket("www.transmeta.com", 80);
|
||||
|
||||
BufferedReader in = new BufferedReader(new
|
||||
InputStreamReader(s.getInputStream()));
|
||||
PrintWriter out = new PrintWriter(new
|
||||
OutputStreamWriter(s.getOutputStream()));
|
||||
|
||||
out.print("GET /\r\n");
|
||||
out.flush();
|
||||
|
||||
for (String str = in.readLine(); ; str = in.readLine())
|
||||
{
|
||||
if (str == null)
|
||||
break;
|
||||
System.out.println(str);
|
||||
}
|
||||
|
||||
s.close();
|
||||
System.out.println("PASSED: simple read/write test");
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: simple read/write test: " + e.getMessage());
|
||||
}
|
||||
|
||||
/* Connect to our server socket */
|
||||
System.out.println("Test 6: Connect to ServerSocket");
|
||||
try
|
||||
{
|
||||
s = new Socket("localhost", 9999);
|
||||
|
||||
PrintWriter out = new PrintWriter(new
|
||||
OutputStreamWriter(s.getOutputStream()));
|
||||
|
||||
out.println("Hello, there server socket");
|
||||
out.print("I'm dun");
|
||||
out.flush();
|
||||
s.close();
|
||||
System.out.println("PASSED: connect to server socket");
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
System.out.println("FAILED: connect to server socket: " + e);
|
||||
}
|
||||
|
||||
System.out.println("Client stream socket test complete");
|
||||
}
|
||||
|
||||
}
|
||||
|
9
libjava/classpath/test/java.net/Makefile.am
Normal file
9
libjava/classpath/test/java.net/Makefile.am
Normal file
|
@ -0,0 +1,9 @@
|
|||
## Input file for automake to generate the Makefile.in used by configure
|
||||
|
||||
JAVAROOT = .
|
||||
|
||||
check_JAVA = ClientDatagram.java ClientSocket.java MulticastClient.java \
|
||||
MulticastServer.java ServerDatagram.java ServerSocketTest.java \
|
||||
SubSocket.java TestNameLookups.java URLTest.java
|
||||
|
||||
EXTRA_DIST = BUGS runtest
|
65
libjava/classpath/test/java.net/MulticastClient.java
Normal file
65
libjava/classpath/test/java.net/MulticastClient.java
Normal file
|
@ -0,0 +1,65 @@
|
|||
/* Test Multicast Sockets */
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
|
||||
public class MulticastClient
|
||||
{
|
||||
|
||||
public static void
|
||||
main(String[] argv) throws IOException
|
||||
{
|
||||
System.out.println("Starting multicast tests");
|
||||
System.out.println("NOTE: You need to do an 'ifconfig <interface> " +
|
||||
"multicast' or this will fail on linux");
|
||||
|
||||
byte[] buf = { 'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o','r','l','d' };
|
||||
|
||||
/* Simple Send */
|
||||
System.out.println("Test 1: Multicast send/receive test");
|
||||
try
|
||||
{
|
||||
InetAddress addr = InetAddress.getByName("234.0.0.1");
|
||||
|
||||
MulticastSocket s = new MulticastSocket();
|
||||
DatagramPacket p = new DatagramPacket(buf, buf.length, addr, 3333);
|
||||
|
||||
s.joinGroup(addr);
|
||||
s.send(p);
|
||||
s.close();
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: simple multicast send: " + e);
|
||||
}
|
||||
|
||||
/* Options */
|
||||
System.out.println("Test 2: Multicast socket options");
|
||||
try
|
||||
{
|
||||
InetAddress addr;
|
||||
MulticastSocket s = new MulticastSocket();
|
||||
|
||||
System.out.println("TTL = " + s.getTTL());
|
||||
System.out.println("Setting TTT to 121");
|
||||
s.setTTL((byte)12);
|
||||
System.out.println("TTL = " + s.getTTL());
|
||||
|
||||
InetAddress oaddr = s.getInterface();
|
||||
System.out.println("Multicast Interface = " + oaddr);
|
||||
System.out.println("Setting interface to localhost");
|
||||
addr = InetAddress.getByName("198.211.138.177");
|
||||
s.setInterface(addr);
|
||||
System.out.println("Multicast Interface = " + s.getInterface());
|
||||
System.out.println("Setting interface to " + oaddr);
|
||||
s.setInterface(oaddr);
|
||||
System.out.println("Multicast Interface = " + s.getInterface());
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: multicast options: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
57
libjava/classpath/test/java.net/MulticastServer.java
Normal file
57
libjava/classpath/test/java.net/MulticastServer.java
Normal file
|
@ -0,0 +1,57 @@
|
|||
/* Mulitcast Server Socket for testing */
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
public class MulticastServer
|
||||
{
|
||||
|
||||
private MulticastSocket s;
|
||||
|
||||
public static void
|
||||
main(String[] argv) throws IOException
|
||||
{
|
||||
MulticastServer ms = new MulticastServer(3333);
|
||||
ms.run();
|
||||
}
|
||||
|
||||
public
|
||||
MulticastServer(int port) throws IOException
|
||||
{
|
||||
s = new MulticastSocket(port);
|
||||
System.out.println("Server multicast socket created");
|
||||
}
|
||||
|
||||
public void
|
||||
run()
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] buf = new byte[255];
|
||||
|
||||
DatagramPacket p = new DatagramPacket(buf, buf.length);
|
||||
InetAddress addr = InetAddress.getByName("234.0.0.1");
|
||||
|
||||
p.setLength(buf.length);
|
||||
|
||||
System.out.println("Joining multicast group");
|
||||
s.joinGroup(addr);
|
||||
System.out.print("Receiving ...");
|
||||
s.receive(p);
|
||||
System.out.println("");
|
||||
s.leaveGroup(addr);
|
||||
System.out.println("ServerDatagram: received " + p.getLength() +
|
||||
" bytes from " + p.getAddress().getHostName() + ":" +
|
||||
p.getPort());
|
||||
System.out.println("Data: " + new String(p.getData()));
|
||||
|
||||
System.out.println("PASSED multicast server test");
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
System.out.println("FAILED: MulticastServer caught an exception: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
52
libjava/classpath/test/java.net/ServerDatagram.java
Normal file
52
libjava/classpath/test/java.net/ServerDatagram.java
Normal file
|
@ -0,0 +1,52 @@
|
|||
/* Server Datagram Socket for testing */
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
public class ServerDatagram implements Runnable
|
||||
{
|
||||
|
||||
private DatagramSocket s;
|
||||
|
||||
public static void
|
||||
main(String[] argv) throws IOException
|
||||
{
|
||||
ServerDatagram sd = new ServerDatagram(37900);
|
||||
sd.run();
|
||||
}
|
||||
|
||||
public
|
||||
ServerDatagram(int port) throws SocketException
|
||||
{
|
||||
s = new DatagramSocket(port);
|
||||
System.out.println("Server datagram socket created");
|
||||
}
|
||||
|
||||
public void
|
||||
run()
|
||||
{
|
||||
try
|
||||
{
|
||||
byte[] buf = new byte[65535];
|
||||
|
||||
DatagramPacket p = new DatagramPacket(buf, buf.length);
|
||||
|
||||
p.setLength(buf.length);
|
||||
|
||||
s.receive(p);
|
||||
System.out.println("ServerDatagram: received " + p.getLength() +
|
||||
" bytes from " + p.getAddress().getHostName() + ":" +
|
||||
p.getPort());
|
||||
|
||||
if (p.getLength() != 65332)
|
||||
throw new IOException("Incorrect data size");
|
||||
System.out.println("PASSED max values test");
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
System.out.print("FAILED: ServerDatagram caught an exception: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
53
libjava/classpath/test/java.net/ServerSocketTest.java
Normal file
53
libjava/classpath/test/java.net/ServerSocketTest.java
Normal file
|
@ -0,0 +1,53 @@
|
|||
/* Class to test server sockets */
|
||||
|
||||
import java.io.*;
|
||||
import java.net.*;
|
||||
|
||||
public class ServerSocketTest extends ServerSocket
|
||||
{
|
||||
|
||||
public
|
||||
ServerSocketTest(int port) throws IOException
|
||||
{
|
||||
super(port);
|
||||
}
|
||||
|
||||
public static void
|
||||
main(String[] argv)
|
||||
{
|
||||
System.out.println("Starting up server socket");
|
||||
|
||||
try {
|
||||
ServerSocketTest ss = new ServerSocketTest(9999);
|
||||
|
||||
System.out.println("Created server socket bound to port " +
|
||||
ss.getLocalPort() + " on local address " +
|
||||
ss.getInetAddress());
|
||||
|
||||
SubSocket s = new SubSocket();
|
||||
ss.implAccept(s);
|
||||
// Socket s = ss.accept();
|
||||
|
||||
System.out.println("Got a connection from " + s.getInetAddress() +
|
||||
" on port " + s.getPort());
|
||||
|
||||
BufferedReader br = new BufferedReader(new
|
||||
InputStreamReader(s.getInputStream()));
|
||||
|
||||
for (String str = br.readLine(); ; str = br.readLine())
|
||||
{
|
||||
if (str == null)
|
||||
break;
|
||||
System.out.println(str);
|
||||
}
|
||||
s.close();
|
||||
ss.close();
|
||||
System.out.println("PASSED: server socket test");
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.out.println("FAILED: server socket test: " + e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
6
libjava/classpath/test/java.net/SubSocket.java
Normal file
6
libjava/classpath/test/java.net/SubSocket.java
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* Quick and dirty Socket subclass */
|
||||
|
||||
public class SubSocket extends java.net.Socket
|
||||
{
|
||||
}
|
||||
|
103
libjava/classpath/test/java.net/TestNameLookups.java
Normal file
103
libjava/classpath/test/java.net/TestNameLookups.java
Normal file
|
@ -0,0 +1,103 @@
|
|||
/* A class to test my java.net.InetAddress implementation */
|
||||
|
||||
import java.net.*;
|
||||
|
||||
public class TestNameLookups extends Object
|
||||
{
|
||||
public static void
|
||||
main(String[] argv) throws UnknownHostException
|
||||
{
|
||||
InetAddress addr;
|
||||
|
||||
System.out.println("Started address lookup test");
|
||||
|
||||
/* Test local host */
|
||||
try
|
||||
{
|
||||
addr = InetAddress.getLocalHost();
|
||||
|
||||
System.out.println("The local hostname is " + addr.getHostName() +
|
||||
" with an IP address of " + addr.getHostAddress());
|
||||
}
|
||||
catch(UnknownHostException e)
|
||||
{
|
||||
System.out.println("WARNING: Can't resolve local hostname");
|
||||
}
|
||||
|
||||
/* Test simple lookup by IP */
|
||||
addr = InetAddress.getByName("18.159.0.42");
|
||||
|
||||
System.out.println("Looked up IP addres 18.159.0.42 and got back a " +
|
||||
"hostname of " + addr.getHostName());
|
||||
|
||||
/* Test failed reverse lookup of IP */
|
||||
addr = InetAddress.getByName("194.72.246.154");
|
||||
|
||||
System.out.println("Looked up IP addres 194.72.246.154 and got back a " +
|
||||
"hostname of " + addr.getHostName());
|
||||
|
||||
/* Test mangled/invalid IP's */
|
||||
try { addr = InetAddress.getByName("122.24.1."); }
|
||||
catch (UnknownHostException e) {
|
||||
System.out.println("Passed bad IP test 1");
|
||||
}
|
||||
|
||||
try { addr = InetAddress.getByName("122.24.52"); }
|
||||
catch (UnknownHostException e) {
|
||||
System.out.println("Passed bad IP test 2");
|
||||
}
|
||||
|
||||
try { addr = InetAddress.getByName("122.256.52.1"); }
|
||||
catch (UnknownHostException e) {
|
||||
System.out.println("Passed bad IP test 3");
|
||||
}
|
||||
|
||||
/* Test simple lookup by name with external info */
|
||||
addr = InetAddress.getByName("www.starnews.com");
|
||||
System.out.println("Looked up host www.starnews.com and got back an " +
|
||||
"IP address of " + addr.getHostAddress());
|
||||
byte[] octets = addr.getAddress();
|
||||
System.out.println("Raw Address Bytes: octet1=" + (int)octets[0] +
|
||||
" octets2=" + (int)octets[1] + " octet3=" + (int)octets[2] +
|
||||
" octets4=" + (int)octets[3]);
|
||||
System.out.println("toString() returned: " + addr.toString());
|
||||
System.out.println("isMulticastAddress returned: "
|
||||
+ addr.isMulticastAddress());
|
||||
|
||||
/* Test complex lookup */
|
||||
System.out.println("Looking up all addresses for indiana.edu ...");
|
||||
InetAddress[] list = InetAddress.getAllByName("indiana.edu");
|
||||
for (int i = 0; i < list.length; i++)
|
||||
{
|
||||
addr = list[i];
|
||||
|
||||
System.out.println(" Hostname: " + addr.getHostName() +
|
||||
" IP Address: " + addr.getHostAddress());
|
||||
}
|
||||
|
||||
/* Test equality */
|
||||
InetAddress addr1 = InetAddress.getByName("www.urbanophile.com");
|
||||
InetAddress addr2 = InetAddress.getByName("www.urbanophile.com");
|
||||
|
||||
if (addr1.equals(addr2) && addr2.equals(addr1))
|
||||
System.out.println("Passed equality test #1");
|
||||
else
|
||||
System.out.println("Failed equality test #1");
|
||||
|
||||
addr1 = InetAddress.getByName("www.ac.com");
|
||||
addr2 = InetAddress.getByName("www.hungry.com");
|
||||
|
||||
if (!addr1.equals(addr2) && !addr2.equals(addr1))
|
||||
System.out.println("Passed equality test #2");
|
||||
else
|
||||
System.out.println("Failed equality test #2");
|
||||
|
||||
/* Quick test to see if it looks like we're caching things */
|
||||
addr1 = InetAddress.getByName("www.urbanophile.com");
|
||||
System.out.println("Got " + addr1.getHostName() + " " + addr1.getHostAddress());
|
||||
addr2 = InetAddress.getByName("www.hungry.com");
|
||||
System.out.println("Got " + addr2.getHostName() + " " + addr2.getHostAddress());
|
||||
}
|
||||
|
||||
}
|
||||
|
156
libjava/classpath/test/java.net/URLTest.java
Normal file
156
libjava/classpath/test/java.net/URLTest.java
Normal file
|
@ -0,0 +1,156 @@
|
|||
/* Test URL's */
|
||||
|
||||
import java.net.*;
|
||||
import java.io.*;
|
||||
|
||||
public class URLTest
|
||||
{
|
||||
|
||||
public static void
|
||||
main(String argv[])
|
||||
{
|
||||
System.out.println("Starting URL tests");
|
||||
|
||||
/* Simple URL test */
|
||||
|
||||
System.out.println("Test 1: Simple URL test");
|
||||
|
||||
try
|
||||
{
|
||||
URL url = new URL("http", "www.fsf.org", 80, "/");
|
||||
|
||||
if (!url.getProtocol().equals("http") ||
|
||||
!url.getHost().equals("www.fsf.org") ||
|
||||
url.getPort() != 80 ||
|
||||
!url.getFile().equals("/"))
|
||||
System.out.println("FAILED: Simple URL test");
|
||||
|
||||
System.out.println("URL is: " + url.toString());
|
||||
|
||||
URLConnection uc = url.openConnection();
|
||||
|
||||
if (uc instanceof HttpURLConnection)
|
||||
System.out.println("Got the expected connection type");
|
||||
|
||||
HttpURLConnection hc = (HttpURLConnection)uc;
|
||||
|
||||
hc.connect();
|
||||
|
||||
System.out.flush();
|
||||
System.out.println("Dumping response headers");
|
||||
for (int i = 0; ; i++)
|
||||
{
|
||||
String key = hc.getHeaderFieldKey(i);
|
||||
if (key == null)
|
||||
break;
|
||||
|
||||
System.out.println(key + ": " + hc.getHeaderField(i));
|
||||
}
|
||||
|
||||
System.out.flush();
|
||||
System.out.println("Dumping contents");
|
||||
|
||||
BufferedReader br = new BufferedReader(new
|
||||
InputStreamReader(hc.getInputStream()));
|
||||
|
||||
for (String str = br.readLine(); str != null; str = br.readLine())
|
||||
{
|
||||
System.out.println(str);
|
||||
}
|
||||
System.out.flush();
|
||||
|
||||
hc.disconnect();
|
||||
|
||||
System.out.println("Content Type: " + hc.getContentType());
|
||||
System.out.println("Content Encoding: " + hc.getContentEncoding());
|
||||
System.out.println("Content Length: " + hc.getContentLength());
|
||||
System.out.println("Date: " + hc.getDate());
|
||||
System.out.println("Expiration: " + hc.getExpiration());
|
||||
System.out.println("Last Modified: " + hc.getLastModified());
|
||||
|
||||
System.out.println("PASSED: Simple URL test");
|
||||
}
|
||||
catch(IOException e)
|
||||
{
|
||||
System.out.println("FAILED: Simple URL test: " + e);
|
||||
}
|
||||
|
||||
// Parsing test
|
||||
System.out.println("Test 2: URL parsing test");
|
||||
try
|
||||
{
|
||||
URL url = new URL("http://www.urbanophile.com/arenn/trans/trans.html#mis");
|
||||
if (!url.toString().equals(
|
||||
"http://www.urbanophile.com/arenn/trans/trans.html#mis"))
|
||||
System.out.println("FAILED: Parse URL test: " + url.toString());
|
||||
else {
|
||||
System.out.println("Parsed ok: " + url.toString());
|
||||
url = new URL("http://www.foo.com:8080/#");
|
||||
if (!url.toString().equals("http://www.foo.com:8080/#"))
|
||||
System.out.println("FAILED: Parse URL test: " + url.toString());
|
||||
else {
|
||||
System.out.println("Parsed ok: " + url.toString());
|
||||
url = new URL("http://www.bar.com/test:file/");
|
||||
if (!url.toString().equals("http://www.bar.com/test:file/"))
|
||||
System.out.println("FAILED: Parse URL test: " + url.toString());
|
||||
else {
|
||||
System.out.println("Parsed ok: " + url.toString());
|
||||
url = new URL("http://www.gnu.org");
|
||||
if (!url.toString().equals("http://www.gnu.org/"))
|
||||
System.out.println("FAILED: Parse URL test: " + url.toString());
|
||||
else {
|
||||
System.out.println("Parsed ok: " + url.toString());
|
||||
url = new URL("HTTP://www.fsf.org/");
|
||||
if (!url.toString().equals("http://www.fsf.org/"))
|
||||
System.out.println("FAILED: Parse URL test: " + url.toString());
|
||||
else {
|
||||
System.out.println("Parsed ok: " + url.toString());
|
||||
System.out.println("PASSED: URL parse test");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
System.out.println("FAILED: URL parsing test: " + e);
|
||||
}
|
||||
|
||||
// getContent test
|
||||
System.out.println("Test 3: getContent test");
|
||||
try
|
||||
{
|
||||
URL url = new URL("http://localhost/~arenn/services.txt");
|
||||
|
||||
Object obj = url.getContent();
|
||||
System.out.println("Object type is: " + obj.getClass().getName());
|
||||
|
||||
if (obj instanceof InputStream)
|
||||
{
|
||||
System.out.println("Got InputStream, so dumping contents");
|
||||
BufferedReader br = new BufferedReader(new
|
||||
InputStreamReader((InputStream)obj));
|
||||
|
||||
for (String str = br.readLine(); str != null; str = br.readLine())
|
||||
System.out.println(str);
|
||||
|
||||
br.close();
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println("FAILED: Object is not an InputStream");
|
||||
}
|
||||
|
||||
System.out.println("PASSED: getContent test");
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
System.out.println("FAILED: getContent test: " + e);
|
||||
}
|
||||
|
||||
System.out.println("URL test complete");
|
||||
}
|
||||
|
||||
}
|
||||
|
32
libjava/classpath/test/java.net/runtest
Executable file
32
libjava/classpath/test/java.net/runtest
Executable file
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh
|
||||
|
||||
echo "Running java.net tests"
|
||||
echo "I assume japhar is in /usr/local/japhar"
|
||||
echo "Please make sure background processes don't block on a tty write"
|
||||
echo "Please do an 'ifconfig multicast' and 'ifconfig allmulti' on your"
|
||||
echo "network interfaces"
|
||||
|
||||
export CLASSPATH=.:/usr/local/japhar/share
|
||||
export PATH=$PATH:/usr/local/japhar/bin
|
||||
|
||||
echo "Executing name lookup test ..."
|
||||
japhar TestNameLookups
|
||||
|
||||
echo "Executing stream socket tests ..."
|
||||
japhar ServerSocketTest &
|
||||
japhar ClientSocket
|
||||
|
||||
echo "Executing datagram socket tests ..."
|
||||
japhar ServerDatagram &
|
||||
japhar ClientDatagram
|
||||
|
||||
echo "Executing multicast socket tests ..."
|
||||
japhar MulticastServer &
|
||||
japhar MulticastClient
|
||||
|
||||
echo "Executing URL tests ..."
|
||||
japhar URLTest
|
||||
|
||||
echo "java.net Testing complete."
|
||||
exit 0
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue