diff options
author | Remi NGUYEN VAN <reminv@google.com> | 2020-05-15 08:21:05 +0000 |
---|---|---|
committer | Remi NGUYEN VAN <reminv@google.com> | 2020-05-15 10:49:34 +0000 |
commit | 9eb5c2c37c3a6ee41fbe7735c343f569c775ced7 (patch) | |
tree | 0560fee06d9bf5c7a3380486662bb5a568549966 /src | |
parent | 473501ff1662c4f5a35f5d4e0b39e4a6e3c86e66 (diff) |
Do not mock shim in TcpSocketTrackerTest
Instead of mocking the shim, the test needs to run only on platforms
that support the feature, and can provide test versions of the
underlying objects (here Network).
Also move the SDK version check to TcpSocketTracker itself, as users of
TcpSocketTracker should not be able to set isTcpInfoParsingSupported to
true on Q.
Bug: 143586229
Test: atest NetworkStackTests NetworkStackNextTests on Q and R
Change-Id: I580ae9ded468d3f08da336b160596484938bf2a5
Merged-In: I580ae9ded468d3f08da336b160596484938bf2a5
(cherry picked from commit 3ad1d5f0fbfff40d3dc66c3c68f103a9b2d3f5ef)
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/networkstack/netlink/TcpSocketTracker.java | 8 | ||||
-rwxr-xr-x | src/com/android/server/connectivity/NetworkMonitor.java | 3 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/com/android/networkstack/netlink/TcpSocketTracker.java b/src/com/android/networkstack/netlink/TcpSocketTracker.java index 51b23fd..ef33f13 100644 --- a/src/com/android/networkstack/netlink/TcpSocketTracker.java +++ b/src/com/android/networkstack/netlink/TcpSocketTracker.java @@ -49,6 +49,7 @@ import android.net.netlink.StructNlMsgHdr; import android.net.util.NetworkStackUtils; import android.net.util.SocketUtils; import android.os.AsyncTask; +import android.os.Build; import android.os.IBinder; import android.os.RemoteException; import android.os.SystemClock; @@ -65,6 +66,7 @@ import androidx.annotation.Nullable; import com.android.internal.annotations.VisibleForTesting; import com.android.networkstack.apishim.NetworkShimImpl; +import com.android.networkstack.apishim.common.ShimUtils; import com.android.networkstack.apishim.common.UnsupportedApiLevelException; import java.io.FileDescriptor; @@ -523,11 +525,9 @@ public class TcpSocketTracker { @VisibleForTesting public static class Dependencies { private final Context mContext; - private final boolean mIsTcpInfoParsingSupported; - public Dependencies(final Context context, final boolean tcpSupport) { + public Dependencies(final Context context) { mContext = context; - mIsTcpInfoParsingSupported = tcpSupport; } /** @@ -578,7 +578,7 @@ public class TcpSocketTracker { public boolean isTcpInfoParsingSupported() { // Request tcp info from NetworkStack directly needs extra SELinux permission added // after Q release. - return mIsTcpInfoParsingSupported; + return ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.Q); } /** diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java index 61dece0..7fb6761 100755 --- a/src/com/android/server/connectivity/NetworkMonitor.java +++ b/src/com/android/server/connectivity/NetworkMonitor.java @@ -3374,8 +3374,7 @@ public class NetworkMonitor extends StateMachine { CONFIG_DATA_STALL_EVALUATION_TYPE, DEFAULT_DATA_STALL_EVALUATION_TYPES) & DATA_STALL_EVALUATION_TYPE_TCP) != 0) - ? new TcpSocketTracker(new TcpSocketTracker.Dependencies(context, - ShimUtils.isReleaseOrDevelopmentApiAbove(Build.VERSION_CODES.Q)), network) + ? new TcpSocketTracker(new TcpSocketTracker.Dependencies(context), network) : null; } |