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