Support 'test_config' into soong modules

Test: make general-tests
Bug: 110982517
Change-Id: Ib2eab2653fdfce6f699b85c9fbc64558b6d40363
diff --git a/cc/androidmk.go b/cc/androidmk.go
index 263f0f3..228b64a 100644
--- a/cc/androidmk.go
+++ b/cc/androidmk.go
@@ -248,6 +248,10 @@
 			fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
 				strings.Join(benchmark.Properties.Test_suites, " "))
 		}
+		if benchmark.Properties.Test_config != nil {
+			fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
+				benchmark.Properties.Test_config)
+		}
 		fmt.Fprintln(w, "LOCAL_NATIVE_BENCHMARK := true")
 	})
 
@@ -266,6 +270,10 @@
 			fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
 				strings.Join(test.Properties.Test_suites, " "))
 		}
+		if test.Properties.Test_config != nil {
+			fmt.Fprintln(w, "LOCAL_TEST_CONFIG :=",
+				test.Properties.Test_config)
+		}
 	})
 
 	androidMkWriteTestData(test.data, ctx, ret)
diff --git a/cc/test.go b/cc/test.go
index 5d0ef20..49fc57b 100644
--- a/cc/test.go
+++ b/cc/test.go
@@ -44,6 +44,10 @@
 	// list of compatibility suites (for example "cts", "vts") that the module should be
 	// installed into.
 	Test_suites []string `android:"arch_variant"`
+
+	// the name of the test configuration (for example "AndroidTest.xml") that should be
+	// installed with the module.
+	Test_config *string `android:"arch_variant"`
 }
 
 func init() {
@@ -304,7 +308,11 @@
 
 	// list of compatibility suites (for example "cts", "vts") that the module should be
 	// installed into.
-	Test_suites []string
+	Test_suites []string `android:"arch_variant"`
+
+	// the name of the test configuration (for example "AndroidTest.xml") that should be
+	// installed with the module.
+	Test_config *string `android:"arch_variant"`
 }
 
 type benchmarkDecorator struct {