From ed8efa75b416caca566140c734aee3e4627f2722 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Wed, 14 Jul 2021 14:35:39 +0900 Subject: [PATCH] Fix jarjar-related failures in coverage tests Instead of jarjaring the whole com.android.internal.util package, apply the jarjar rules per-class. Jarjaring the whole package causes problems in tests, as for example ConnectivityServiceTest depends on Vpn that uses other internal utils as hidden API, and these should not be jarjared. Also avoid jarjaring INetdUnsolicitedEventListener which is used by NetdEventListenerServiceTest, and ensure KeepalivePacketDataUtilTest expects the right package name in toString. Generally the problems appear because ConnectivityCoverageTests also includes tests for classes that are not part of the connectivity module, and use hidden APIs that refer to classes that should not be jarjared. Some of the tests could be excluded from the coverage suite instead, but keeping them is helpful for future modularization efforts. Test: Build service-connectivity, dexdump classes and verify jarjared atest ConnectivityCoverageTests Change-Id: Id6b7e6833d49fa03d9442d7c1c3e4dc16fb48dfc --- service/jarjar-rules.txt | 14 +++++++++++--- .../android/net/KeepalivePacketDataUtilTest.java | 4 ++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/service/jarjar-rules.txt b/service/jarjar-rules.txt index 2cd022071d..4ba6837c0a 100644 --- a/service/jarjar-rules.txt +++ b/service/jarjar-rules.txt @@ -2,12 +2,17 @@ rule android.sysprop.** com.android.connectivity.@0 rule com.android.net.module.util.** com.android.connectivity.@0 rule com.android.modules.utils.** com.android.connectivity.@0 -# internal util classes +# internal util classes from framework-connectivity-shared-srcs rule android.util.LocalLog* com.android.connectivity.@0 # android.util.IndentingPrintWriter* should use a different package name from # the one in com.android.internal.util rule android.util.IndentingPrintWriter* com.android.connectivity.@0 -rule com.android.internal.util.** 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 rule com.google.protobuf.** com.android.connectivity.@0 @@ -26,7 +31,10 @@ rule android.net.NetworkFactory* com.android.connectivity.@0 # From netd-client (newer AIDLs should go to android.net.netd.aidl) rule android.net.netd.aidl.** com.android.connectivity.@0 -rule android.net.INetd* com.android.connectivity.@0 +# Avoid including android.net.INetdEventCallback, used in tests but not part of the module +rule android.net.INetd com.android.connectivity.@0 +rule android.net.INetd$* com.android.connectivity.@0 +rule android.net.INetdUnsolicitedEventListener* com.android.connectivity.@0 rule android.net.InterfaceConfigurationParcel* com.android.connectivity.@0 rule android.net.MarkMaskParcel* com.android.connectivity.@0 rule android.net.NativeNetworkConfig* com.android.connectivity.@0 diff --git a/tests/unit/java/android/net/KeepalivePacketDataUtilTest.java b/tests/unit/java/android/net/KeepalivePacketDataUtilTest.java index ed4f61d5fe..8498b6f65b 100644 --- a/tests/unit/java/android/net/KeepalivePacketDataUtilTest.java +++ b/tests/unit/java/android/net/KeepalivePacketDataUtilTest.java @@ -168,8 +168,8 @@ public final class KeepalivePacketDataUtilTest { assertEquals(resultData.tos, tos); assertEquals(resultData.ttl, ttl); - final String expected = "" - + "android.net.TcpKeepalivePacketDataParcelable{srcAddress: [10, 0, 0, 1]," + final String expected = TcpKeepalivePacketDataParcelable.class.getName() + + "{srcAddress: [10, 0, 0, 1]," + " srcPort: 1234, dstAddress: [10, 0, 0, 5], dstPort: 4321, seq: 286331153," + " ack: 572662306, rcvWnd: 48000, rcvWndScale: 2, tos: 4, ttl: 64}"; assertEquals(expected, resultData.toString());