Merge "Add tests for DhcpErrorEvent"
This commit is contained in:
@@ -18,7 +18,7 @@
|
|||||||
// They must be fast and stable, and exercise public or test APIs.
|
// They must be fast and stable, and exercise public or test APIs.
|
||||||
java_library {
|
java_library {
|
||||||
name: "FrameworksNetCommonTests",
|
name: "FrameworksNetCommonTests",
|
||||||
srcs: ["java/**/*.java"],
|
srcs: ["java/**/*.java", "java/**/*.kt"],
|
||||||
static_libs: [
|
static_libs: [
|
||||||
"androidx.test.rules",
|
"androidx.test.rules",
|
||||||
"frameworks-net-testutils",
|
"frameworks-net-testutils",
|
||||||
|
|||||||
@@ -868,12 +868,12 @@ public class LinkPropertiesTest {
|
|||||||
|
|
||||||
source.setNat64Prefix(new IpPrefix("2001:db8:1:2:64:64::/96"));
|
source.setNat64Prefix(new IpPrefix("2001:db8:1:2:64:64::/96"));
|
||||||
|
|
||||||
TestUtils.assertParcelingIsLossless(source, LinkProperties.CREATOR);
|
TestUtils.assertParcelingIsLossless(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testParcelUninitialized() throws Exception {
|
public void testParcelUninitialized() throws Exception {
|
||||||
LinkProperties empty = new LinkProperties();
|
LinkProperties empty = new LinkProperties();
|
||||||
TestUtils.assertParcelingIsLossless(empty, LinkProperties.CREATOR);
|
TestUtils.assertParcelingIsLossless(empty);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class ApfCapabilitiesTest {
|
|||||||
final ApfCapabilities caps = new ApfCapabilities(123, 456, 789);
|
final ApfCapabilities caps = new ApfCapabilities(123, 456, 789);
|
||||||
ParcelableTestUtil.assertFieldCountEquals(3, ApfCapabilities.class);
|
ParcelableTestUtil.assertFieldCountEquals(3, ApfCapabilities.class);
|
||||||
|
|
||||||
TestUtils.assertParcelingIsLossless(caps, ApfCapabilities.CREATOR);
|
TestUtils.assertParcelingIsLossless(caps);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
package android.net.metrics
|
||||||
|
|
||||||
|
import android.net.metrics.DhcpErrorEvent.errorCodeWithOption
|
||||||
|
import android.net.metrics.DhcpErrorEvent.DHCP_INVALID_OPTION_LENGTH
|
||||||
|
import androidx.test.filters.SmallTest
|
||||||
|
import androidx.test.runner.AndroidJUnit4
|
||||||
|
import com.android.internal.util.TestUtils.parcelingRoundTrip
|
||||||
|
import java.lang.reflect.Modifier
|
||||||
|
import org.junit.Assert.assertEquals
|
||||||
|
import org.junit.Assert.assertNotNull
|
||||||
|
import org.junit.Assert.assertTrue
|
||||||
|
import org.junit.Test
|
||||||
|
import org.junit.runner.RunWith
|
||||||
|
|
||||||
|
private const val TEST_ERROR_CODE = 12345
|
||||||
|
/**
|
||||||
|
* DHCP Optional Type: DHCP Subnet Mask (Copy from DhcpPacket.java)
|
||||||
|
*/
|
||||||
|
private const val DHCP_SUBNET_MASK = 1
|
||||||
|
|
||||||
|
@RunWith(AndroidJUnit4::class)
|
||||||
|
@SmallTest
|
||||||
|
class DhcpErrorEventTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testConstructor() {
|
||||||
|
val event = DhcpErrorEvent(TEST_ERROR_CODE)
|
||||||
|
assertEquals(TEST_ERROR_CODE, event.errorCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testParcelUnparcel() {
|
||||||
|
val event = DhcpErrorEvent(TEST_ERROR_CODE)
|
||||||
|
val parceled = parcelingRoundTrip(event)
|
||||||
|
assertEquals(TEST_ERROR_CODE, parceled.errorCode)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testErrorCodeWithOption() {
|
||||||
|
val errorCode = errorCodeWithOption(DHCP_INVALID_OPTION_LENGTH, DHCP_SUBNET_MASK);
|
||||||
|
assertTrue((DHCP_INVALID_OPTION_LENGTH and errorCode) == DHCP_INVALID_OPTION_LENGTH);
|
||||||
|
assertTrue((DHCP_SUBNET_MASK and errorCode) == DHCP_SUBNET_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testToString() {
|
||||||
|
val names = listOf("L2_ERROR", "L3_ERROR", "L4_ERROR", "DHCP_ERROR", "MISC_ERROR")
|
||||||
|
val errorFields = DhcpErrorEvent::class.java.declaredFields.filter {
|
||||||
|
it.type == Int::class.javaPrimitiveType
|
||||||
|
&& Modifier.isPublic(it.modifiers) && Modifier.isStatic(it.modifiers)
|
||||||
|
&& it.name !in names
|
||||||
|
}
|
||||||
|
|
||||||
|
errorFields.forEach {
|
||||||
|
val intValue = it.getInt(null)
|
||||||
|
val stringValue = DhcpErrorEvent(intValue).toString()
|
||||||
|
assertTrue("Invalid string for error 0x%08X (field %s): %s".format(intValue, it.name,
|
||||||
|
stringValue),
|
||||||
|
stringValue.contains(it.name))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testToString_InvalidErrorCode() {
|
||||||
|
assertNotNull(DhcpErrorEvent(TEST_ERROR_CODE).toString())
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -79,7 +79,7 @@ public final class TcpKeepalivePacketDataTest {
|
|||||||
assertEquals(testInfo.tos, resultData.ipTos);
|
assertEquals(testInfo.tos, resultData.ipTos);
|
||||||
assertEquals(testInfo.ttl, resultData.ipTtl);
|
assertEquals(testInfo.ttl, resultData.ipTtl);
|
||||||
|
|
||||||
TestUtils.assertParcelingIsLossless(resultData, TcpKeepalivePacketData.CREATOR);
|
TestUtils.assertParcelingIsLossless(resultData);
|
||||||
|
|
||||||
final byte[] packet = resultData.getPacket();
|
final byte[] packet = resultData.getPacket();
|
||||||
// IP version and IHL
|
// IP version and IHL
|
||||||
|
|||||||
Reference in New Issue
Block a user