summaryrefslogtreecommitdiff
path: root/java/app_test.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2022-01-11 14:35:55 +0000
committer Paul Duffin <paulduffin@google.com> 2022-01-11 14:47:38 +0000
commit53a70a4870067b68cdad71ff9bbd03db545086c5 (patch)
tree81bed0a50c62d836ea86cc9aa8d1f7637fdd4409 /java/app_test.go
parentfe306aba98780d495601e29a54055db868f57182 (diff)
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
Diffstat (limited to 'java/app_test.go')
-rw-r--r--java/app_test.go25
1 files changed, 24 insertions, 1 deletions
diff --git a/java/app_test.go b/java/app_test.go
index 4da7c3dba..c8e1399cc 100644
--- a/java/app_test.go
+++ b/java/app_test.go
@@ -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 {