1{
2  "captiveportal-networkstack-resolve-tethering-mainline-presubmit": [
3    {
4      "name": "CtsNetTestCases",
5      "options": [
6        {
7          "exclude-annotation": "com.android.testutils.SkipPresubmit"
8        },
9        {
10          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
11        },
12        {
13          "exclude-annotation": "androidx.test.filters.RequiresDevice"
14        }
15      ]
16    },
17    {
18      "name": "CtsNetTestCasesMaxTargetSdk30",
19      "options": [
20        {
21          "exclude-annotation": "com.android.testutils.SkipPresubmit"
22        },
23        {
24          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
25        },
26        {
27          "exclude-annotation": "androidx.test.filters.RequiresDevice"
28        }
29      ]
30    },
31    {
32      "name": "CtsNetTestCasesMaxTargetSdk31",
33      "options": [
34        {
35          "exclude-annotation": "com.android.testutils.SkipPresubmit"
36        },
37        {
38          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
39        },
40        {
41          "exclude-annotation": "androidx.test.filters.RequiresDevice"
42        }
43      ]
44    },
45    {
46      "name": "CtsNetTestCasesMaxTargetSdk33",
47      "options": [
48        {
49          "exclude-annotation": "com.android.testutils.SkipPresubmit"
50        },
51        {
52          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
53        },
54        {
55          "exclude-annotation": "androidx.test.filters.RequiresDevice"
56        }
57      ]
58    },
59    {
60      "name": "bpf_existence_test"
61    },
62    {
63      "name": "connectivity_native_test"
64    },
65    {
66      "name": "netd_updatable_unit_test"
67    },
68    {
69      "name": "ConnectivityCoverageTests",
70      "options": [
71        {
72          "exclude-annotation": "com.android.testutils.SkipPresubmit"
73        }
74      ]
75    },
76    {
77      "name": "libnetworkstats_test"
78    },
79    {
80      "name": "CtsTetheringTestLatestSdk",
81      "options": [
82        {
83          "exclude-annotation": "com.android.testutils.NetworkStackModuleTest"
84        }
85      ]
86    }
87  ],
88  "captiveportal-networkstack-mainline-presubmit": [
89    // Test with APK modules only, in cases where APEX is not supported, or the other modules
90    // were simply not updated
91    {
92      "name": "CtsNetTestCases",
93      "options": [
94        {
95          "exclude-annotation": "com.android.testutils.SkipPresubmit"
96        },
97        {
98          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
99        },
100        {
101          "exclude-annotation": "androidx.test.filters.RequiresDevice"
102        },
103        {
104          "exclude-annotation": "com.android.testutils.ConnectivityModuleTest"
105        },
106        {
107          "exclude-annotation": "com.android.testutils.DnsResolverModuleTest"
108        }
109      ]
110    }
111  ],
112  "tethering-mainline-presubmit": [
113    // Test with connectivity/tethering module only, to catch integration issues with older versions
114    // of other modules. "new tethering + old NetworkStack" is not a configuration that should
115    // really exist in the field, but there is no strong guarantee, and it is required by MTS
116    // testing for module qualification, where modules are tested independently.
117    {
118      "name": "CtsNetTestCases",
119      "options": [
120        {
121          "exclude-annotation": "com.android.testutils.SkipPresubmit"
122        },
123        {
124          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
125        },
126        {
127          "exclude-annotation": "androidx.test.filters.RequiresDevice"
128        },
129        {
130          "exclude-annotation": "com.android.testutils.DnsResolverModuleTest"
131        },
132        {
133          "exclude-annotation": "com.android.testutils.NetworkStackModuleTest"
134        }
135      ]
136    }
137  ],
138  "presubmit": [
139    {
140      "name": "ConnectivityCoverageTests",
141      "options": [
142        {
143          "exclude-annotation": "com.android.testutils.NetworkStackModuleTest"
144        },
145        {
146          "exclude-annotation": "com.android.testutils.SkipPresubmit"
147        }
148      ]
149    },
150    {
151      // In addition to ConnectivityCoverageTests, runs non-connectivity-module tests
152      "name": "FrameworksNetTests",
153      "options": [
154        {
155          "exclude-annotation": "com.android.testutils.SkipPresubmit"
156        }
157      ]
158    },
159    // Run in addition to mainline-presubmit as mainline-presubmit is not
160    // supported in every branch.
161    {
162      "name": "CtsNetTestCases",
163      "options": [
164        {
165          "exclude-annotation": "com.android.testutils.SkipPresubmit"
166        },
167        {
168          "exclude-annotation": "androidx.test.filters.RequiresDevice"
169        }
170      ]
171    },
172    // CTS tests that target older SDKs.
173    {
174      "name": "CtsNetTestCasesMaxTargetSdk30",
175      "options": [
176        {
177          "exclude-annotation": "com.android.testutils.SkipPresubmit"
178        },
179        {
180          "exclude-annotation": "androidx.test.filters.RequiresDevice"
181        }
182      ]
183    },
184    {
185      "name": "CtsNetTestCasesMaxTargetSdk31",
186      "options": [
187        {
188          "exclude-annotation": "com.android.testutils.SkipPresubmit"
189        },
190        {
191          "exclude-annotation": "androidx.test.filters.RequiresDevice"
192        }
193      ]
194    },
195    {
196      "name": "CtsNetTestCasesMaxTargetSdk33",
197      "options": [
198        {
199          "exclude-annotation": "com.android.testutils.SkipPresubmit"
200        },
201        {
202          "exclude-annotation": "androidx.test.filters.RequiresDevice"
203        }
204      ]
205    },
206    {
207      "name": "bpf_existence_test"
208    },
209    {
210      "name": "connectivity_native_test"
211    },
212    {
213      "name": "libclat_test"
214    },
215    {
216      "name": "netd_updatable_unit_test"
217    },
218    {
219      "name": "TetheringTests"
220    },
221    {
222      "name": "TetheringIntegrationTests"
223    },
224    {
225      "name": "libnetworkstats_test"
226    },
227    {
228      "name": "FrameworksNetIntegrationTests"
229    }
230  ],
231  "postsubmit": [
232    {
233      "name": "TetheringPrivilegedTests"
234    },
235    {
236      "name": "netd_updatable_unit_test",
237      "keywords": ["netd-device-kernel-4.9", "netd-device-kernel-4.14"]
238    },
239    {
240      "name": "dns_helper_unit_test"
241    },
242    {
243      "name": "FrameworksNetDeflakeTest"
244    },
245    // Postsubmit on virtual devices to monitor flakiness of @SkipPresubmit methods
246    {
247      "name": "CtsNetTestCases",
248      "options": [
249        {
250          "exclude-annotation": "androidx.test.filters.RequiresDevice"
251        }
252      ]
253    },
254    {
255      "name": "FrameworksNetTests"
256    },
257    // TODO: Move to presumit after meet SLO requirement.
258    {
259      "name": "NetworkStaticLibHostPythonTests"
260    }
261  ],
262  "mainline-presubmit": [
263    {
264      "name": "CtsNetTestCases[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
265      "options": [
266        {
267          "exclude-annotation": "com.android.testutils.SkipPresubmit"
268        },
269        {
270          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
271        },
272        {
273          "exclude-annotation": "androidx.test.filters.RequiresDevice"
274        }
275      ]
276    },
277    {
278      "name": "CtsNetTestCasesMaxTargetSdk30[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
279      "options": [
280        {
281          "exclude-annotation": "com.android.testutils.SkipPresubmit"
282        },
283        {
284          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
285        },
286        {
287          "exclude-annotation": "androidx.test.filters.RequiresDevice"
288        }
289      ]
290    },
291    {
292      "name": "CtsNetTestCasesMaxTargetSdk31[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
293      "options": [
294        {
295          "exclude-annotation": "com.android.testutils.SkipPresubmit"
296        },
297        {
298          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
299        },
300        {
301          "exclude-annotation": "androidx.test.filters.RequiresDevice"
302        }
303      ]
304    },
305    {
306      "name": "CtsNetTestCasesMaxTargetSdk33[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
307      "options": [
308        {
309          "exclude-annotation": "com.android.testutils.SkipPresubmit"
310        },
311        {
312          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
313        },
314        {
315          "exclude-annotation": "androidx.test.filters.RequiresDevice"
316        }
317      ]
318    },
319    {
320      "name": "CtsHostsideNetworkTests[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
321      "options": [
322        {
323          "exclude-annotation": "androidx.test.filters.RequiresDevice"
324        }
325      ]
326    },
327    // Test with APK modules only, in cases where APEX is not supported, or the other modules
328    // were simply not updated
329    {
330      "name": "CtsNetTestCases[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk]",
331      "options": [
332        {
333          "exclude-annotation": "com.android.testutils.SkipPresubmit"
334        },
335        {
336          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
337        },
338        {
339          "exclude-annotation": "androidx.test.filters.RequiresDevice"
340        },
341        {
342          "exclude-annotation": "com.android.testutils.ConnectivityModuleTest"
343        },
344        {
345          "exclude-annotation": "com.android.testutils.DnsResolverModuleTest"
346        }
347      ]
348    },
349    // Test with connectivity/tethering module only, to catch integration issues with older versions
350    // of other modules. "new tethering + old NetworkStack" is not a configuration that should
351    // really exist in the field, but there is no strong guarantee, and it is required by MTS
352    // testing for module qualification, where modules are tested independently.
353    {
354      "name": "CtsNetTestCases[com.google.android.tethering.apex]",
355      "options": [
356        {
357          "exclude-annotation": "com.android.testutils.SkipPresubmit"
358        },
359        {
360          "exclude-annotation": "com.android.testutils.SkipMainlinePresubmit"
361        },
362        {
363          "exclude-annotation": "androidx.test.filters.RequiresDevice"
364        },
365        {
366          "exclude-annotation": "com.android.testutils.DnsResolverModuleTest"
367        },
368        {
369          "exclude-annotation": "com.android.testutils.NetworkStackModuleTest"
370        }
371      ]
372    },
373    {
374      "name": "bpf_existence_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]"
375    },
376    {
377      "name": "connectivity_native_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]"
378    },
379    {
380      "name": "netd_updatable_unit_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]"
381    },
382    {
383      "name": "ConnectivityCoverageTests[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
384      "options": [
385        {
386          "exclude-annotation": "com.android.testutils.SkipPresubmit"
387        }
388      ]
389    },
390    {
391      "name": "libnetworkstats_test[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]"
392    },
393    {
394      "name": "CtsTetheringTestLatestSdk[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
395      "options": [
396        {
397          "exclude-annotation": "com.android.testutils.NetworkStackModuleTest"
398        }
399      ]
400    }
401  ],
402  "mainline-postsubmit": [
403    // Tests on physical devices with SIM cards: postsubmit only for capacity constraints
404    {
405      "name": "CtsNetTestCases[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
406      "keywords": ["sim"]
407    },
408    {
409      "name": "CtsTetheringTestLatestSdk[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
410      "keywords": ["sim"],
411      "options": [
412        {
413          "exclude-annotation": "com.android.testutils.NetworkStackModuleTest"
414        }
415      ]
416    },
417    // Postsubmit on virtual devices to monitor flakiness of @SkipMainlinePresubmit methods
418    {
419      "name": "CtsNetTestCases[CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex]",
420      "options": [
421        {
422          "exclude-annotation": "androidx.test.filters.RequiresDevice"
423        }
424      ]
425    }
426  ],
427  "automotive-mumd-presubmit": [
428    {
429      "name": "CtsNetTestCases"
430    }
431  ],
432  "imports": [
433    {
434      "path": "frameworks/base/core/java/android/net"
435    },
436    {
437      "path": "frameworks/opt/net/ethernet"
438    },
439    {
440      "path": "packages/modules/NetworkStack"
441    },
442    {
443      "path": "packages/modules/CaptivePortalLogin"
444    },
445    {
446      "path": "external/cronet"
447    },
448    {
449      "path": "vendor/xts/gts-tests/hostsidetests/networkstack"
450    }
451  ]
452}
453