Cleanup bp2build tests to reduce repetition

Test: go test bp2build tests
Change-Id: Ia96a1a8ed58d5be13fedf31e1667670efdfe3aef
This commit is contained in:
Liz Kammer
2021-09-10 10:06:32 -04:00
parent 5fad501aeb
commit 8337ea4e7d
4 changed files with 360 additions and 699 deletions

View File

@@ -25,18 +25,18 @@ const (
// See cc/testing.go for more context
soongCcLibraryHeadersPreamble = `
cc_defaults {
name: "linux_bionic_supported",
name: "linux_bionic_supported",
}
toolchain_library {
name: "libclang_rt.builtins-x86_64-android",
defaults: ["linux_bionic_supported"],
vendor_available: true,
vendor_ramdisk_available: true,
product_available: true,
recovery_available: true,
native_bridge_supported: true,
src: "",
name: "libclang_rt.builtins-x86_64-android",
defaults: ["linux_bionic_supported"],
vendor_available: true,
vendor_ramdisk_available: true,
product_available: true,
recovery_available: true,
native_bridge_supported: true,
src: "",
}`
)
@@ -99,11 +99,13 @@ func TestCcLibraryHeadersSimple(t *testing.T) {
cc_library_headers {
name: "lib-1",
export_include_dirs: ["lib-1"],
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "lib-2",
export_include_dirs: ["lib-2"],
bazel_module: { bp2build_available: false },
}
cc_library_headers {
@@ -113,7 +115,7 @@ cc_library_headers {
arch: {
arm64: {
// We expect dir-1 headers to be dropped, because dir-1 is already in export_include_dirs
// We expect dir-1 headers to be dropped, because dir-1 is already in export_include_dirs
export_include_dirs: ["arch_arm64_exported_include_dir", "dir-1"],
},
x86: {
@@ -145,25 +147,11 @@ cc_library_headers {
":lib-1",
":lib-2",
],
)`, `cc_library_headers(
name = "lib-1",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
export_includes = ["lib-1"],
)`, `cc_library_headers(
name = "lib-2",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
export_includes = ["lib-2"],
)`},
})
}
func TestCcLibraryHeadersOSSpecificHeader(t *testing.T) {
func TestCcLibraryHeadersOsSpecificHeader(t *testing.T) {
runCcLibraryHeadersTestCase(t, bp2buildTestCase{
description: "cc_library_headers test with os-specific header_libs props",
moduleTypeUnderTest: "cc_library_headers",
@@ -171,12 +159,30 @@ func TestCcLibraryHeadersOSSpecificHeader(t *testing.T) {
moduleTypeUnderTestBp2BuildMutator: cc.CcLibraryHeadersBp2Build,
filesystem: map[string]string{},
blueprint: soongCcLibraryPreamble + `
cc_library_headers { name: "android-lib" }
cc_library_headers { name: "base-lib" }
cc_library_headers { name: "darwin-lib" }
cc_library_headers { name: "linux-lib" }
cc_library_headers { name: "linux_bionic-lib" }
cc_library_headers { name: "windows-lib" }
cc_library_headers {
name: "android-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "base-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "darwin-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "linux-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "linux_bionic-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "windows-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "foo_headers",
header_libs: ["base-lib"],
@@ -187,32 +193,10 @@ cc_library_headers {
linux_glibc: { header_libs: ["linux-lib"] },
windows: { header_libs: ["windows-lib"] },
},
bazel_module: { bp2build_available: true },
include_build_directory: false,
}`,
expectedBazelTargets: []string{`cc_library_headers(
name = "android-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "base-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "darwin-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "foo_headers",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
implementation_deps = [":base-lib"] + select({
"//build/bazel/platforms/os:android": [":android-lib"],
"//build/bazel/platforms/os:darwin": [":darwin-lib"],
@@ -221,24 +205,6 @@ cc_library_headers {
"//build/bazel/platforms/os:windows": [":windows-lib"],
"//conditions:default": [],
}),
)`, `cc_library_headers(
name = "linux-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "linux_bionic-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "windows-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`},
})
}
@@ -251,32 +217,23 @@ func TestCcLibraryHeadersOsSpecficHeaderLibsExportHeaderLibHeaders(t *testing.T)
moduleTypeUnderTestBp2BuildMutator: cc.CcLibraryHeadersBp2Build,
filesystem: map[string]string{},
blueprint: soongCcLibraryPreamble + `
cc_library_headers { name: "android-lib" }
cc_library_headers { name: "exported-lib" }
cc_library_headers {
name: "android-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "exported-lib",
bazel_module: { bp2build_available: false },
}
cc_library_headers {
name: "foo_headers",
target: {
android: { header_libs: ["android-lib"], export_header_lib_headers: ["exported-lib"] },
},
include_build_directory: false,
}`,
expectedBazelTargets: []string{`cc_library_headers(
name = "android-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "exported-lib",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
)`, `cc_library_headers(
name = "foo_headers",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
deps = select({
"//build/bazel/platforms/os:android": [":exported-lib"],
"//conditions:default": [],
@@ -299,14 +256,14 @@ func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) {
blueprint: soongCcLibraryPreamble + `cc_library_headers {
name: "foo_headers",
export_system_include_dirs: [
"shared_include_dir",
"shared_include_dir",
],
target: {
android: {
export_system_include_dirs: [
"android_include_dir",
android: {
export_system_include_dirs: [
"android_include_dir",
],
},
},
linux_glibc: {
export_system_include_dirs: [
"linux_include_dir",
@@ -320,23 +277,20 @@ func TestCcLibraryHeadersArchAndTargetExportSystemIncludes(t *testing.T) {
},
arch: {
arm: {
export_system_include_dirs: [
"arm_include_dir",
export_system_include_dirs: [
"arm_include_dir",
],
},
},
x86_64: {
export_system_include_dirs: [
"x86_64_include_dir",
],
},
},
include_build_directory: false,
}`,
expectedBazelTargets: []string{`cc_library_headers(
name = "foo_headers",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
export_system_includes = ["shared_include_dir"] + select({
"//build/bazel/platforms/arch:arm": ["arm_include_dir"],
"//build/bazel/platforms/arch:x86_64": ["x86_64_include_dir"],
@@ -375,13 +329,10 @@ cc_library_headers {
name: "lib-1",
export_include_dirs: ["lib-1"],
no_libcrt: true,
include_build_directory: false,
}`,
expectedBazelTargets: []string{`cc_library_headers(
name = "lib-1",
copts = [
"-I.",
"-I$(BINDIR)/.",
],
export_includes = ["lib-1"],
)`},
})