aboutsummaryrefslogtreecommitdiff
path: root/tests/core/go_binary/BUILD.bazel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/core/go_binary/BUILD.bazel')
-rw-r--r--tests/core/go_binary/BUILD.bazel193
1 files changed, 193 insertions, 0 deletions
diff --git a/tests/core/go_binary/BUILD.bazel b/tests/core/go_binary/BUILD.bazel
new file mode 100644
index 00000000..99a2d784
--- /dev/null
+++ b/tests/core/go_binary/BUILD.bazel
@@ -0,0 +1,193 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
+load("@io_bazel_rules_go//go/tools/bazel_testing:def.bzl", "go_bazel_test")
+load(":many_deps.bzl", "many_deps")
+
+test_suite(name = "go_binary")
+
+go_bazel_test(
+ name = "configurable_attribute_bad_test",
+ srcs = ["configurable_attribute_bad_test.go"],
+)
+
+go_bazel_test(
+ name = "configurable_attribute_good_test",
+ srcs = ["configurable_attribute_good_test.go"],
+)
+
+go_binary(
+ name = "hello",
+ srcs = ["hello.go"],
+ visibility = ["//visibility:public"],
+)
+
+go_test(
+ name = "go_default_test",
+ srcs = ["out_test.go"],
+ data = [":custom_bin"],
+)
+
+go_bazel_test(
+ name = "package_conflict_test",
+ srcs = ["package_conflict_test.go"],
+)
+
+go_binary(
+ name = "custom_bin",
+ srcs = ["custom_bin.go"],
+ out = "alt_bin",
+)
+
+go_binary(
+ name = "goos_pure_bin",
+ srcs = [
+ "broken_cgo.go",
+ "hello.go",
+ ],
+ goarch = "amd64",
+ goos = "plan9",
+)
+
+many_deps(name = "many_deps")
+
+go_test(
+ name = "stamp_test",
+ srcs = ["stamp_test.go"],
+ data = [":stamp_bin"],
+ rundir = ".",
+ deps = ["@io_bazel_rules_go//go/tools/bazel:go_default_library"],
+)
+
+go_binary(
+ name = "stamp_bin",
+ srcs = ["stamp_bin.go"],
+ embed = [":stamp_embed"],
+ x_defs = {
+ "Bin": "Bin",
+ "example.com/stamp_dep.DepBin": "DepBin",
+ },
+ deps = [":stamp_dep"],
+)
+
+go_library(
+ name = "stamp_embed",
+ srcs = ["stamp_embed.go"],
+ importpath = "example.com/stamp_embed",
+ x_defs = {
+ "Embed": "Embed",
+ },
+)
+
+go_library(
+ name = "stamp_dep",
+ srcs = ["stamp_dep.go"],
+ importpath = "example.com/stamp_dep",
+ x_defs = {
+ "DepSelf": "DepSelf",
+ },
+)
+
+go_binary(
+ name = "hello_pie_bin",
+ srcs = ["hello.go"],
+ cgo = True,
+ linkmode = "pie",
+ tags = ["manual"],
+)
+
+go_binary(
+ name = "hello_nopie_bin",
+ srcs = ["hello.go"],
+ cgo = True,
+ tags = ["manual"],
+)
+
+go_test(
+ name = "pie_test",
+ srcs = [
+ "pie_darwin_amd64_test.go",
+ "pie_darwin_test.go",
+ "pie_linux_test.go",
+ ],
+ data = select({
+ "@io_bazel_rules_go//go/platform:darwin": [
+ ":hello_nopie_bin",
+ ":hello_pie_bin",
+ ],
+ "@io_bazel_rules_go//go/platform:linux": [
+ ":hello_nopie_bin",
+ ":hello_pie_bin",
+ ],
+ "//conditions:default": [],
+ }),
+ rundir = ".",
+ deps = ["@io_bazel_rules_go//go/tools/bazel:go_default_library"],
+)
+
+go_test(
+ name = "static_test",
+ srcs = ["static_test.go"],
+ data = select({
+ "@io_bazel_rules_go//go/platform:linux": [
+ ":static_bin",
+ ":static_cgo_bin",
+ ":static_pure_bin",
+ ],
+ "//conditions:default": [],
+ }),
+ rundir = ".",
+ deps = ["//go/tools/bazel:go_default_library"],
+)
+
+go_binary(
+ name = "static_bin",
+ srcs = ["static_bin.go"],
+ static = "on",
+ tags = ["manual"],
+ deps = ["@org_golang_x_sys//unix:go_default_library"],
+)
+
+go_binary(
+ name = "static_cgo_bin",
+ srcs = ["static_cgo_bin.go"],
+ cgo = True,
+ static = "on",
+ tags = ["manual"],
+)
+
+go_binary(
+ name = "static_pure_bin",
+ srcs = ["static_pure_bin.go"],
+ pure = "on",
+ static = "on",
+ tags = ["manual"],
+)
+
+go_binary(
+ name = "tags_bin",
+ srcs = [
+ "tags_main_bad.go",
+ "tags_main_good.go",
+ ],
+ gotags = ["good"],
+ deps = [":tags_lib"],
+)
+
+go_library(
+ name = "tags_lib",
+ srcs = [
+ "tags_lib_bad.go",
+ "tags_lib_good.go",
+ ],
+ importpath = "tags_lib",
+ tags = ["manual"],
+)
+
+go_binary(
+ name = "prefix",
+ embed = ["//tests/core/go_binary/prefix"],
+)
+
+go_bazel_test(
+ name = "non_executable_test",
+ srcs = ["non_executable_test.go"],
+)