diff --git a/service/Android.bp b/service/Android.bp index 3ff7a7c23d..02717f7be7 100644 --- a/service/Android.bp +++ b/service/Android.bp @@ -68,7 +68,6 @@ java_library { "dnsresolver_aidl_interface-V9-java", "modules-utils-build", "modules-utils-shell-command-handler", - "modules-utils-statemachine", "net-utils-device-common", "net-utils-device-common-netlink", "net-utils-framework-common", diff --git a/service/jarjar-rules.txt b/service/jarjar-rules.txt index 4ba6837c0a..e5d1a88edf 100644 --- a/service/jarjar-rules.txt +++ b/service/jarjar-rules.txt @@ -8,10 +8,7 @@ rule android.util.LocalLog* com.android.connectivity.@0 # the one in com.android.internal.util rule android.util.IndentingPrintWriter* com.android.connectivity.@0 rule com.android.internal.util.IndentingPrintWriter* com.android.connectivity.@0 -rule com.android.internal.util.IState* com.android.connectivity.@0 rule com.android.internal.util.MessageUtils* com.android.connectivity.@0 -rule com.android.internal.util.State* com.android.connectivity.@0 -rule com.android.internal.util.StateMachine* com.android.connectivity.@0 rule com.android.internal.util.WakeupMessage* com.android.connectivity.@0 rule com.android.internal.messages.** com.android.connectivity.@0 diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp index 448869ddc5..bd30b77c6f 100644 --- a/tests/unit/Android.bp +++ b/tests/unit/Android.bp @@ -93,6 +93,17 @@ filegroup { ] } +// Subset of services-core used to by ConnectivityService tests to test VPN realistically. +// This is stripped by jarjar (see rules below) from other unrelated classes, so tests do not +// include most classes from services-core, which are unrelated and cause wrong code coverage +// calculations. +java_library { + name: "services.core-vpn", + static_libs: ["services.core"], + jarjar_rules: "vpn-jarjar-rules.txt", + visibility: ["//visibility:private"], +} + android_library { name: "FrameworksNetTestsLib", min_sdk_version: "30", @@ -116,11 +127,11 @@ android_library { "framework-protos", "mockito-target-minus-junit4", "net-tests-utils", + "net-utils-services-common", "platform-compat-test-rules", "platform-test-annotations", "service-connectivity-pre-jarjar", - "services.core", - "services.net", + "services.core-vpn", ], libs: [ "android.net.ipsec.ike.stubs.module_lib", @@ -144,6 +155,8 @@ android_test { srcs: [":non-connectivity-module-test"], test_suites: ["device-tests"], static_libs: [ + "services.core", + "services.net", "FrameworksNetTestsLib", ], libs: [ diff --git a/tests/unit/vpn-jarjar-rules.txt b/tests/unit/vpn-jarjar-rules.txt new file mode 100644 index 0000000000..16661b9ac3 --- /dev/null +++ b/tests/unit/vpn-jarjar-rules.txt @@ -0,0 +1,4 @@ +# Only keep classes imported by ConnectivityServiceTest +keep com.android.server.VpnManagerService +keep com.android.server.connectivity.Vpn +keep com.android.server.connectivity.VpnProfileStore \ No newline at end of file