Add VCN CTS to mts-tethering
This patch adds CtsVcnTests to tethering MTS. Consequently,
these tests will be monthly updated and installed with Tethering
module on all Android R/R+ devices. Thus the patch also adds
SDK checks to make sure the mainline updated tests will be skipped
if SDK <= Android V, to avoid compatability issues.
Bug: 376896491
Test: lunch mainline_modules_arm64-mainline-userdebug &&
m mts && mts-tradefed run mts-tethering;
Verified on V and B
Flag: EXEMPT; test code change
Change-Id: Ib6d3d698925feef472d472be6def080580aa6ec3
This commit is contained in:
parent
ee21eb02bc
commit
0bd95f840d
11 changed files with 77 additions and 12 deletions
|
|
@ -24,6 +24,9 @@ android_test {
|
|||
"framework-connectivity-test-defaults",
|
||||
],
|
||||
|
||||
// TODO: b/374174952 Use 36 after Android B finalization
|
||||
min_sdk_version: "35",
|
||||
|
||||
// Include both the 32 and 64 bit versions
|
||||
compile_multilib: "both",
|
||||
|
||||
|
|
@ -57,6 +60,8 @@ android_test {
|
|||
test_suites: [
|
||||
"cts",
|
||||
"general-tests",
|
||||
"mts-tethering",
|
||||
"mcts-tethering",
|
||||
],
|
||||
data: [":ConnectivityTestPreparer"],
|
||||
host_required: ["net-tests-utils-host-common"],
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
package="android.net.vcn.cts"
|
||||
android:targetSandboxVersion="2">
|
||||
|
||||
<!-- TODO: b/374174952 Use 36 after Android B finalization -->
|
||||
<uses-sdk android:minSdkVersion="35" android:targetSdkVersion="35" />
|
||||
|
||||
<!--Allow tests to call ConnectivityManager#getActiveNetwork()-->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<!-- Allow tests to call ConnectivityManager#requestNetwork() -->
|
||||
|
|
|
|||
|
|
@ -24,6 +24,13 @@
|
|||
<option name="config-descriptor:metadata" key="parameter" value="run_on_sdk_sandbox" />
|
||||
|
||||
<option name="not-shardable" value="true" />
|
||||
|
||||
<!-- Run tests in MTS only if the Tethering Mainline module is installed. -->
|
||||
<object type="module_controller"
|
||||
class="com.android.tradefed.testtype.suite.module.MainlineTestModuleController">
|
||||
<option name="mainline-module-package-name" value="com.google.android.tethering" />
|
||||
</object>
|
||||
|
||||
<target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
|
||||
<option name="cleanup-apks" value="true" />
|
||||
<option name="test-file-name" value="CtsVcnTestCases.apk" />
|
||||
|
|
|
|||
|
|
@ -20,18 +20,23 @@ import static org.junit.Assert.assertThrows;
|
|||
|
||||
import android.net.ConnectivityFrameworkInitializerBaklava;
|
||||
import android.net.vcn.Flags;
|
||||
import android.os.Build;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
@RequiresFlagsEnabled(Flags.FLAG_MAINLINE_VCN_MODULE_API)
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class ConnectivityFrameworkInitializerBaklavaTest {
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
|
|
|||
|
|
@ -23,12 +23,21 @@ import static org.junit.Assert.assertEquals;
|
|||
import static org.junit.Assert.fail;
|
||||
|
||||
import android.net.vcn.VcnCellUnderlyingNetworkTemplate;
|
||||
import android.os.Build;
|
||||
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
public class VcnCellUnderlyingNetworkTemplateTest extends VcnUnderlyingNetworkTemplateTestBase {
|
||||
private static final Set<String> ALLOWED_PLMN_IDS = Set.of("123456", "12345");
|
||||
private static final Set<Integer> ALLOWED_CARRIER_IDS = Set.of(100, 101);
|
||||
|
|
|
|||
|
|
@ -25,10 +25,13 @@ import static org.junit.Assert.fail;
|
|||
import android.content.Context;
|
||||
import android.net.vcn.VcnConfig;
|
||||
import android.net.vcn.VcnGatewayConnectionConfig;
|
||||
import android.os.Build;
|
||||
import android.util.ArraySet;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
|
@ -36,7 +39,10 @@ import org.junit.runner.RunWith;
|
|||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
public class VcnConfigTest extends VcnTestBase {
|
||||
private static final VcnGatewayConnectionConfig GATEWAY_CONNECTION_CONFIG =
|
||||
VcnGatewayConnectionConfigTest.buildVcnGatewayConnectionConfig();
|
||||
|
|
|
|||
|
|
@ -31,8 +31,10 @@ import android.net.ipsec.ike.IkeSessionParams;
|
|||
import android.net.ipsec.ike.IkeTunnelConnectionParams;
|
||||
import android.net.vcn.VcnGatewayConnectionConfig;
|
||||
import android.net.vcn.VcnUnderlyingNetworkTemplate;
|
||||
import android.os.Build;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
|
@ -43,7 +45,10 @@ import java.util.List;
|
|||
import java.util.Set;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
public class VcnGatewayConnectionConfigTest extends VcnTestBase {
|
||||
private static final String VCN_GATEWAY_CONNECTION_NAME = "test-vcn-gateway-connection";
|
||||
private static final long[] RETRY_INTERNAL_MILLIS =
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ import android.net.vcn.VcnUnderlyingNetworkTemplate;
|
|||
import android.net.vcn.VcnWifiUnderlyingNetworkTemplate;
|
||||
import android.net.vcn.cts.TestNetworkWrapper.VcnTestNetworkCallback;
|
||||
import android.net.vcn.cts.TestNetworkWrapper.VcnTestNetworkCallback.CapabilitiesChangedEvent;
|
||||
import android.os.Build;
|
||||
import android.os.ParcelUuid;
|
||||
import android.os.PersistableBundle;
|
||||
import android.os.SystemClock;
|
||||
|
|
@ -84,9 +85,10 @@ import android.telephony.TelephonyManager;
|
|||
import android.telephony.cts.util.SubscriptionGroupUtils;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.compatibility.common.util.CarrierPrivilegeUtils;
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
|
|
@ -106,7 +108,10 @@ import java.util.concurrent.Executor;
|
|||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
public class VcnManagerTest extends VcnTestBase {
|
||||
private static final String TAG = VcnManagerTest.class.getSimpleName();
|
||||
|
||||
|
|
|
|||
|
|
@ -26,17 +26,23 @@ import static org.junit.Assume.assumeTrue;
|
|||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.vcn.VcnManager;
|
||||
import android.os.Build;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
|
||||
import androidx.test.InstrumentationRegistry;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
public class VcnSystemRequirementsTest {
|
||||
private static final int VENDOR_API_FOR_ANDROID_V = 202404;
|
||||
private final Context mContext = InstrumentationRegistry.getContext();
|
||||
|
|
|
|||
|
|
@ -22,19 +22,24 @@ import static org.junit.Assert.assertEquals;
|
|||
|
||||
import android.net.vcn.Flags;
|
||||
import android.net.vcn.VcnTransportInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Parcel;
|
||||
import android.platform.test.annotations.RequiresFlagsEnabled;
|
||||
import android.platform.test.flag.junit.CheckFlagsRule;
|
||||
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
|
||||
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
@RequiresFlagsEnabled(Flags.FLAG_MAINLINE_VCN_MODULE_API)
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
public class VcnTransportInfoTest extends VcnTestBase {
|
||||
@Rule
|
||||
public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
|
||||
|
|
|
|||
|
|
@ -22,12 +22,21 @@ import static org.junit.Assert.assertEquals;
|
|||
import static org.junit.Assert.fail;
|
||||
|
||||
import android.net.vcn.VcnWifiUnderlyingNetworkTemplate;
|
||||
import android.os.Build;
|
||||
|
||||
import com.android.testutils.DevSdkIgnoreRule;
|
||||
import com.android.testutils.DevSdkIgnoreRunner;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
// TODO: b/374174952 After B finalization, use Sdk36ModuleController to ensure VCN tests only run on
|
||||
// Android B/B+
|
||||
@RunWith(DevSdkIgnoreRunner.class)
|
||||
@DevSdkIgnoreRule.IgnoreUpTo(Build.VERSION_CODES.VANILLA_ICE_CREAM)
|
||||
public class VcnWifiUnderlyingNetworkTemplateTest extends VcnUnderlyingNetworkTemplateTestBase {
|
||||
private static final Set<String> SSIDS = Set.of("TestWifi");
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue