diff options
author | 2019-12-03 15:25:00 +0000 | |
---|---|---|
committer | 2019-12-06 12:16:59 +0000 | |
commit | a80fdec00dfefe9f56d5be08860e8035bdd49dce (patch) | |
tree | 10636e0ba34e8a5a72ccc7677856fe04882db682 /sdk/sdk_test.go | |
parent | c3c5d5e351b8ed863b59cf6cf68322b16061c1b8 (diff) |
Extract the cc and java sdk related tests out into their own file
Makes it easier for multiple people to work on different areas without
conflicts.
Bug: 143678475
Test: m conscrypt-module-sdk
Change-Id: I93140450c0b049946a9d0432225bccff82f5a873
Diffstat (limited to 'sdk/sdk_test.go')
-rw-r--r-- | sdk/sdk_test.go | 524 |
1 files changed, 0 insertions, 524 deletions
diff --git a/sdk/sdk_test.go b/sdk/sdk_test.go index 0b8dfc9e5..0a9dfb10c 100644 --- a/sdk/sdk_test.go +++ b/sdk/sdk_test.go @@ -16,8 +16,6 @@ package sdk import ( "testing" - - "android/soong/cc" ) // Needed in an _test.go file in this package to ensure tests run correctly, particularly in IDE. @@ -25,189 +23,6 @@ func TestMain(m *testing.M) { runTestWithBuildDir(m) } -func TestBasicSdkWithJava(t *testing.T) { - result := testSdk(t, ` - sdk { - name: "mysdk", - java_libs: ["myjavalib"], - } - - sdk_snapshot { - name: "mysdk@1", - java_libs: ["sdkmember_mysdk_1"], - } - - sdk_snapshot { - name: "mysdk@2", - java_libs: ["sdkmember_mysdk_2"], - } - - java_import { - name: "sdkmember", - prefer: false, - host_supported: true, - } - - java_import { - name: "sdkmember_mysdk_1", - sdk_member_name: "sdkmember", - host_supported: true, - } - - java_import { - name: "sdkmember_mysdk_2", - sdk_member_name: "sdkmember", - host_supported: true, - } - - java_library { - name: "myjavalib", - srcs: ["Test.java"], - libs: ["sdkmember"], - system_modules: "none", - sdk_version: "none", - compile_dex: true, - host_supported: true, - } - - apex { - name: "myapex", - java_libs: ["myjavalib"], - uses_sdks: ["mysdk@1"], - key: "myapex.key", - certificate: ":myapex.cert", - } - - apex { - name: "myapex2", - java_libs: ["myjavalib"], - uses_sdks: ["mysdk@2"], - key: "myapex.key", - certificate: ":myapex.cert", - } - `) - - sdkMemberV1 := result.ModuleForTests("sdkmember_mysdk_1", "android_common_myapex").Rule("combineJar").Output - sdkMemberV2 := result.ModuleForTests("sdkmember_mysdk_2", "android_common_myapex2").Rule("combineJar").Output - - javalibForMyApex := result.ModuleForTests("myjavalib", "android_common_myapex") - javalibForMyApex2 := result.ModuleForTests("myjavalib", "android_common_myapex2") - - // Depending on the uses_sdks value, different libs are linked - ensureListContains(t, pathsToStrings(javalibForMyApex.Rule("javac").Implicits), sdkMemberV1.String()) - ensureListContains(t, pathsToStrings(javalibForMyApex2.Rule("javac").Implicits), sdkMemberV2.String()) -} - -func TestBasicSdkWithCc(t *testing.T) { - result := testSdk(t, ` - sdk { - name: "mysdk", - native_shared_libs: ["sdkmember"], - } - - sdk_snapshot { - name: "mysdk@1", - native_shared_libs: ["sdkmember_mysdk_1"], - } - - sdk_snapshot { - name: "mysdk@2", - native_shared_libs: ["sdkmember_mysdk_2"], - } - - cc_prebuilt_library_shared { - name: "sdkmember", - srcs: ["libfoo.so"], - prefer: false, - system_shared_libs: [], - stl: "none", - } - - cc_prebuilt_library_shared { - name: "sdkmember_mysdk_1", - sdk_member_name: "sdkmember", - srcs: ["libfoo.so"], - system_shared_libs: [], - stl: "none", - } - - cc_prebuilt_library_shared { - name: "sdkmember_mysdk_2", - sdk_member_name: "sdkmember", - srcs: ["libfoo.so"], - system_shared_libs: [], - stl: "none", - } - - cc_library_shared { - name: "mycpplib", - srcs: ["Test.cpp"], - shared_libs: ["sdkmember"], - system_shared_libs: [], - stl: "none", - } - - apex { - name: "myapex", - native_shared_libs: ["mycpplib"], - uses_sdks: ["mysdk@1"], - key: "myapex.key", - certificate: ":myapex.cert", - } - - apex { - name: "myapex2", - native_shared_libs: ["mycpplib"], - uses_sdks: ["mysdk@2"], - key: "myapex.key", - certificate: ":myapex.cert", - } - `) - - sdkMemberV1 := result.ModuleForTests("sdkmember_mysdk_1", "android_arm64_armv8-a_core_shared_myapex").Rule("toc").Output - sdkMemberV2 := result.ModuleForTests("sdkmember_mysdk_2", "android_arm64_armv8-a_core_shared_myapex2").Rule("toc").Output - - cpplibForMyApex := result.ModuleForTests("mycpplib", "android_arm64_armv8-a_core_shared_myapex") - cpplibForMyApex2 := result.ModuleForTests("mycpplib", "android_arm64_armv8-a_core_shared_myapex2") - - // Depending on the uses_sdks value, different libs are linked - ensureListContains(t, pathsToStrings(cpplibForMyApex.Rule("ld").Implicits), sdkMemberV1.String()) - ensureListContains(t, pathsToStrings(cpplibForMyApex2.Rule("ld").Implicits), sdkMemberV2.String()) -} - -// Note: This test does not verify that a droidstubs can be referenced, either -// directly or indirectly from an APEX as droidstubs can never be a part of an -// apex. -func TestBasicSdkWithDroidstubs(t *testing.T) { - testSdk(t, ` - sdk { - name: "mysdk", - stubs_sources: ["mystub"], - } - sdk_snapshot { - name: "mysdk@10", - stubs_sources: ["mystub_mysdk@10"], - } - prebuilt_stubs_sources { - name: "mystub_mysdk@10", - sdk_member_name: "mystub", - srcs: ["stubs-sources/foo/bar/Foo.java"], - } - droidstubs { - name: "mystub", - srcs: ["foo/bar/Foo.java"], - sdk_version: "none", - system_modules: "none", - } - java_library { - name: "myjavalib", - srcs: [":mystub"], - sdk_version: "none", - system_modules: "none", - } - `) -} - func TestDepNotInRequiredSdks(t *testing.T) { testSdkError(t, `module "myjavalib".*depends on "otherlib".*that isn't part of the required SDKs:.*`, ` sdk { @@ -264,342 +79,3 @@ func TestDepNotInRequiredSdks(t *testing.T) { } `) } - -func TestSdkIsCompileMultilibBoth(t *testing.T) { - result := testSdk(t, ` - sdk { - name: "mysdk", - native_shared_libs: ["sdkmember"], - } - - cc_library_shared { - name: "sdkmember", - srcs: ["Test.cpp"], - system_shared_libs: [], - stl: "none", - } - `) - - armOutput := result.Module("sdkmember", "android_arm_armv7-a-neon_core_shared").(*cc.Module).OutputFile() - arm64Output := result.Module("sdkmember", "android_arm64_armv8-a_core_shared").(*cc.Module).OutputFile() - - var inputs []string - buildParams := result.Module("mysdk", "android_common").BuildParamsForTests() - for _, bp := range buildParams { - if bp.Input != nil { - inputs = append(inputs, bp.Input.String()) - } - } - - // ensure that both 32/64 outputs are inputs of the sdk snapshot - ensureListContains(t, inputs, armOutput.String()) - ensureListContains(t, inputs, arm64Output.String()) -} - -func TestSnapshot(t *testing.T) { - result := testSdk(t, ` - sdk { - name: "mysdk", - java_libs: ["myjavalib"], - native_shared_libs: ["mynativelib"], - stubs_sources: ["myjavaapistubs"], - } - - java_library { - name: "myjavalib", - srcs: ["Test.java"], - aidl: { - export_include_dirs: ["aidl"], - }, - system_modules: "none", - sdk_version: "none", - compile_dex: true, - host_supported: true, - } - - cc_library_shared { - name: "mynativelib", - srcs: [ - "Test.cpp", - "aidl/foo/bar/Test.aidl", - ], - export_include_dirs: ["include"], - aidl: { - export_aidl_headers: true, - }, - system_shared_libs: [], - stl: "none", - } - - droidstubs { - name: "myjavaapistubs", - srcs: ["foo/bar/Foo.java"], - system_modules: "none", - sdk_version: "none", - } - `) - - result.CheckSnapshot("mysdk", "android_common", - checkAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - jars: ["java/myjavalib.jar"], -} - -java_import { - name: "myjavalib", - prefer: false, - jars: ["java/myjavalib.jar"], -} - -prebuilt_stubs_sources { - name: "mysdk_myjavaapistubs@current", - sdk_member_name: "myjavaapistubs", - srcs: ["java/myjavaapistubs_stubs_sources"], -} - -prebuilt_stubs_sources { - name: "myjavaapistubs", - prefer: false, - srcs: ["java/myjavaapistubs_stubs_sources"], -} - -cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", - arch: { - arm64: { - srcs: ["arm64/lib/mynativelib.so"], - export_include_dirs: [ - "arm64/include/include", - "arm64/include_gen/mynativelib", - ], - }, - arm: { - srcs: ["arm/lib/mynativelib.so"], - export_include_dirs: [ - "arm/include/include", - "arm/include_gen/mynativelib", - ], - }, - }, - stl: "none", - system_shared_libs: [], -} - -cc_prebuilt_library_shared { - name: "mynativelib", - prefer: false, - arch: { - arm64: { - srcs: ["arm64/lib/mynativelib.so"], - export_include_dirs: [ - "arm64/include/include", - "arm64/include_gen/mynativelib", - ], - }, - arm: { - srcs: ["arm/lib/mynativelib.so"], - export_include_dirs: [ - "arm/include/include", - "arm/include_gen/mynativelib", - ], - }, - }, - stl: "none", - system_shared_libs: [], -} - -sdk_snapshot { - name: "mysdk@current", - java_libs: ["mysdk_myjavalib@current"], - stubs_sources: ["mysdk_myjavaapistubs@current"], - native_shared_libs: ["mysdk_mynativelib@current"], -} -`), - checkAllCopyRules(` -.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar -aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl -.intermediates/mynativelib/android_arm64_armv8-a_core_shared/mynativelib.so -> arm64/lib/mynativelib.so -include/Test.h -> arm64/include/include/Test.h -.intermediates/mynativelib/android_arm64_armv8-a_core_shared/gen/aidl/aidl/foo/bar/Test.h -> arm64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/android_arm64_armv8-a_core_shared/gen/aidl/aidl/foo/bar/BnTest.h -> arm64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/android_arm64_armv8-a_core_shared/gen/aidl/aidl/foo/bar/BpTest.h -> arm64/include_gen/mynativelib/aidl/foo/bar/BpTest.h -.intermediates/mynativelib/android_arm_armv7-a-neon_core_shared/mynativelib.so -> arm/lib/mynativelib.so -include/Test.h -> arm/include/include/Test.h -.intermediates/mynativelib/android_arm_armv7-a-neon_core_shared/gen/aidl/aidl/foo/bar/Test.h -> arm/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/android_arm_armv7-a-neon_core_shared/gen/aidl/aidl/foo/bar/BnTest.h -> arm/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/android_arm_armv7-a-neon_core_shared/gen/aidl/aidl/foo/bar/BpTest.h -> arm/include_gen/mynativelib/aidl/foo/bar/BpTest.h -`), - checkMergeZip(".intermediates/mysdk/android_common/tmp/java/myjavaapistubs_stubs_sources.zip"), - ) -} - -func TestHostSnapshot(t *testing.T) { - // b/145598135 - Generating host snapshots for anything other than linux is not supported. - SkipIfNotLinux(t) - - result := testSdk(t, ` - sdk { - name: "mysdk", - device_supported: false, - host_supported: true, - java_libs: ["myjavalib"], - native_shared_libs: ["mynativelib"], - stubs_sources: ["myjavaapistubs"], - } - - java_library { - name: "myjavalib", - device_supported: false, - host_supported: true, - srcs: ["Test.java"], - aidl: { - export_include_dirs: ["aidl"], - }, - system_modules: "none", - sdk_version: "none", - compile_dex: true, - } - - cc_library_shared { - name: "mynativelib", - device_supported: false, - host_supported: true, - srcs: [ - "Test.cpp", - "aidl/foo/bar/Test.aidl", - ], - export_include_dirs: ["include"], - aidl: { - export_aidl_headers: true, - }, - system_shared_libs: [], - stl: "none", - } - - droidstubs { - name: "myjavaapistubs", - device_supported: false, - host_supported: true, - srcs: ["foo/bar/Foo.java"], - system_modules: "none", - sdk_version: "none", - } - `) - - result.CheckSnapshot("mysdk", "linux_glibc_common", - checkAndroidBpContents(` -// This is auto-generated. DO NOT EDIT. - -java_import { - name: "mysdk_myjavalib@current", - sdk_member_name: "myjavalib", - device_supported: false, - host_supported: true, - jars: ["java/myjavalib.jar"], -} - -java_import { - name: "myjavalib", - prefer: false, - device_supported: false, - host_supported: true, - jars: ["java/myjavalib.jar"], -} - -prebuilt_stubs_sources { - name: "mysdk_myjavaapistubs@current", - sdk_member_name: "myjavaapistubs", - device_supported: false, - host_supported: true, - srcs: ["java/myjavaapistubs_stubs_sources"], -} - -prebuilt_stubs_sources { - name: "myjavaapistubs", - prefer: false, - device_supported: false, - host_supported: true, - srcs: ["java/myjavaapistubs_stubs_sources"], -} - -cc_prebuilt_library_shared { - name: "mysdk_mynativelib@current", - sdk_member_name: "mynativelib", - device_supported: false, - host_supported: true, - arch: { - x86_64: { - srcs: ["x86_64/lib/mynativelib.so"], - export_include_dirs: [ - "x86_64/include/include", - "x86_64/include_gen/mynativelib", - ], - }, - x86: { - srcs: ["x86/lib/mynativelib.so"], - export_include_dirs: [ - "x86/include/include", - "x86/include_gen/mynativelib", - ], - }, - }, - stl: "none", - system_shared_libs: [], -} - -cc_prebuilt_library_shared { - name: "mynativelib", - prefer: false, - device_supported: false, - host_supported: true, - arch: { - x86_64: { - srcs: ["x86_64/lib/mynativelib.so"], - export_include_dirs: [ - "x86_64/include/include", - "x86_64/include_gen/mynativelib", - ], - }, - x86: { - srcs: ["x86/lib/mynativelib.so"], - export_include_dirs: [ - "x86/include/include", - "x86/include_gen/mynativelib", - ], - }, - }, - stl: "none", - system_shared_libs: [], -} - -sdk_snapshot { - name: "mysdk@current", - device_supported: false, - host_supported: true, - java_libs: ["mysdk_myjavalib@current"], - stubs_sources: ["mysdk_myjavaapistubs@current"], - native_shared_libs: ["mysdk_mynativelib@current"], -} -`), - checkAllCopyRules(` -.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar -aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl -.intermediates/mynativelib/linux_glibc_x86_64_shared/mynativelib.so -> x86_64/lib/mynativelib.so -include/Test.h -> x86_64/include/include/Test.h -.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/Test.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BnTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_64_shared/gen/aidl/aidl/foo/bar/BpTest.h -> x86_64/include_gen/mynativelib/aidl/foo/bar/BpTest.h -.intermediates/mynativelib/linux_glibc_x86_shared/mynativelib.so -> x86/lib/mynativelib.so -include/Test.h -> x86/include/include/Test.h -.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/Test.h -> x86/include_gen/mynativelib/aidl/foo/bar/Test.h -.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BnTest.h -> x86/include_gen/mynativelib/aidl/foo/bar/BnTest.h -.intermediates/mynativelib/linux_glibc_x86_shared/gen/aidl/aidl/foo/bar/BpTest.h -> x86/include_gen/mynativelib/aidl/foo/bar/BpTest.h -`), - checkMergeZip(".intermediates/mysdk/linux_glibc_common/tmp/java/myjavaapistubs_stubs_sources.zip"), - ) -} |