From 7621bfba01f16a71511a7eb6fc19dafe621fb539 Mon Sep 17 00:00:00 2001 From: Diwas Sharma Date: Tue, 14 May 2024 20:50:42 +0000 Subject: [PATCH] Add a dedicated Mainline Test Mapping group for Connectivity modules Test of *all* Mainline modules are currently configured in a single `mainline-presubmit` Test Mapping group. This requires that users indicate the module to install in every entry and is quite tedious. The above approach also adds overhead due to installing, checking for, and uninstalling Mainline modules between test module executions. This eats up precious presubmit time and gets runtimes close to violating the SLO. This change moves all Connectivity Mainline module tests into a dedicated Test Mapping group that installs the Mainline module once before executing all test modules. This also simplifies the configuration syntax by no longer requiring brackets that indicate the, now implicit, Mainline module. Bug: 328102821 Test: presubmit checks Change-Id: I496cc3ae38564ea3eaea557322de57ae3d6ee083 --- TEST_MAPPING | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) diff --git a/TEST_MAPPING b/TEST_MAPPING index d8d4c21cf3..28565545e1 100644 --- a/TEST_MAPPING +++ b/TEST_MAPPING @@ -1,4 +1,152 @@ { + "captiveportal-networkstack-resolve-tethering-mainline-presubmit": [ + { + "name": "CtsNetTestCasesLatestSdk", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit" + }, + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + } + ] + }, + { + "name": "CtsNetTestCasesMaxTargetSdk30", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit" + }, + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + } + ] + }, + { + "name": "CtsNetTestCasesMaxTargetSdk31", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit" + }, + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + } + ] + }, + { + "name": "CtsNetTestCasesMaxTargetSdk33", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit" + }, + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + } + ] + }, + { + "name": "bpf_existence_test" + }, + { + "name": "connectivity_native_test" + }, + { + "name": "netd_updatable_unit_test" + }, + { + "name": "ConnectivityCoverageTests", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + } + ] + }, + { + "name": "libnetworkstats_test" + }, + { + "name": "NetHttpCoverageTests", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + // These sometimes take longer than 1 min which is the presubmit timeout + "exclude-annotation": "androidx.test.filters.LargeTest" + } + ] + }, + { + "name": "CtsTetheringTestLatestSdk", + "options": [ + { + "exclude-annotation": "com.android.testutils.NetworkStackModuleTest" + } + ] + } + ], + "captiveportal-networkstack-mainline-presubmit": [ + // Test with APK modules only, in cases where APEX is not supported, or the other modules + // were simply not updated + { + "name": "CtsNetTestCasesLatestSdk", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit" + }, + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + }, + { + "exclude-annotation": "com.android.testutils.ConnectivityModuleTest" + }, + { + "exclude-annotation": "com.android.testutils.DnsResolverModuleTest" + } + ] + } + ], + "tethering-mainline-presubmit": [ + // Test with connectivity/tethering module only, to catch integration issues with older versions + // of other modules. "new tethering + old NetworkStack" is not a configuration that should + // really exist in the field, but there is no strong guarantee, and it is required by MTS + // testing for module qualification, where modules are tested independently. + { + "name": "CtsNetTestCasesLatestSdk", + "options": [ + { + "exclude-annotation": "com.android.testutils.SkipPresubmit" + }, + { + "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit" + }, + { + "exclude-annotation": "androidx.test.filters.RequiresDevice" + }, + { + "exclude-annotation": "com.android.testutils.DnsResolverModuleTest" + }, + { + "exclude-annotation": "com.android.testutils.NetworkStackModuleTest" + } + ] + } + ], "presubmit": [ { "name": "ConnectivityCoverageTests",