diff options
author | Paul Duffin <paulduffin@google.com> | 2021-04-19 13:23:06 +0100 |
---|---|---|
committer | Paul Duffin <paulduffin@google.com> | 2021-04-21 23:54:22 +0100 |
commit | a57835e8e533b3af81807b4609d2c48531877e9f (patch) | |
tree | a5aee5d187987a972a37867f13c8357c8c361a70 /sdk/bootclasspath_fragment_sdk_test.go | |
parent | 0b28a8d3565fd8e8b108a44bade66f630b13753a (diff) |
bootclasspath_fragment: Add contents to snapshot
Bug: 177892522
Test: m nothing
Change-Id: I54fe0537b758a0e3dacd34b139ef3eb21b8841fd
Diffstat (limited to 'sdk/bootclasspath_fragment_sdk_test.go')
-rw-r--r-- | sdk/bootclasspath_fragment_sdk_test.go | 153 |
1 files changed, 149 insertions, 4 deletions
diff --git a/sdk/bootclasspath_fragment_sdk_test.go b/sdk/bootclasspath_fragment_sdk_test.go index 10f86e805..dac09de10 100644 --- a/sdk/bootclasspath_fragment_sdk_test.go +++ b/sdk/bootclasspath_fragment_sdk_test.go @@ -18,20 +18,56 @@ import ( "testing" "android/soong/android" + "android/soong/java" ) -func TestSnapshotWithBootclasspathFragment(t *testing.T) { +func TestSnapshotWithBootclasspathFragment_ImageName(t *testing.T) { result := android.GroupFixturePreparers( prepareForSdkTestWithJava, + prepareForSdkTestWithApex, + + // Some additional files needed for the art apex. + android.FixtureMergeMockFs(android.MockFS{ + "com.android.art.avbpubkey": nil, + "com.android.art.pem": nil, + "system/sepolicy/apex/com.android.art-file_contexts": nil, + }), + java.FixtureConfigureBootJars("com.android.art:mybootlib"), android.FixtureWithRootAndroidBp(` sdk { name: "mysdk", bootclasspath_fragments: ["mybootclasspathfragment"], + java_boot_libs: ["mybootlib"], + } + + apex { + name: "com.android.art", + key: "com.android.art.key", + bootclasspath_fragments: [ + "mybootclasspathfragment", + ], + updatable: false, } bootclasspath_fragment { name: "mybootclasspathfragment", image_name: "art", + apex_available: ["com.android.art"], + } + + apex_key { + name: "com.android.art.key", + public_key: "com.android.art.avbpubkey", + private_key: "com.android.art.pem", + } + + java_library { + name: "mybootlib", + srcs: ["Test.java"], + system_modules: "none", + sdk_version: "none", + compile_dex: true, + apex_available: ["com.android.art"], } `), ).RunTest(t) @@ -44,9 +80,17 @@ prebuilt_bootclasspath_fragment { name: "mybootclasspathfragment", prefer: false, visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], + apex_available: ["com.android.art"], image_name: "art", } + +java_import { + name: "mybootlib", + prefer: false, + visibility: ["//visibility:public"], + apex_available: ["com.android.art"], + jars: ["java/mybootlib.jar"], +} `), checkVersionedAndroidBpContents(` // This is auto-generated. DO NOT EDIT. @@ -55,17 +99,118 @@ prebuilt_bootclasspath_fragment { name: "mysdk_mybootclasspathfragment@current", sdk_member_name: "mybootclasspathfragment", visibility: ["//visibility:public"], - apex_available: ["//apex_available:platform"], + apex_available: ["com.android.art"], image_name: "art", } +java_import { + name: "mysdk_mybootlib@current", + sdk_member_name: "mybootlib", + visibility: ["//visibility:public"], + apex_available: ["com.android.art"], + jars: ["java/mybootlib.jar"], +} + +sdk_snapshot { + name: "mysdk@current", + visibility: ["//visibility:public"], + bootclasspath_fragments: ["mysdk_mybootclasspathfragment@current"], + java_boot_libs: ["mysdk_mybootlib@current"], +} +`), + checkAllCopyRules(` +.intermediates/mybootlib/android_common/javac/mybootlib.jar -> java/mybootlib.jar +`), + snapshotTestPreparer(checkSnapshotPreferredWithSource, android.GroupFixturePreparers( + android.FixtureAddTextFile("prebuilts/apex/Android.bp", ` + prebuilt_apex { + name: "com.android.art", + src: "art.apex", + exported_java_libs: [ + "mybootlib", + ], + } + `), + android.FixtureAddFile("prebuilts/apex/art.apex", nil), + ), + ), + ) +} + +func TestSnapshotWithBootClasspathFragment_Contents(t *testing.T) { + result := android.GroupFixturePreparers( + prepareForSdkTestWithJava, + android.FixtureWithRootAndroidBp(` + sdk { + name: "mysdk", + bootclasspath_fragments: ["mybootclasspathfragment"], + java_boot_libs: ["mybootlib"], + } + + bootclasspath_fragment { + name: "mybootclasspathfragment", + contents: ["mybootlib"], + } + + java_library { + name: "mybootlib", + srcs: ["Test.java"], + system_modules: "none", + sdk_version: "none", + compile_dex: true, + } + `), + ).RunTest(t) + + CheckSnapshot(t, result, "mysdk", "", + checkUnversionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. + +prebuilt_bootclasspath_fragment { + name: "mybootclasspathfragment", + prefer: false, + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + contents: ["mybootlib"], +} + +java_import { + name: "mybootlib", + prefer: false, + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + jars: ["java/mybootlib.jar"], +} +`), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. + +prebuilt_bootclasspath_fragment { + name: "mysdk_mybootclasspathfragment@current", + sdk_member_name: "mybootclasspathfragment", + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + contents: ["mysdk_mybootlib@current"], +} + +java_import { + name: "mysdk_mybootlib@current", + sdk_member_name: "mybootlib", + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + jars: ["java/mybootlib.jar"], +} + sdk_snapshot { name: "mysdk@current", visibility: ["//visibility:public"], bootclasspath_fragments: ["mysdk_mybootclasspathfragment@current"], + java_boot_libs: ["mysdk_mybootlib@current"], } `), - checkAllCopyRules("")) + checkAllCopyRules(` +.intermediates/mybootlib/android_common/javac/mybootlib.jar -> java/mybootlib.jar +`)) } // Test that bootclasspath_fragment works with sdk. |