{
  // Looking for unit test presubmit configuration?
  // This currently lives in ATP config apct/system_ui/unit_test
  "presubmit-large": [
    {
      "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"
        }
      ]
    }
  ],
  "presubmit": [
    {
      "name": "SystemUIGoogleTests",
      "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
  // @Staging or @FlakyTest: 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",
      "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"
        }
      ]
    }
  ],
  "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"
        }
      ]
    }
  ],
  "auto-end-to-end-postsubmit": [
    {
      "name": "AndroidAutomotiveHomeTests",
      "options" : [
        {
          "include-filter": "android.platform.tests.HomeTest"
        }
      ]
    },
    {
      "name": "AndroidAutomotiveNotificationsTests",
      "options" : [
        {
          "include-filter": "android.platform.tests.NotificationTest"
        }
      ]
    }
  ],
  "hubui-postsubmit": [
      {
        "name": "PlatformScenarioTests",
        "options": [
          {
              "include-filter": "android.platform.test.scenario.hubui"
          },
          {
              "include-annotation": "android.platform.test.scenario.annotation.HubUi"
          },
          {
              "exclude-annotation": "org.junit.Ignore"
          },
          {
              "exclude-annotation": "androidx.test.filters.FlakyTest"
          }
      ]
    }
  ],
  "hubui-presubmit": [
      {
        "name": "PlatformScenarioTests",
        "options": [
          {
              "include-annotation": "android.platform.test.annotations.Presubmit"
          },
          {
              "include-annotation": "android.platform.test.scenario.annotation.HubUi"
          },
          {
              "include-filter": "android.platform.test.scenario.hubui"
          },
          {
              "exclude-annotation": "org.junit.Ignore"
          },
          {
              "exclude-annotation": "androidx.test.filters.FlakyTest"
          },
          {
              "exclude-annotation": "android.platform.test.annotations.Postsubmit"
          }
      ]
    }
  ]
}
