diff options
| author | Dan Willemsen <dwillemsen@google.com> | 2019-01-15 13:43:54 -0800 |
|---|---|---|
| committer | Dan Willemsen <dwillemsen@google.com> | 2019-01-15 16:39:02 -0800 |
| commit | e9622a33c32829700f2553c15baeed8a8fd1bb37 (patch) | |
| tree | 9ca44fa53d81bb39beb4c67114587e586ad33c14 /bpfix | |
| parent | adf980bf916ba710b287f41b5116114cbacc052a (diff) | |
| download | build_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.go | 50 | ||||
| -rw-r--r-- | bpfix/bpfix/bpfix_test.go | 71 |
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) + }) + } +} |
