1{ 2 "presubmit": [ 3 { 4 "name": "ConnectivityCoverageTests" 5 }, 6 { 7 // In addition to ConnectivityCoverageTests, runs non-connectivity-module tests 8 "name": "FrameworksNetTests" 9 }, 10 // Run in addition to mainline-presubmit as mainline-presubmit is not 11 // supported in every branch. 12 // CtsNetTestCasesLatestSdk uses stable API shims, so does not exercise 13 // some latest APIs. Run CtsNetTestCases to get coverage of newer APIs. 14 { 15 "name": "CtsNetTestCases", 16 "options": [ 17 { 18 "exclude-annotation": "com.android.testutils.SkipPresubmit" 19 }, 20 { 21 "exclude-annotation": "androidx.test.filters.RequiresDevice" 22 } 23 ] 24 }, 25 // Also run CtsNetTestCasesLatestSdk to ensure tests using older shims pass. 26 { 27 "name": "CtsNetTestCasesLatestSdk", 28 "options": [ 29 { 30 "exclude-annotation": "com.android.testutils.SkipPresubmit" 31 }, 32 { 33 "exclude-annotation": "androidx.test.filters.RequiresDevice" 34 } 35 ] 36 }, 37 // CTS tests that target older SDKs. 38 { 39 "name": "CtsNetTestCasesMaxTargetSdk30", 40 "options": [ 41 { 42 "exclude-annotation": "com.android.testutils.SkipPresubmit" 43 }, 44 { 45 "exclude-annotation": "androidx.test.filters.RequiresDevice" 46 } 47 ] 48 }, 49 { 50 "name": "CtsNetTestCasesMaxTargetSdk31", 51 "options": [ 52 { 53 "exclude-annotation": "com.android.testutils.SkipPresubmit" 54 }, 55 { 56 "exclude-annotation": "androidx.test.filters.RequiresDevice" 57 } 58 ] 59 }, 60 { 61 "name": "CtsNetTestCasesMaxTargetSdk33", 62 "options": [ 63 { 64 "exclude-annotation": "com.android.testutils.SkipPresubmit" 65 }, 66 { 67 "exclude-annotation": "androidx.test.filters.RequiresDevice" 68 } 69 ] 70 }, 71 { 72 "name": "bpf_existence_test" 73 }, 74 { 75 "name": "connectivity_native_test" 76 }, 77 { 78 "name": "libclat_test" 79 }, 80 { 81 "name": "netd_updatable_unit_test" 82 }, 83 { 84 "name": "TetheringTests" 85 }, 86 { 87 "name": "TetheringIntegrationTests" 88 }, 89 { 90 "name": "traffic_controller_unit_test" 91 }, 92 { 93 "name": "libnetworkstats_test" 94 }, 95 { 96 "name": "FrameworksNetIntegrationTests" 97 }, 98 // Runs both NetHttpTests and CtsNetHttpTestCases 99 { 100 "name": "NetHttpCoverageTests", 101 "options": [ 102 { 103 // These sometimes take longer than 1 min which is the presubmit timeout 104 "exclude-annotation": "androidx.test.filters.LargeTest" 105 } 106 ] 107 } 108 ], 109 "postsubmit": [ 110 { 111 "name": "TetheringPrivilegedTests" 112 }, 113 { 114 "name": "netd_updatable_unit_test", 115 "keywords": ["netd-device-kernel-4.9", "netd-device-kernel-4.14"] 116 }, 117 { 118 "name": "traffic_controller_unit_test", 119 "keywords": ["netd-device-kernel-4.9", "netd-device-kernel-4.14"] 120 }, 121 { 122 "name": "FrameworksNetDeflakeTest" 123 } 124 ], 125 "mainline-presubmit": [ 126 { 127 "name": "CtsNetTestCasesLatestSdk[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]", 128 "options": [ 129 { 130 "exclude-annotation": "com.android.testutils.SkipPresubmit" 131 }, 132 { 133 "exclude-annotation": "androidx.test.filters.RequiresDevice" 134 } 135 ] 136 }, 137 { 138 "name": "CtsNetTestCasesMaxTargetSdk30[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]", 139 "options": [ 140 { 141 "exclude-annotation": "com.android.testutils.SkipPresubmit" 142 }, 143 { 144 "exclude-annotation": "androidx.test.filters.RequiresDevice" 145 } 146 ] 147 }, 148 { 149 "name": "CtsNetTestCasesMaxTargetSdk31[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]", 150 "options": [ 151 { 152 "exclude-annotation": "com.android.testutils.SkipPresubmit" 153 }, 154 { 155 "exclude-annotation": "androidx.test.filters.RequiresDevice" 156 } 157 ] 158 }, 159 { 160 "name": "CtsNetTestCasesMaxTargetSdk33[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]", 161 "options": [ 162 { 163 "exclude-annotation": "com.android.testutils.SkipPresubmit" 164 }, 165 { 166 "exclude-annotation": "androidx.test.filters.RequiresDevice" 167 } 168 ] 169 }, 170 // Test with APK modules only, in cases where APEX is not supported, or the other modules 171 // were simply not updated 172 { 173 "name": "CtsNetTestCasesLatestSdk[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk]", 174 "options": [ 175 { 176 "exclude-annotation": "com.android.testutils.SkipPresubmit" 177 }, 178 { 179 "exclude-annotation": "androidx.test.filters.RequiresDevice" 180 }, 181 { 182 "exclude-annotation": "com.android.testutils.ConnectivityModuleTest" 183 } 184 ] 185 }, 186 // Test with connectivity/tethering module only, to catch integration issues with older versions 187 // of other modules. "new tethering + old NetworkStack" is not a configuration that should 188 // really exist in the field, but there is no strong guarantee, and it is required by MTS 189 // testing for module qualification, where modules are tested independently. 190 { 191 "name": "CtsNetTestCasesLatestSdk[com.google.android.tethering.apex]", 192 "options": [ 193 { 194 "exclude-annotation": "com.android.testutils.SkipPresubmit" 195 }, 196 { 197 "exclude-annotation": "androidx.test.filters.RequiresDevice" 198 } 199 ] 200 }, 201 { 202 "name": "bpf_existence_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]" 203 }, 204 { 205 "name": "connectivity_native_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]" 206 }, 207 { 208 "name": "netd_updatable_unit_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]" 209 }, 210 { 211 "name": "ConnectivityCoverageTests[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]" 212 }, 213 { 214 "name": "traffic_controller_unit_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]" 215 }, 216 { 217 "name": "libnetworkstats_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]" 218 }, 219 { 220 "name": "NetHttpCoverageTests[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]", 221 "options": [ 222 { 223 // These sometimes take longer than 1 min which is the presubmit timeout 224 "exclude-annotation": "androidx.test.filters.LargeTest" 225 } 226 ] 227 } 228 ], 229 "mainline-postsubmit": [ 230 // Tests on physical devices with SIM cards: postsubmit only for capacity constraints 231 { 232 "name": "CtsNetTestCasesLatestSdk[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]", 233 "keywords": ["sim"] 234 } 235 ], 236 "imports": [ 237 { 238 "path": "frameworks/base/core/java/android/net" 239 }, 240 { 241 "path": "frameworks/opt/net/ethernet" 242 }, 243 { 244 "path": "packages/modules/NetworkStack" 245 }, 246 { 247 "path": "packages/modules/CaptivePortalLogin" 248 }, 249 { 250 "path": "vendor/xts/gts-tests/hostsidetests/networkstack" 251 } 252 ] 253} 254