modify cc_binary type to cc_test for test modules
1. When a cc_binary type module has the non-empty test_suites field, modify the type to cc_test; 2. Unit tests were also added. Bug: 193071602 Test: m androidmk Test: TreeHugger Change-Id: Icfaa79998616c02bb086f81d194163feafb4c116
This commit is contained in:
@@ -392,7 +392,7 @@ func rewriteTestModuleTypes(f *Fixer) error {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if !strings.HasPrefix(mod.Type, "java_") && !strings.HasPrefix(mod.Type, "android_") {
|
if !strings.HasPrefix(mod.Type, "java_") && !strings.HasPrefix(mod.Type, "android_") && mod.Type != "cc_binary" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -420,6 +420,14 @@ func rewriteTestModuleTypes(f *Fixer) error {
|
|||||||
mod.Type = "java_test_host"
|
mod.Type = "java_test_host"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// when a cc_binary module has a nonempty test_suites field, modify the type to cc_test
|
||||||
|
if mod.Type == "cc_binary" {
|
||||||
|
hasTestSuites := hasNonEmptyLiteralListProperty(mod, "test_suites")
|
||||||
|
if hasTestSuites {
|
||||||
|
mod.Type = "cc_test"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
@@ -1124,3 +1124,51 @@ func TestRewriteRuntimeResourceOverlay(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRewriteTestModuleTypes(t *testing.T) {
|
||||||
|
tests := []struct {
|
||||||
|
name string
|
||||||
|
in string
|
||||||
|
out string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "cc_binary with test_suites",
|
||||||
|
in: `
|
||||||
|
cc_binary {
|
||||||
|
name: "foo",
|
||||||
|
srcs: ["srcs"],
|
||||||
|
test_suites: ["test_suite1"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
out: `
|
||||||
|
cc_test {
|
||||||
|
name: "foo",
|
||||||
|
srcs: ["srcs"],
|
||||||
|
test_suites: ["test_suite1"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "cc_binary without test_suites",
|
||||||
|
in: `
|
||||||
|
cc_binary {
|
||||||
|
name: "foo",
|
||||||
|
srcs: ["srcs"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
out: `
|
||||||
|
cc_binary {
|
||||||
|
name: "foo",
|
||||||
|
srcs: ["srcs"],
|
||||||
|
}
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
for _, test := range tests {
|
||||||
|
t.Run(test.name, func(t *testing.T) {
|
||||||
|
runPass(t, test.in, test.out, func(fixer *Fixer) error {
|
||||||
|
return rewriteTestModuleTypes(fixer)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user