{
  // Looking for unit test presubmit configuration?
  // This currently lives in ATP config apct/system_ui/unit_test
  "presubmit-sysui": [
    {
      "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": "android.platform.test.annotations.Postsubmit"
        },
        {
            "exclude-annotation": "android.platform.test.annotations.FlakyTest"
        }
      ]
    }
  ],
  "presubmit": [
    {
      "name": "SystemUIGoogleTests",
      "options": [
        {
          "exclude-annotation": "org.junit.Ignore"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      // TODO(b/251476085): Consider merging with SystemUIGoogleScreenshotTests (in U+)
      "name": "SystemUIGoogleBiometricsScreenshotTests",
      "options": [
        {
          "exclude-annotation": "org.junit.Ignore"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      // Permission indicators
      "name": "CtsPermission4TestCases",
      "options": [
        {
          "exclude-annotation": "org.junit.Ignore"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      // Permission indicators
      "name": "CtsVoiceRecognitionTestCases",
      "options": [
        {
          "exclude-annotation": "org.junit.Ignore"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    }
  ],

  // Curious where your @Scenario tests will run?
  //
  // @Ignore: nowhere
  // @FlakyTest: in staged-postsubmit, but not blocking postsubmit or
  // presubmit
  // @Postsubmit: in postsubmit and staged-postsubmit, but not presubmit
  // none of the above: in presubmit, postsubmit, and staged-postsubmit
  //
  // Ideally, please annotate new tests with @FlakyTest, then with @Postsubmit
  // once they're ready for postsubmit as they will immediately block go/android-platinum,
  // then with neither once they're ready for presubmit.
  //
  // If you don't use @Postsubmit, your new test will immediately
  // block presubmit, which is probably not what you want!
  "sysui-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"
        },
        {
            "exclude-annotation": "android.platform.test.annotations.FlakyTest"
        }
      ]
    }
  ],
  "sysui-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"
        }
      ]
    }
  ],
  "ironwood-postsubmit": [
    {
      "name": "PlatformScenarioTests",
      "options": [
        {
            "include-annotation": "android.platform.test.annotations.IwTest"
        },
        {
            "exclude-annotation": "org.junit.Ignore"
        },
        {
            "include-filter": "android.platform.test.scenario.sysui"
        },
        {
            "exclude-annotation": "android.platform.test.annotations.FlakyTest"
        }
      ]
    }
  ],
  "auto-end-to-end-postsubmit": [
    {
      "name": "AndroidAutomotiveHomeTests",
      "options" : [
        {
          "include-filter": "android.platform.tests.HomeTest"
        }
      ]
    },
    {
      "name": "AndroidAutomotiveNotificationsTests",
      "options" : [
        {
          "include-filter": "android.platform.tests.NotificationTest"
        }
      ]
    }
  ]
}
