Skip TestDropPacketToVpnAddress if the feature is disabled
INGRESS_TO_VPN_ADDRESS_FILTERING is disabled due to b/352424251 and
testDropPacketToVpnAddress fails if the feature is disabled.
So skip testDropPacketToVpnAddress if the feature is disabled.
Bug: 362434644
Test: adb shell device_config put tethering
ingress_to_vpn_address_filtering -1
Test: atest CtsHostsideNetworkTests
(cherry picked from https://android-review.googlesource.com/q/commit:9d5d7d07793549a9c8a19d6277c498683cb7da3f)
Merged-In: Ib16a7550dcf93dd9ecf29047b1c4f101ff6d610d
Change-Id: Ib16a7550dcf93dd9ecf29047b1c4f101ff6d610d
This commit is contained in:
parent
893126b82a
commit
41ce7c550c
4 changed files with 46 additions and 0 deletions
|
|
@ -6747,4 +6747,33 @@ public class ConnectivityManager {
|
|||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the specified ConnectivityService feature status. This method is for test code to check
|
||||
* whether the feature is enabled or not.
|
||||
* Note that tests can not just read DeviceConfig since ConnectivityService reads flag at
|
||||
* startup. For example, it's possible that the current flag value is "disable"(-1) but the
|
||||
* feature is enabled since the flag value was "enable"(1) when ConnectivityService started up.
|
||||
* If the ConnectivityManager needs to check the ConnectivityService feature status for non-test
|
||||
* purpose, define feature in {@link ConnectivityManagerFeature} and use
|
||||
* {@link #isFeatureEnabled} instead.
|
||||
*
|
||||
* @param featureFlag target flag for feature
|
||||
* @return {@code true} if the feature is enabled, {@code false} if the feature is disabled.
|
||||
* @throws IllegalArgumentException if the flag is invalid
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@RequiresPermission(anyOf = {
|
||||
android.Manifest.permission.NETWORK_SETTINGS,
|
||||
android.Manifest.permission.NETWORK_STACK,
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK
|
||||
})
|
||||
public boolean isConnectivityServiceFeatureEnabledForTesting(final String featureFlag) {
|
||||
try {
|
||||
return mService.isConnectivityServiceFeatureEnabledForTesting(featureFlag);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -262,4 +262,6 @@ interface IConnectivityManager
|
|||
IBinder getRoutingCoordinatorService();
|
||||
|
||||
long getEnabledConnectivityManagerFeatures();
|
||||
|
||||
boolean isConnectivityServiceFeatureEnabledForTesting(String featureFlag);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14224,4 +14224,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||
}
|
||||
return features;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isConnectivityServiceFeatureEnabledForTesting(String featureFlag) {
|
||||
switch (featureFlag) {
|
||||
case INGRESS_TO_VPN_ADDRESS_FILTERING:
|
||||
return mIngressToVpnAddressFiltering;
|
||||
default:
|
||||
throw new IllegalArgumentException("Unknown flag: " + featureFlag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -213,6 +213,8 @@ public class VpnTest {
|
|||
|
||||
private static final String AUTOMATIC_ON_OFF_KEEPALIVE_VERSION =
|
||||
"automatic_on_off_keepalive_version";
|
||||
private static final String INGRESS_TO_VPN_ADDRESS_FILTERING =
|
||||
"ingress_to_vpn_address_filtering";
|
||||
// Enabled since version 1 means it's always enabled because the version is always above 1
|
||||
private static final String AUTOMATIC_ON_OFF_KEEPALIVE_ENABLED = "1";
|
||||
private static final long TEST_TCP_POLLING_TIMER_EXPIRED_PERIOD_MS = 60_000L;
|
||||
|
|
@ -1949,6 +1951,9 @@ public class VpnTest {
|
|||
*/
|
||||
private void doTestDropPacketToVpnAddress(final boolean duplicatedAddress)
|
||||
throws Exception {
|
||||
assumeTrue(mCM.isConnectivityServiceFeatureEnabledForTesting(
|
||||
INGRESS_TO_VPN_ADDRESS_FILTERING));
|
||||
|
||||
final NetworkRequest request = new NetworkRequest.Builder()
|
||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
|
||||
|
|
|
|||
Loading…
Reference in a new issue