aboutsummaryrefslogtreecommitdiffstats
path: root/bpfix
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@google.com>2019-01-15 13:43:54 -0800
committerDan Willemsen <dwillemsen@google.com>2019-01-15 16:39:02 -0800
commite9622a33c32829700f2553c15baeed8a8fd1bb37 (patch)
tree9ca44fa53d81bb39beb4c67114587e586ad33c14 /bpfix
parentadf980bf916ba710b287f41b5116114cbacc052a (diff)
downloadbuild_soong-e9622a33c32829700f2553c15baeed8a8fd1bb37.tar.gz
build_soong-e9622a33c32829700f2553c15baeed8a8fd1bb37.tar.bz2
build_soong-e9622a33c32829700f2553c15baeed8a8fd1bb37.zip
Add BUILD_CTS_* to androidmk
Bug: 122617736 Test: new unit tests Change-Id: Ibce6b4bbe49015a1ca6cf88cd43badc6b5cc078e
Diffstat (limited to 'bpfix')
-rw-r--r--bpfix/bpfix/bpfix.go50
-rw-r--r--bpfix/bpfix/bpfix_test.go71
2 files changed, 121 insertions, 0 deletions
diff --git a/bpfix/bpfix/bpfix.go b/bpfix/bpfix/bpfix.go
index a4723fb2..6a755176 100644
--- a/bpfix/bpfix/bpfix.go
+++ b/bpfix/bpfix/bpfix.go
@@ -63,6 +63,10 @@ var fixSteps = []fixStep{
fix: rewriteIncorrectAndroidmkPrebuilts,
},
{
+ name: "rewriteCtsModuleTypes",
+ fix: rewriteCtsModuleTypes,
+ },
+ {
name: "rewriteIncorrectAndroidmkAndroidLibraries",
fix: rewriteIncorrectAndroidmkAndroidLibraries,
},
@@ -237,6 +241,52 @@ func rewriteIncorrectAndroidmkPrebuilts(f *Fixer) error {
return nil
}
+func rewriteCtsModuleTypes(f *Fixer) error {
+ for _, def := range f.tree.Defs {
+ mod, ok := def.(*parser.Module)
+ if !ok {
+ continue
+ }
+
+ if mod.Type != "cts_support_package" && mod.Type != "cts_package" &&
+ mod.Type != "cts_target_java_library" &&
+ mod.Type != "cts_host_java_library" {
+
+ continue
+ }
+
+ var defStr string
+ switch mod.Type {
+ case "cts_support_package":
+ mod.Type = "android_test"
+ defStr = "cts_support_defaults"
+ case "cts_package":
+ mod.Type = "android_test"
+ defStr = "cts_defaults"
+ case "cts_target_java_library":
+ mod.Type = "java_library"
+ defStr = "cts_defaults"
+ case "cts_host_java_library":
+ mod.Type = "java_library_host"
+ defStr = "cts_defaults"
+ }
+
+ defaults := &parser.Property{
+ Name: "defaults",
+ Value: &parser.List{
+ Values: []parser.Expression{
+ &parser.String{
+ Value: defStr,
+ },
+ },
+ },
+ }
+ mod.Properties = append(mod.Properties, defaults)
+ }
+
+ return nil
+}
+
func rewriteIncorrectAndroidmkAndroidLibraries(f *Fixer) error {
for _, def := range f.tree.Defs {
mod, ok := def.(*parser.Module)
diff --git a/bpfix/bpfix/bpfix_test.go b/bpfix/bpfix/bpfix_test.go
index 0469faf6..5224ee3a 100644
--- a/bpfix/bpfix/bpfix_test.go
+++ b/bpfix/bpfix/bpfix_test.go
@@ -621,3 +621,74 @@ func TestRewritePrebuilts(t *testing.T) {
})
}
}
+
+func TestRewriteCtsModuleTypes(t *testing.T) {
+ tests := []struct {
+ name string
+ in string
+ out string
+ }{
+ {
+ name: "cts_support_package",
+ in: `
+ cts_support_package {
+ name: "foo",
+ }
+ `,
+ out: `
+ android_test {
+ name: "foo",
+ defaults: ["cts_support_defaults"],
+ }
+ `,
+ },
+ {
+ name: "cts_package",
+ in: `
+ cts_package {
+ name: "foo",
+ }
+ `,
+ out: `
+ android_test {
+ name: "foo",
+ defaults: ["cts_defaults"],
+ }
+ `,
+ },
+ {
+ name: "cts_target_java_library",
+ in: `
+ cts_target_java_library {
+ name: "foo",
+ }
+ `,
+ out: `
+ java_library {
+ name: "foo",
+ defaults: ["cts_defaults"],
+ }
+ `,
+ },
+ {
+ name: "cts_host_java_library",
+ in: `
+ cts_host_java_library {
+ name: "foo",
+ }
+ `,
+ out: `
+ java_library_host {
+ name: "foo",
+ defaults: ["cts_defaults"],
+ }
+ `,
+ },
+ }
+
+ for _, test := range tests {
+ t.Run(test.name, func(t *testing.T) {
+ runPass(t, test.in, test.out, rewriteCtsModuleTypes)
+ })
+ }
+}