diff --git a/android/module.go b/android/module.go
index bf62080..1cf5955 100644
--- a/android/module.go
+++ b/android/module.go
@@ -942,12 +942,19 @@
 	// If the test is a hostside (no device required) unittest that shall be run
 	// during presubmit check.
 	Unit_test *bool
+
+	// Tags provide additional metadata to customize test execution by downstream
+	// test runners. The tags have no special meaning to Soong.
+	Tags []string
 }
 
 // SetAndroidMkEntries sets AndroidMkEntries according to the value of base
 // `test_options`.
 func (t *CommonTestOptions) SetAndroidMkEntries(entries *AndroidMkEntries) {
 	entries.SetBoolIfTrue("LOCAL_IS_UNIT_TEST", Bool(t.Unit_test))
+	if len(t.Tags) > 0 {
+		entries.AddStrings("LOCAL_TEST_OPTIONS_TAGS", t.Tags...)
+	}
 }
 
 // The key to use in TaggedDistFiles when a Dist structure does not specify a
diff --git a/android/module_test.go b/android/module_test.go
index 835ab4c..0580bef 100644
--- a/android/module_test.go
+++ b/android/module_test.go
@@ -912,7 +912,7 @@
 	}
 }
 
-func TestProcessCommonTestOptions(t *testing.T) {
+func TestSetAndroidMkEntriesWithTestOptions(t *testing.T) {
 	tests := []struct {
 		name        string
 		testOptions CommonTestOptions
@@ -939,6 +939,31 @@
 			},
 			expected: map[string][]string{},
 		},
+		{
+			name: "empty tag",
+			testOptions: CommonTestOptions{
+				Tags: []string{},
+			},
+			expected: map[string][]string{},
+		},
+		{
+			name: "single tag",
+			testOptions: CommonTestOptions{
+				Tags: []string{"tag1"},
+			},
+			expected: map[string][]string{
+				"LOCAL_TEST_OPTIONS_TAGS": []string{"tag1"},
+			},
+		},
+		{
+			name: "multiple tag",
+			testOptions: CommonTestOptions{
+				Tags: []string{"tag1", "tag2", "tag3"},
+			},
+			expected: map[string][]string{
+				"LOCAL_TEST_OPTIONS_TAGS": []string{"tag1", "tag2", "tag3"},
+			},
+		},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
