Add support for test_suites for python_binary_host and python_test_host

Test: manually add this property, and then check Android-aosp_arm.mk
Bug: b/35394669
Change-Id: Iddaf677839714daf4f8913ff4bf9e944d38c18db
diff --git a/python/androidmk.go b/python/androidmk.go
index 25abdc9..4c94450 100644
--- a/python/androidmk.go
+++ b/python/androidmk.go
@@ -48,11 +48,25 @@
 
 func (p *binaryDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) {
 	ret.Class = "EXECUTABLES"
+
+	ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) {
+		if len(p.binaryProperties.Test_suites) > 0 {
+			fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
+				strings.Join(p.binaryProperties.Test_suites, " "))
+		}
+	})
 	base.subAndroidMk(ret, p.baseInstaller)
 }
 
 func (p *testDecorator) AndroidMk(base *Module, ret *android.AndroidMkData) {
 	ret.Class = "NATIVE_TESTS"
+
+	ret.Extra = append(ret.Extra, func(w io.Writer, outputFile android.Path) {
+		if len(p.binaryDecorator.binaryProperties.Test_suites) > 0 {
+			fmt.Fprintln(w, "LOCAL_COMPATIBILITY_SUITE :=",
+				strings.Join(p.binaryDecorator.binaryProperties.Test_suites, " "))
+		}
+	})
 	base.subAndroidMk(ret, p.binaryDecorator.baseInstaller)
 }
 
diff --git a/python/binary.go b/python/binary.go
index c2e38bf..95b0606 100644
--- a/python/binary.go
+++ b/python/binary.go
@@ -40,6 +40,10 @@
 
 	// append to the name of the output binary.
 	Suffix string `android:"arch_variant"`
+
+	// list of compatibility suites (for example "cts", "vts") that the module should be
+	// installed into.
+	Test_suites []string `android:"arch_variant"`
 }
 
 type binaryDecorator struct {