diff options
| author | 2022-01-11 14:35:55 +0000 | |
|---|---|---|
| committer | 2022-01-11 14:47:38 +0000 | |
| commit | 53a70a4870067b68cdad71ff9bbd03db545086c5 (patch) | |
| tree | 81bed0a50c62d836ea86cc9aa8d1f7637fdd4409 /java/app_test.go | |
| parent | fe306aba98780d495601e29a54055db868f57182 (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.go | 25 |
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 { |