{
  "presubmit-large": [
    {
      "name": "FrameworksServicesTests",
      "options": [
        {
          "include-annotation": "android.platform.test.annotations.Presubmit"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        },
        {
          "exclude-annotation": "org.junit.Ignore"
        }
      ]
    }
  ],
  "presubmit-pm": [
    {
      "name": "PackageManagerServiceServerTests",
      "options": [
        {
          "include-annotation": "android.platform.test.annotations.Presubmit"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        },
        {
          "exclude-annotation": "org.junit.Ignore"
        }
      ]
    }
  ],
  "presubmit": [
    {
      "name": "ManagedProvisioningTests",
      "options": [
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      "file_patterns": [
        "ApexManager\\.java",
        "SystemServer\\.java",
        "services/tests/apexsystemservices/.*"
      ],
      "name": "ApexSystemServicesTestCases",
      "options": [
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        },
        {
          "exclude-annotation": "org.junit.Ignore"
        }
      ]
    },
    {
      "name": "FrameworksUiServicesTests",
      "options": [
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      "name": "FrameworksInputMethodSystemServerTests",
      "options": [
        {"include-filter": "com.android.server.inputmethod"},
        {"exclude-annotation": "androidx.test.filters.FlakyTest"},
        {"exclude-annotation": "org.junit.Ignore"}
      ]
    },
    {
      "name": "ExtServicesUnitTests-tplus",
      "options": [
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      "name": "ExtServicesUnitTests-sminus",
      "options": [
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        }
      ]
    },
    {
      "name": "FrameworksCoreTests",
      "options": [
        {
          "include-annotation": "android.platform.test.annotations.Presubmit"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        },
        {
          "exclude-annotation": "org.junit.Ignore"
        }
      ]
    },
    {
      "name": "FrameworkPermissionTests",
      "options": [
        {
          "include-annotation": "android.platform.test.annotations.Presubmit"
        },
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        },
        {
          "exclude-annotation": "org.junit.Ignore"
        }
      ]
    },
    {
      "name": "FrameworksInProcessTests",
      "options": [
        {
          "exclude-annotation": "androidx.test.filters.FlakyTest"
        },
        {
          "exclude-annotation": "org.junit.Ignore"
        }
      ]
    },
    {
      "name": "vts_treble_vintf_framework_test"
    },
    {
      "name": "vts_treble_vintf_vendor_test"
    }
  ],
  "postsubmit-ravenwood": [
    // TODO(ravenwood) promote it to presubmit
    // TODO: Enable it once the infra knows how to run it.
//    {
//      "name": "CtsUtilTestCasesRavenwood",
//      "file_patterns": [
//        "*Ravenwood*",
//        "*ravenwood*"
//      ]
//    }
  ],
  "postsubmit-managedprofile-stress": [
    {
      "name": "ManagedProfileLifecycleStressTest"
    }
  ],
 "auto-postsubmit": [
   // Test tag for automotive targets. These are only running in postsubmit so as to harden the
   // automotive targets to avoid introducing additional test flake and build time. The plan for
   // presubmit testing for auto is to augment the existing tests to cover auto use cases as well.
   // Additionally, this tag is used in targeted test suites to limit resource usage on the test
   // infra during the hardening phase.
   // TODO: this tag to be removed once the above is no longer an issue.
   {
     "name": "FrameworksUiServicesTests",
     "options": [
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       }
     ]
   },
   {
     "name": "ExtServicesUnitTests-tplus",
     "options": [
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       }
     ]
   },
   {
     "name": "ExtServicesUnitTests-sminus",
     "options": [
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       }
     ]
   },
   {
     "name": "TestablesTests",
     "options": [
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       }
     ]
   },
   {
     "name": "FrameworksCoreTests",
     "options": [
       {
         "include-annotation": "android.platform.test.annotations.Presubmit"
       },
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       },
       {
         "exclude-annotation": "org.junit.Ignore"
       }
     ]
   },
   {
     "name": "FrameworksServicesTests",
     "options": [
       {
         "include-annotation": "android.platform.test.annotations.Presubmit"
       },
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       },
       {
         "exclude-annotation": "org.junit.Ignore"
       }
     ]
   },
   {
     "name": "PackageManagerServiceServerTests",
     "options": [
       {
         "include-annotation": "android.platform.test.annotations.Presubmit"
       },
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       },
       {
         "exclude-annotation": "org.junit.Ignore"
       }
     ]
   }
 ],
 "auto-features-postsubmit": [
   // Test tag for automotive feature targets. These are only running in postsubmit.
   // This tag is used in targeted test features testing to limit resource use.
   // TODO(b/256932212): this tag to be removed once the above is no longer in use.
   {
     "name": "FrameworksMockingServicesTests",
     "options": [
       {
         "include-filter": "com.android.server.pm.UserVisibilityMediatorSUSDTest"
       },
       {
         "include-filter": "com.android.server.pm.UserVisibilityMediatorMUMDTest"
       },
       {
         "include-filter": "com.android.server.pm.UserVisibilityMediatorMUPANDTest"
       },
       {
         "exclude-annotation": "androidx.test.filters.FlakyTest"
       },
       {
         "exclude-annotation": "org.junit.Ignore"
       }
     ]
   }
 ]
}
