diff options
Diffstat (limited to 'sdk/java_sdk_test.go')
-rw-r--r-- | sdk/java_sdk_test.go | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go index 51903ce39..c6cb6c220 100644 --- a/sdk/java_sdk_test.go +++ b/sdk/java_sdk_test.go @@ -19,11 +19,13 @@ import ( "testing" "android/soong/android" + "android/soong/genrule" "android/soong/java" ) var prepareForSdkTestWithJava = android.GroupFixturePreparers( java.PrepareForTestWithJavaBuildComponents, + genrule.PrepareForTestWithGenRuleBuildComponents, PrepareForTestWithSdkBuildComponents, // Ensure that all source paths are provided. This helps ensure that the snapshot generation is @@ -34,6 +36,7 @@ var prepareForSdkTestWithJava = android.GroupFixturePreparers( // Files needs by most of the tests. android.MockFS{ "Test.java": nil, + "build/soong/java/invalid_implementation_jar.sh": nil, }.AddToFixture(), ) @@ -288,18 +291,26 @@ java_import { prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], - jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"], + jars: [":mysdk_myjavalib-error"], permitted_packages: ["pkg.myjavalib"], } + +genrule { + name: "mysdk_myjavalib-error", + visibility: ["//visibility:private"], + out: ["this-file-will-never-be-created.jar"], + tool_files: ["scripts/invalid_implementation_jar.sh"], + cmd: "$(location scripts/invalid_implementation_jar.sh) myjavalib", +} `), checkAllCopyRules(` -.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar +build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh `), ) } func TestSnapshotWithJavaBootLibrary_UpdatableMedia(t *testing.T) { - runTest := func(t *testing.T, targetBuildRelease, expectedJarPath, expectedCopyRule string) { + runTest := func(t *testing.T, targetBuildRelease, expectedJarPath, expectedGenRule, expectedCopyRule string) { result := android.GroupFixturePreparers( prepareForSdkTestWithJava, android.FixtureMergeEnv(map[string]string{ @@ -334,20 +345,27 @@ java_import { jars: ["%s"], permitted_packages: ["pkg.media"], } -`, expectedJarPath)), +%s`, expectedJarPath, expectedGenRule)), checkAllCopyRules(expectedCopyRule), ) } t.Run("updatable-media in S", func(t *testing.T) { - runTest(t, "S", "java/updatable-media.jar", ` + runTest(t, "S", "java/updatable-media.jar", "", ` .intermediates/updatable-media/android_common/package-check/updatable-media.jar -> java/updatable-media.jar `) }) t.Run("updatable-media in T", func(t *testing.T) { - runTest(t, "Tiramisu", "java_boot_libs/snapshot/jars/are/invalid/updatable-media.jar", ` -.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/updatable-media.jar + runTest(t, "Tiramisu", ":mysdk_updatable-media-error", ` +genrule { + name: "mysdk_updatable-media-error", + visibility: ["//visibility:private"], + out: ["this-file-will-never-be-created.jar"], + tool_files: ["scripts/invalid_implementation_jar.sh"], + cmd: "$(location scripts/invalid_implementation_jar.sh) updatable-media", +}`, ` +build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh `) }) } @@ -389,12 +407,20 @@ java_import { prefer: false, visibility: ["//visibility:public"], apex_available: ["//apex_available:platform"], - jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"], + jars: [":myexports_myjavalib-error"], permitted_packages: ["pkg.myjavalib"], } + +genrule { + name: "myexports_myjavalib-error", + visibility: ["//visibility:private"], + out: ["this-file-will-never-be-created.jar"], + tool_files: ["scripts/invalid_implementation_jar.sh"], + cmd: "$(location scripts/invalid_implementation_jar.sh) myjavalib", +} `), checkAllCopyRules(` -.intermediates/myexports/common_os/empty -> java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar +build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh `), ) } |