diff options
| author | 2018-11-08 12:38:22 +0000 | |
|---|---|---|
| committer | 2018-11-08 12:38:22 +0000 | |
| commit | aef8fe0d4792d3f3cfc6fd76a06f41be843b5af5 (patch) | |
| tree | ca8643370fa7f4bd46674170802f1d5fc7bfb0a3 | |
| parent | 9d4ebdf379833d4e612dbbaf1ce6f260a15064bd (diff) | |
| parent | 88b8f6360ad2d85e0e6bbc87bad1d76fbed17719 (diff) | |
Merge "Add skip464xlat test in Nat464XlatTest"
3 files changed, 18 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/connectivity/Nat464Xlat.java b/services/core/java/com/android/server/connectivity/Nat464Xlat.java index f96f6e87a9e3..6596d27d021e 100644 --- a/services/core/java/com/android/server/connectivity/Nat464Xlat.java +++ b/services/core/java/com/android/server/connectivity/Nat464Xlat.java @@ -94,7 +94,7 @@ public class Nat464Xlat extends BaseNetworkObserver { final boolean hasIPv4Address = (nai.linkProperties != null) && nai.linkProperties.hasIPv4Address(); final boolean skip464xlat = - (nai.networkMisc != null) && nai.networkMisc.skip464xlat; + (nai.netMisc() != null) && nai.netMisc().skip464xlat; return supported && connected && !hasIPv4Address && !skip464xlat; } diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java index 505480ea537e..262184b0b12d 100644 --- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java +++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java @@ -266,6 +266,10 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> { return mConnService; } + public NetworkMisc netMisc() { + return networkMisc; + } + public Handler handler() { return mHandler; } diff --git a/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java b/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java index dfe31bde4ecf..bf42412d68d8 100644 --- a/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java +++ b/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java @@ -31,6 +31,7 @@ import android.net.InterfaceConfiguration; import android.net.LinkAddress; import android.net.LinkProperties; import android.net.NetworkInfo; +import android.net.NetworkMisc; import android.os.Handler; import android.os.INetworkManagementService; import android.os.test.TestLooper; @@ -55,6 +56,7 @@ public class Nat464XlatTest { static final LinkAddress ADDR = new LinkAddress("192.0.2.5/29"); @Mock ConnectivityService mConnectivity; + @Mock NetworkMisc mMisc; @Mock INetworkManagementService mNms; @Mock InterfaceConfiguration mConfig; @Mock NetworkAgentInfo mNai; @@ -78,6 +80,7 @@ public class Nat464XlatTest { mNai.networkInfo = new NetworkInfo(null); mNai.networkInfo.setType(ConnectivityManager.TYPE_WIFI); when(mNai.connService()).thenReturn(mConnectivity); + when(mNai.netMisc()).thenReturn(mMisc); when(mNai.handler()).thenReturn(mHandler); when(mNms.getInterfaceConfig(eq(STACKED_IFACE))).thenReturn(mConfig); @@ -103,9 +106,16 @@ public class Nat464XlatTest { mNai.networkInfo.setType(type); for (NetworkInfo.DetailedState state : supportedDetailedStates) { mNai.networkInfo.setDetailedState(state, "reason", "extraInfo"); - assertTrue( - String.format("requiresClat expected for type=%d state=%s", type, state), - Nat464Xlat.requiresClat(mNai)); + String msg = String.format("requiresClat expected for type=%d state=%s", + type, state); + + mMisc.skip464xlat = true; + String errorMsg = msg + String.format(" skip464xlat=%b", mMisc.skip464xlat); + assertFalse(errorMsg, Nat464Xlat.requiresClat(mNai)); + + mMisc.skip464xlat = false; + errorMsg = msg + String.format(" skip464xlat=%b", mMisc.skip464xlat); + assertTrue(errorMsg, Nat464Xlat.requiresClat(mNai)); } } } |