diff --git a/Tethering/tests/Android.bp b/Tethering/tests/Android.bp index 8f31c577a6..72ca666638 100644 --- a/Tethering/tests/Android.bp +++ b/Tethering/tests/Android.bp @@ -22,7 +22,7 @@ filegroup { name: "TetheringTestsJarJarRules", srcs: ["jarjar-rules.txt"], visibility: [ - "//frameworks/base/packages/Tethering/tests:__subpackages__", + "//packages/modules/Connectivity/tests:__subpackages__", "//packages/modules/Connectivity/Tethering/tests:__subpackages__", ] } diff --git a/Tethering/tests/integration/Android.bp b/Tethering/tests/integration/Android.bp index e807613ecd..b93a969059 100644 --- a/Tethering/tests/integration/Android.bp +++ b/Tethering/tests/integration/Android.bp @@ -78,9 +78,27 @@ android_test { compile_multilib: "both", } +android_library { + name: "TetheringCoverageTestsLib", + min_sdk_version: "30", + static_libs: [ + "NetdStaticLibTestsLib", + "NetworkStaticLibTestsLib", + "NetworkStackTestsLib", + "TetheringTestsLatestSdkLib", + "TetheringIntegrationTestsLatestSdkLib", + ], + jarjar_rules: ":TetheringTestsJarJarRules", + manifest: "AndroidManifest_coverage.xml", + visibility: [ + "//packages/modules/Connectivity/tests:__subpackages__" + ], +} + // Special version of the tethering tests that includes all tests necessary for code coverage // purposes. This is currently the union of TetheringTests, TetheringIntegrationTests and // NetworkStackTests. +// TODO: remove in favor of ConnectivityCoverageTests, which includes below tests and more android_test { name: "TetheringCoverageTests", platform_apis: true, @@ -91,11 +109,7 @@ android_test { defaults: ["libnetworkstackutilsjni_deps"], static_libs: [ "modules-utils-native-coverage-listener", - "NetdStaticLibTestsLib", - "NetworkStaticLibTestsLib", - "NetworkStackTestsLib", - "TetheringTestsLatestSdkLib", - "TetheringIntegrationTestsLatestSdkLib", + "TetheringCoverageTestsLib", ], jni_libs: [ // For mockito extended diff --git a/Tethering/tests/unit/Android.bp b/Tethering/tests/unit/Android.bp index 1233345477..0eb682bcbc 100644 --- a/Tethering/tests/unit/Android.bp +++ b/Tethering/tests/unit/Android.bp @@ -77,7 +77,6 @@ java_defaults { "libstaticjvmtiagent", "libtetherutilsjni", ], - jarjar_rules: ":TetheringTestsJarJarRules", } // Library containing the unit tests. This is used by the coverage test target to pull in the @@ -102,4 +101,5 @@ android_test { ], defaults: ["TetheringTestsDefaults"], compile_multilib: "both", + jarjar_rules: ":TetheringTestsJarJarRules", } diff --git a/service/Android.bp b/service/Android.bp index c4fac9059b..9cf1b091d9 100644 --- a/service/Android.bp +++ b/service/Android.bp @@ -112,3 +112,9 @@ java_library { "com.android.tethering", ], } + +filegroup { + name: "connectivity-jarjar-rules", + srcs: ["jarjar-rules.txt"], + visibility: ["//packages/modules/Connectivity:__subpackages__"], +} diff --git a/tests/common/Android.bp b/tests/common/Android.bp index 8be8ea180a..e1fab094f8 100644 --- a/tests/common/Android.bp +++ b/tests/common/Android.bp @@ -43,6 +43,23 @@ java_library { ], } +// Connectivity coverage tests combines Tethering and Connectivity tests, each with their +// respective jarjar rules applied. +// Some tests may be duplicated (in particular static lib tests), as they need to be run under both +// jarjared packages to cover both usages. +android_library { + name: "ConnectivityCoverageTestsLib", + min_sdk_version: "30", + static_libs: [ + "FrameworksNetTestsLib", + "NetdStaticLibTestsLib", + "NetworkStaticLibTestsLib", + ], + jarjar_rules: ":connectivity-jarjar-rules", + manifest: "AndroidManifest_coverage.xml", + visibility: ["//visibility:private"], +} + android_test { name: "ConnectivityCoverageTests", // Tethering started on SDK 30 @@ -62,13 +79,9 @@ android_test { // (some tests would fail). // TODO: consider removing extended mockito usage in tests that use it, for performance "mockito-target-extended-minus-junit4", - "FrameworksNetTestsLib", "modules-utils-native-coverage-listener", - "NetdStaticLibTestsLib", - "NetworkStaticLibTestsLib", - "NetworkStackTestsLib", - "TetheringTestsLatestSdkLib", - "TetheringIntegrationTestsLatestSdkLib", + "ConnectivityCoverageTestsLib", + "TetheringCoverageTestsLib", ], jni_libs: [ // For mockito extended diff --git a/tests/common/java/android/net/metrics/IpConnectivityLogTest.java b/tests/common/java/android/net/metrics/IpConnectivityLogTest.java index d4780d3a5d..ab97f2d1d0 100644 --- a/tests/common/java/android/net/metrics/IpConnectivityLogTest.java +++ b/tests/common/java/android/net/metrics/IpConnectivityLogTest.java @@ -19,6 +19,8 @@ package android.net.metrics; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; +import static com.android.net.module.util.NetworkCapabilitiesUtils.unpackBits; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.timeout; @@ -31,8 +33,6 @@ import android.net.Network; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; -import com.android.internal.util.BitUtils; - import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -49,7 +49,7 @@ import java.util.List; @SmallTest public class IpConnectivityLogTest { private static final int FAKE_NET_ID = 100; - private static final int[] FAKE_TRANSPORT_TYPES = BitUtils.unpackBits(TRANSPORT_WIFI); + private static final int[] FAKE_TRANSPORT_TYPES = unpackBits(TRANSPORT_WIFI); private static final long FAKE_TIME_STAMP = System.currentTimeMillis(); private static final String FAKE_INTERFACE_NAME = "test"; private static final IpReachabilityEvent FAKE_EV =