Index: base/android/javatests/src/org/chromium/base/test/Feature.java |
diff --git a/base/android/javatests/src/org/chromium/base/test/Feature.java b/base/android/javatests/src/org/chromium/base/test/Feature.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..76fba41e52db0d683902ecec8116659c168aae6b |
--- /dev/null |
+++ b/base/android/javatests/src/org/chromium/base/test/Feature.java |
@@ -0,0 +1,29 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.base.test; |
+ |
+import java.lang.annotation.ElementType; |
+import java.lang.annotation.Retention; |
+import java.lang.annotation.RetentionPolicy; |
+import java.lang.annotation.Target; |
+ |
+/** |
+ * The java instrumentation tests are normally fairly large (in terms of |
+ * dependencies), and the test suite ends up containing a large amount of |
+ * tests that are not trivial to filter / group just by their names. |
+ * Instead, we use this annotation: each test should be annotated as: |
+ * @Feature({"Foo", "Bar"}) |
+ * in order for the test runner scripts to be able to filter and group |
+ * them accordingly (for instance, this enable us to run all tests that exercise |
+ * feature Foo). |
+ */ |
+@Target(ElementType.METHOD) |
+@Retention(RetentionPolicy.RUNTIME) |
+public @interface Feature { |
+ /** |
+ * @return A list of feature names. |
+ */ |
+ public String[] value(); |
+} |