convert BUILD_CTS_SUPPORT_PACKAGE in mk files
1. Modified the logic of the androidmk tool, to convert the BUILD_CTS_SUPPORT_PACKAGE field to the android_test_helper_app module type rather than android_test; 2. Updated the unit tests as well. Bug: 191907322 Test: m androidmk Test: TreeHugger Change-Id: Iabff299f6d043521481ef1af457c708353559823
This commit is contained in:
@@ -794,7 +794,7 @@ LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
|
||||
include $(BUILD_CTS_SUPPORT_PACKAGE)
|
||||
`,
|
||||
expected: `
|
||||
android_test {
|
||||
android_test_helper_app {
|
||||
name: "FooTest",
|
||||
defaults: ["cts_support_defaults"],
|
||||
test_suites: ["cts"],
|
||||
|
@@ -319,7 +319,7 @@ func rewriteCtsModuleTypes(f *Fixer) error {
|
||||
var defStr string
|
||||
switch mod.Type {
|
||||
case "cts_support_package":
|
||||
mod.Type = "android_test"
|
||||
mod.Type = "android_test_helper_app"
|
||||
defStr = "cts_support_defaults"
|
||||
case "cts_package":
|
||||
mod.Type = "android_test"
|
||||
@@ -622,12 +622,20 @@ func rewriteAndroidmkPrebuiltEtc(f *Fixer) error {
|
||||
func rewriteAndroidTest(f *Fixer) error {
|
||||
for _, def := range f.tree.Defs {
|
||||
mod, ok := def.(*parser.Module)
|
||||
if !(ok && mod.Type == "android_test") {
|
||||
if !ok {
|
||||
// The definition is not a module.
|
||||
continue
|
||||
}
|
||||
if mod.Type != "android_test" && mod.Type != "android_test_helper_app" {
|
||||
// The module is not an android_test or android_test_helper_app.
|
||||
continue
|
||||
}
|
||||
// The rewriter converts LOCAL_MODULE_PATH attribute into a struct attribute
|
||||
// 'local_module_path'. For the android_test module, it should be $(TARGET_OUT_DATA_APPS),
|
||||
// that is, `local_module_path: { var: "TARGET_OUT_DATA_APPS"}`
|
||||
// 1. if the `key: val` pair matches, (key is `local_module_path`,
|
||||
// and val is `{ var: "TARGET_OUT_DATA_APPS"}`), this property is removed;
|
||||
// 2. o/w, an error msg is thrown.
|
||||
const local_module_path = "local_module_path"
|
||||
if prop_local_module_path, ok := mod.GetProperty(local_module_path); ok {
|
||||
removeProperty(mod, local_module_path)
|
||||
@@ -637,7 +645,7 @@ func rewriteAndroidTest(f *Fixer) error {
|
||||
continue
|
||||
}
|
||||
return indicateAttributeError(mod, "filename",
|
||||
"Only LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) is allowed for the android_test")
|
||||
"Only LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) is allowed for the %s", mod.Type)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
@@ -636,7 +636,7 @@ func TestRewriteCtsModuleTypes(t *testing.T) {
|
||||
}
|
||||
`,
|
||||
out: `
|
||||
android_test {
|
||||
android_test_helper_app {
|
||||
name: "foo",
|
||||
defaults: ["cts_support_defaults"],
|
||||
}
|
||||
|
Reference in New Issue
Block a user