From 2bc22844e8c8deab8d956be1c1bc6395dbd733b7 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Wed, 3 Jun 2020 00:38:34 +0000 Subject: [PATCH 1/2] Skip Ikev2VpnTest on Q The Ikev2 VPN feature was introduced in R. Bug: 150904735 Test: atest CtsNetTestCasesLatestSdk:Ikev2VpnTest Original-Change: https://android-review.googlesource.com/1322414 Merged-In: I51ded6e967291c110ff0bbd18a3631ab9a742e74 Change-Id: I51ded6e967291c110ff0bbd18a3631ab9a742e74 --- tests/cts/net/src/android/net/cts/Ikev2VpnTest.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java b/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java index 5cc0cb4128..dff2581118 100644 --- a/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java +++ b/tests/cts/net/src/android/net/cts/Ikev2VpnTest.java @@ -46,13 +46,15 @@ import android.net.TestNetworkInterface; import android.net.TestNetworkManager; import android.net.VpnManager; import android.net.cts.util.CtsNetUtils; +import android.os.Build; import android.platform.test.annotations.AppModeFull; import androidx.test.InstrumentationRegistry; -import androidx.test.runner.AndroidJUnit4; import com.android.internal.util.HexDump; import com.android.org.bouncycastle.x509.X509V1CertificateGenerator; +import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo; +import com.android.testutils.DevSdkIgnoreRunner; import org.junit.Test; import org.junit.runner.RunWith; @@ -70,7 +72,8 @@ import java.util.concurrent.TimeUnit; import javax.security.auth.x500.X500Principal; -@RunWith(AndroidJUnit4.class) +@RunWith(DevSdkIgnoreRunner.class) +@IgnoreUpTo(Build.VERSION_CODES.Q) @AppModeFull(reason = "Appops state changes disallowed for instant apps (OP_ACTIVATE_PLATFORM_VPN)") public class Ikev2VpnTest { private static final String TAG = Ikev2VpnTest.class.getSimpleName(); From 6566ca3d0aed16d54eb531255b81de298870cd99 Mon Sep 17 00:00:00 2001 From: Treehugger Robot Date: Wed, 3 Jun 2020 00:38:46 +0000 Subject: [PATCH 2/2] Remove dependency on kotlin-reflect While local runs pass, kotlin-reflect.jar is not found on the test infrastructure. Depending on that library does not make the test much more simple. Bug: 156062304 Test: atest CtsNetTestCasesLatestSdk:CaptivePortalApiTest Original-Change: https://android-review.googlesource.com/1322415 Merged-In: I6691a07ef8d6c63e68cb78813a5e3e499ef897df Change-Id: I6691a07ef8d6c63e68cb78813a5e3e499ef897df --- .../net/src/android/net/cts/CaptivePortalApiTest.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt b/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt index 40d0ca65c7..68d5281650 100644 --- a/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt +++ b/tests/cts/net/src/android/net/cts/CaptivePortalApiTest.kt @@ -61,7 +61,6 @@ import org.junit.runner.RunWith import java.net.Inet4Address import java.util.concurrent.ArrayBlockingQueue import java.util.concurrent.TimeUnit -import kotlin.reflect.KClass import kotlin.test.assertEquals import kotlin.test.assertNotNull import kotlin.test.assertTrue @@ -90,7 +89,7 @@ class CaptivePortalApiTest { private val eth by lazy { context.assertHasService(EthernetManager::class.java) } private val cm by lazy { context.assertHasService(ConnectivityManager::class.java) } - private val handlerThread = HandlerThread(CaptivePortalApiTest::class.simpleName) + private val handlerThread = HandlerThread(CaptivePortalApiTest::class.java.simpleName) private val serverIpAddr = InetAddresses.parseNumericAddress("192.0.2.222") as Inet4Address private val clientIpAddr = InetAddresses.parseNumericAddress("192.0.2.111") as Inet4Address private val httpServer = HttpServer() @@ -155,11 +154,11 @@ class CaptivePortalApiTest { fun testApiCallbacks() { // Handle the DHCP handshake that includes the capport API URL val discover = reader.assertDhcpPacketReceived( - DhcpDiscoverPacket::class, TEST_TIMEOUT_MS, DHCP_MESSAGE_TYPE_DISCOVER) + DhcpDiscoverPacket::class.java, TEST_TIMEOUT_MS, DHCP_MESSAGE_TYPE_DISCOVER) reader.sendResponse(makeOfferPacket(discover.clientMac, discover.transactionId)) val request = reader.assertDhcpPacketReceived( - DhcpRequestPacket::class, TEST_TIMEOUT_MS, DHCP_MESSAGE_TYPE_REQUEST) + DhcpRequestPacket::class.java, TEST_TIMEOUT_MS, DHCP_MESSAGE_TYPE_REQUEST) assertEquals(discover.transactionId, request.transactionId) assertEquals(clientIpAddr, request.mRequestedIp) reader.sendResponse(makeAckPacket(request.clientMac, request.transactionId)) @@ -244,7 +243,7 @@ private class HttpServer : NanoHTTPD("localhost", 0 /* auto-select the port */) } private fun TapPacketReader.assertDhcpPacketReceived( - packetType: KClass, + packetType: Class, timeoutMs: Long, type: Byte ): T { @@ -254,7 +253,7 @@ private fun TapPacketReader.assertDhcpPacketReceived( val packet = DhcpPacket.decodeFullPacket(packetBytes, packetBytes.size, DhcpPacket.ENCAP_L2) assertTrue(packetType.isInstance(packet), "Expected ${packetType.simpleName} but got ${packet.javaClass.simpleName}") - return packetType.java.cast(packet) + return packetType.cast(packet) } private fun Context.assertHasService(manager: Class): T {