Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 33 additions & 32 deletions test/jdk/java/net/DatagramPacket/Constructor.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -25,18 +25,19 @@
* @bug 4091803 7021373
* @summary this tests that the constructor of DatagramPacket rejects
* bogus arguments properly.
* @run testng Constructor
* @run junit ${test.main.class}
*/

import java.net.DatagramPacket;
import java.net.InetAddress;
import java.net.InetSocketAddress;

import org.testng.annotations.Test;

import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertTrue;
import static org.testng.Assert.expectThrows;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertThrows;

public class Constructor {

Expand All @@ -48,50 +49,48 @@ public class Constructor {

@Test
public void testNullPacket() {
expectThrows(NPE,
assertThrows(NPE,
() -> new DatagramPacket(null, 100));
}
@Test
public void testNull() throws Exception {
expectThrows(NPE, () -> new DatagramPacket(null, 100));
expectThrows(NPE, () -> new DatagramPacket(null, 0, 10));
expectThrows(NPE, () -> new DatagramPacket(null, 0, 10, LOOPBACK, 80));
expectThrows(NPE, () -> new DatagramPacket(null, 10, LOOPBACK, 80));
expectThrows(NPE, () -> new DatagramPacket(null, 0, 10, new InetSocketAddress(80)));
expectThrows(NPE, () -> new DatagramPacket(null, 10, new InetSocketAddress(80)));
assertThrows(NPE, () -> new DatagramPacket(null, 100));
assertThrows(NPE, () -> new DatagramPacket(null, 0, 10));
assertThrows(NPE, () -> new DatagramPacket(null, 0, 10, LOOPBACK, 80));
assertThrows(NPE, () -> new DatagramPacket(null, 10, LOOPBACK, 80));
assertThrows(NPE, () -> new DatagramPacket(null, 0, 10, new InetSocketAddress(80)));
assertThrows(NPE, () -> new DatagramPacket(null, 10, new InetSocketAddress(80)));

// no Exception expected for null addresses
new DatagramPacket(buf, 10, null, 0);
new DatagramPacket(buf, 10, 10, null, 0);
assertDoesNotThrow(() -> new DatagramPacket(buf, 10, null, 0));
assertDoesNotThrow(() -> new DatagramPacket(buf, 10, 10, null, 0));
}

@Test
public void testNegativeBufferLength() {
/* length lesser than buffer length */
expectThrows(IAE,
() -> new DatagramPacket(buf, -128));
assertThrows(IAE, () -> new DatagramPacket(buf, -128));
}

@Test
public void testPacketLengthTooLarge() {
/* length greater than buffer length */
expectThrows(IAE,
() -> new DatagramPacket(buf, 256));
assertThrows(IAE, () -> new DatagramPacket(buf, 256));
}

@Test
public void testNegativePortValue() throws Exception {
/* negative port */
InetAddress addr = InetAddress.getLocalHost();

expectThrows(IAE,
assertThrows(IAE,
() -> new DatagramPacket(buf, 100, addr, -1));
}

@Test
public void testPortValueTooLarge() {
/* invalid port value */
expectThrows(IAE,
assertThrows(IAE,
() -> new DatagramPacket(buf, 128, LOOPBACK, Integer.MAX_VALUE));
}

Expand All @@ -101,8 +100,9 @@ public void testSimpleConstructor() {
int length = 50;
DatagramPacket pkt = new DatagramPacket(buf, offset, length);

assertFalse((pkt.getData() != buf || pkt.getOffset() != offset ||
pkt.getLength() != length), "simple constructor failed");
assertSame(buf, pkt.getData());
assertEquals(offset, pkt.getOffset());
assertEquals(length, pkt.getLength());
}

@Test
Expand All @@ -112,20 +112,21 @@ public void testFullConstructor() {
int port = 8080;
DatagramPacket packet = new DatagramPacket(buf, offset, length, LOOPBACK, port);

assertFalse((packet.getData() != buf || packet.getOffset() != offset ||
packet.getLength() != length ||
packet.getAddress() != LOOPBACK ||
packet.getPort() != port), "full constructor failed");
assertSame(buf, packet.getData());
assertEquals(offset, packet.getOffset());
assertEquals(length, packet.getLength());
assertSame(LOOPBACK, packet.getAddress());
assertEquals(port, packet.getPort());
}

@Test
public void testDefaultValues() {
DatagramPacket packet = new DatagramPacket(buf, 0);
assertTrue(packet.getAddress() == null);
assertTrue(packet.getPort() == 0);
assertNull(packet.getAddress());
assertEquals(0, packet.getPort());

DatagramPacket packet1 = new DatagramPacket(buf, 0, 0);
assertTrue(packet1.getAddress() == null);
assertTrue(packet1.getPort() == 0);
assertNull(packet1.getAddress());
assertEquals(0, packet1.getPort());
}
}
12 changes: 6 additions & 6 deletions test/jdk/java/net/DatagramPacket/Getters.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -24,15 +24,15 @@
/* @test
* @bug 8237890
* @summary Check that DatagramPacket's get methods perform as expected
* @run testng Getters
* @run junit ${test.main.class}
*/

import org.testng.annotations.Test;

import java.net.DatagramPacket;
import java.net.InetSocketAddress;

import static org.testng.Assert.assertTrue;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class Getters {

Expand All @@ -42,6 +42,6 @@ public void testDefaultGetSocketAddress() {
InetSocketAddress addr = (InetSocketAddress)packet.getSocketAddress();

assertTrue(addr.getAddress().isAnyLocalAddress());
assertTrue(addr.getPort() == 0);
assertEquals(0, addr.getPort());
}
}
52 changes: 27 additions & 25 deletions test/jdk/java/net/DatagramPacket/Setters.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -25,17 +25,19 @@
* @bug 7021373
* @summary check that the DatagramPacket setter methods
* throw the correct exceptions
* @run testng Setters
* @run junit ${test.main.class}
*/


import java.net.DatagramPacket;

import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import static org.testng.Assert.assertTrue;
import static org.testng.Assert.expectThrows;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class Setters {

Expand All @@ -50,11 +52,10 @@ public void testSetAddress() throws Exception {

// No Exception expected for null addresses
pkt.setAddress(null);
assertTrue(pkt.getAddress() == null);
assertNull(pkt.getAddress());
}

@DataProvider
Object[][] data() { // add checks for setAddress with null - add getAddress to verify
static Object[][] data() { // add checks for setAddress with null - add getAddress to verify
return new Object[][]{
{ buf, 0, -1, IAE },
{ buf, -1, 1, IAE },
Expand All @@ -66,24 +67,24 @@ Object[][] data() { // add checks for setAddress with null - add getAddress to v
};
}

@Test(dataProvider = "data")
@ParameterizedTest
@MethodSource("data")
public void testSetData(byte[] buf,
int offset,
int length,
Class<? extends Exception> exception) {
DatagramPacket pkt = new DatagramPacket(new byte[8], 8);


if (exception != null) {
expectThrows(exception, () -> pkt.setData(buf, offset, length));
} else if (buf == null) {
expectThrows(exception, () -> pkt.setData(buf));
assertThrows(exception, () -> pkt.setData(buf, offset, length));
if (buf == null) assertThrows(exception, () -> pkt.setData(buf));
} else {
pkt.setData(buf, offset, length);
assertDoesNotThrow(() -> pkt.setData(buf, offset, length));
}
}

@DataProvider
Object[][] lengths() {
static Object[][] lengths() {
return new Object[][]{
{ 0, -1, IAE },
{ 8, 1, IAE },
Expand All @@ -94,20 +95,20 @@ Object[][] lengths() {
};
}

@Test(dataProvider = "lengths")
@ParameterizedTest
@MethodSource("lengths")
public void testSetLength(int offset, int length,
Class<? extends Exception> exception) {
DatagramPacket pkt = new DatagramPacket(new byte[8], offset, 0);

if (exception != null) {
expectThrows(exception, () -> pkt.setLength(length));
assertThrows(exception, () -> pkt.setLength(length));
} else {
pkt.setLength(length);
assertDoesNotThrow(() -> pkt.setLength(length));
}
}

@DataProvider
Object[][] ports() {
static Object[][] ports() {
return new Object[][]{
{ -1, IAE },
{ -666, IAE },
Expand All @@ -122,14 +123,15 @@ Object[][] ports() {
};
}

@Test(dataProvider = "ports")
@ParameterizedTest
@MethodSource("ports")
public void testSetPort(int port, Class<? extends Exception> exception) {
DatagramPacket pkt = new DatagramPacket(new byte[8], 0);

if (exception != null) {
expectThrows(exception, () -> pkt.setPort(port));
assertThrows(exception, () -> pkt.setPort(port));
} else {
pkt.setPort(port);
assertDoesNotThrow(() -> pkt.setPort(port));
}
}
}
48 changes: 24 additions & 24 deletions test/jdk/java/net/InetAddress/HostsFileOrderingTest.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2020, 2026, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -34,9 +34,9 @@

import jdk.test.lib.net.IPSupport;

import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.testng.Assert;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.fail;


/* @test
Expand All @@ -46,32 +46,32 @@
* @summary Test that "jdk.net.hosts.file" NameService implementation returns addresses
* with respect to "java.net.preferIPv4Stack" and "java.net.preferIPv6Addresses" system
* property values
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=true HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=system HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=notVALID HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=false HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=system HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=notVALID HostsFileOrderingTest
* @run testng/othervm -Djdk.net.hosts.file=TestHostsFile.txt HostsFileOrderingTest
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=true ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=false ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=system ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv6Addresses=notVALID ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=true ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=false ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=system ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt
* -Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6Addresses=notVALID ${test.main.class}
* @run junit/othervm -Djdk.net.hosts.file=TestHostsFile.txt ${test.main.class}
*/

public class HostsFileOrderingTest {

/*
* Generate hosts file with the predefined list of IP addresses
*/
@BeforeClass
public void generateHostsFile() throws Exception {
@BeforeAll
public static void generateHostsFile() throws Exception {
String content = ADDRESSES_LIST.stream()
.map(addr -> addr + " " + TEST_HOST_NAME)
.collect(
Expand All @@ -97,7 +97,7 @@ public void testOrdering() throws Exception {
} else {
System.err.printf("Expected addresses:%n%s%n", Arrays.deepToString(expectedAddresses));
System.err.printf("Resolved addresses:%n%s%n", Arrays.deepToString(resolvedAddresses));
Assert.fail("Wrong host resolution result is returned");
fail("Wrong host resolution result is returned");
}
}

Expand Down
Loading