12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package bp2build
- import (
- "fmt"
- "testing"
- "android/soong/cc"
- )
- func TestSharedPrebuiltLibrary(t *testing.T) {
- RunBp2BuildTestCaseSimple(t,
- Bp2buildTestCase{
- Description: "prebuilt library shared simple",
- ModuleTypeUnderTest: "cc_prebuilt_library_shared",
- ModuleTypeUnderTestFactory: cc.PrebuiltSharedLibraryFactory,
- Filesystem: map[string]string{
- "libf.so": "",
- },
- Blueprint: `
- cc_prebuilt_library_shared {
- name: "libtest",
- srcs: ["libf.so"],
- bazel_module: { bp2build_available: true },
- }`,
- ExpectedBazelTargets: []string{
- MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{
- "shared_library": `"libf.so"`,
- }),
- },
- })
- }
- func TestSharedPrebuiltLibraryWithArchVariance(t *testing.T) {
- RunBp2BuildTestCaseSimple(t,
- Bp2buildTestCase{
- Description: "prebuilt library shared with arch variance",
- ModuleTypeUnderTest: "cc_prebuilt_library_shared",
- ModuleTypeUnderTestFactory: cc.PrebuiltSharedLibraryFactory,
- Filesystem: map[string]string{
- "libf.so": "",
- "libg.so": "",
- },
- Blueprint: `
- cc_prebuilt_library_shared {
- name: "libtest",
- arch: {
- arm64: { srcs: ["libf.so"], },
- arm: { srcs: ["libg.so"], },
- },
- bazel_module: { bp2build_available: true },
- }`,
- ExpectedBazelTargets: []string{
- MakeBazelTarget("cc_prebuilt_library_shared", "libtest", AttrNameToString{
- "shared_library": `select({
- "//build/bazel/platforms/arch:arm": "libg.so",
- "//build/bazel/platforms/arch:arm64": "libf.so",
- "//conditions:default": None,
- })`,
- }),
- },
- })
- }
- func TestSharedPrebuiltLibrarySharedStanzaFails(t *testing.T) {
- RunBp2BuildTestCaseSimple(t,
- Bp2buildTestCase{
- Description: "prebuilt library shared with shared stanza fails because multiple sources",
- ModuleTypeUnderTest: "cc_prebuilt_library_shared",
- ModuleTypeUnderTestFactory: cc.PrebuiltSharedLibraryFactory,
- Filesystem: map[string]string{
- "libf.so": "",
- "libg.so": "",
- },
- Blueprint: `
- cc_prebuilt_library_shared {
- name: "libtest",
- srcs: ["libf.so"],
- shared: {
- srcs: ["libg.so"],
- },
- bazel_module: { bp2build_available: true},
- }`,
- ExpectedErr: fmt.Errorf("Expected at most one source file"),
- })
- }
|