Prevent using android_app_import in instrumentation_for property
Previously, referencing a prebuilt android_app_import in an android_test's instrumentation_for property instead of the source android_app module (e.g. because the prebuilt is preferred) could result in compilation errors if the android_test sources depended on classes from the app. That is because while the android_app provides a classes jar file to be added to the android_test's classpath the android_app_import does not. This change reports that situation as an error. Bug: 207128192 Test: m nothing Change-Id: I26ea90e7a3f57707fc0c094e0d8b8dc9a9e135ac
This commit is contained in:
@@ -2168,10 +2168,33 @@ func TestAndroidTest_FixTestConfig(t *testing.T) {
|
||||
t.Errorf("test_config_fixer was not expected to run, but did: %q", params.RuleParams.Command)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
func TestInstrumentationTargetPrebuilt(t *testing.T) {
|
||||
bp := `
|
||||
android_app_import {
|
||||
name: "foo",
|
||||
apk: "foo.apk",
|
||||
presigned: true,
|
||||
}
|
||||
|
||||
android_test {
|
||||
name: "bar",
|
||||
srcs: ["a.java"],
|
||||
instrumentation_for: "foo",
|
||||
sdk_version: "current",
|
||||
}
|
||||
`
|
||||
|
||||
android.GroupFixturePreparers(
|
||||
PrepareForTestWithJavaDefaultModules,
|
||||
).ExtendWithErrorHandler(
|
||||
android.FixtureExpectsAtLeastOneErrorMatchingPattern(
|
||||
"instrumentation_for: dependency \"foo\" of type \"android_app_import\" does not provide JavaInfo so is unsuitable for use with this property")).
|
||||
RunTestWithBp(t, bp)
|
||||
}
|
||||
|
||||
func TestStl(t *testing.T) {
|
||||
ctx, _ := testJava(t, cc.GatherRequiredDepsForTest(android.Android)+`
|
||||
cc_library {
|
||||
|
Reference in New Issue
Block a user