Let sysui integration tests run in presubmit.
TEST_MAPPING doesn't allow arbitrary intersection of annotations, so
this changes how we label sysui @Scenario tests slightly:
Before:
@Ignore / @FlakyTest: doesn't run at all.
@Staging: runs in staged-postsubmit only.
else: runs in postsubmit (and staged-postsubmit).
After:
@Ignore / @FlakyTest: doesn't run at all.
@Staging: runs in staged-postsubmit only.
@Postsubmit: runs in postsubmit (and staged-postsubmit) only.
else: runs in presubmit (and postsubmit and staged-postsubmit).
The upshot of this is that new tests will need to be marked @Staging or
@Postsubmit until they're known not to be flaky, or presubmit will break
a lot.
Bug: 165922296
Test: atest --test-mapping frameworks/base/packages/SystemUI:presubmit
Change-Id: If5aa903ed19bbc072f347c736251644cedcfce1a
diff --git a/packages/SystemUI/TEST_MAPPING b/packages/SystemUI/TEST_MAPPING
index d7f135d..6c7a5b8 100644
--- a/packages/SystemUI/TEST_MAPPING
+++ b/packages/SystemUI/TEST_MAPPING
@@ -1,7 +1,7 @@
{
// Looking for unit test presubmit configuration?
// This currently lives in ATP config apct/system_ui/unit_test
- "staged-platinum-postsubmit": [
+ "presubmit": [
{
"name": "PlatformScenarioTests",
"options": [
@@ -16,10 +16,30 @@
},
{
"exclude-annotation": "androidx.test.filters.FlakyTest"
+ },
+ {
+ "exclude-annotation": "android.platform.helpers.Staging"
+ },
+ {
+ "exclude-annotation": "android.platform.test.annotations.Postsubmit"
}
]
}
],
+
+ // Curious where your @Scenario tests will run?
+ //
+ // @Ignore or @FlakyTest: nowhere
+ // @Staging: in staged-postsubmit, but not postsubmit or presubmit
+ // @Postsubmit: in postsubmit and staged-postsubmit, but not presubmit
+ // none of the above: in presubmit, postsubmit, and staged-postsubmit
+ //
+ // Therefore, please annotate new tests with @Staging, then with @Postsubmit
+ // once they're ready for postsubmit, then with neither once they're ready
+ // for presubmit.
+ //
+ // If you don't use @Staging or @Postsubmit, your new test will immediately
+ // block presubmit, which is probably not what you want!
"platinum-postsubmit": [
{
"name": "PlatformScenarioTests",
@@ -42,6 +62,25 @@
]
}
],
+ "staged-platinum-postsubmit": [
+ {
+ "name": "PlatformScenarioTests",
+ "options": [
+ {
+ "include-filter": "android.platform.test.scenario.sysui"
+ },
+ {
+ "include-annotation": "android.platform.test.scenario.annotation.Scenario"
+ },
+ {
+ "exclude-annotation": "org.junit.Ignore"
+ },
+ {
+ "exclude-annotation": "androidx.test.filters.FlakyTest"
+ }
+ ]
+ }
+ ],
"auto-end-to-end-postsubmit": [
{
"name": "AndroidAutoUiTests",