1load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_cross_binary", "go_library", "go_test") 2load("@io_bazel_rules_go//go/tools/bazel_testing:def.bzl", "go_bazel_test") 3load(":def.bzl", "no_context_info") 4 5test_suite( 6 name = "cross", 7) 8 9go_binary( 10 name = "windows_cross", 11 srcs = ["main.go"], 12 goarch = "amd64", 13 goos = "windows", 14 pure = "on", 15 deps = [":platform_lib"], 16) 17 18go_binary( 19 name = "linux_cross", 20 srcs = ["main.go"], 21 goarch = "amd64", 22 goos = "linux", 23 pure = "on", 24 deps = [":platform_lib"], 25) 26 27go_binary( 28 name = "darwin_cross", 29 srcs = ["main.go"], 30 goarch = "amd64", 31 goos = "darwin", 32 pure = "on", 33 deps = [":platform_lib"], 34) 35 36go_binary( 37 name = "asm_cross", 38 srcs = ["asm.s", "main.go"], 39 goarch = "386", 40 goos = "linux", 41 deps = [":platform_lib"], 42) 43 44go_binary( 45 name = "native_bin", 46 srcs = ["main.go"], 47 pure = "on", 48 deps = [":platform_lib"], 49) 50 51go_cross_binary( 52 name = "windows_go_cross", 53 platform = "@io_bazel_rules_go//go/toolchain:windows_amd64", 54 target = ":native_bin", 55) 56 57go_cross_binary( 58 name = "linux_go_cross", 59 platform = "@io_bazel_rules_go//go/toolchain:linux_amd64", 60 target = ":native_bin", 61) 62 63go_cross_binary( 64 name = "darwin_go_cross", 65 platform = "@io_bazel_rules_go//go/toolchain:darwin_amd64", 66 target = ":native_bin", 67) 68 69go_library( 70 name = "platform_lib", 71 srcs = select({ 72 "//go/platform:darwin": ["lib_darwin.go"], 73 "//go/platform:linux": ["lib_linux.go"], 74 "//go/platform:windows": ["lib_windows.go"], 75 }), 76 importpath = "github.com/bazelbuild/rules_go/tests/core/cross/platform_lib", 77) 78 79go_test( 80 name = "cross_test", 81 size = "small", 82 srcs = ["cross_test.go"], 83 args = [ 84 "-darwin", 85 "$(location :darwin_cross)", 86 "-linux", 87 "$(location :linux_cross)", 88 "-windows", 89 "$(location :windows_cross)", 90 ], 91 data = [ 92 ":darwin_cross", 93 ":linux_cross", 94 ":windows_cross", 95 ], 96 rundir = ".", 97 deps = ["//go/tools/bazel:go_default_library"], 98) 99 100go_test( 101 name = "go_cross_binary_test", 102 size = "small", 103 srcs = ["cross_test.go"], 104 args = [ 105 "-darwin", 106 "$(location :darwin_go_cross)", 107 "-linux", 108 "$(location :linux_go_cross)", 109 "-windows", 110 "$(location :windows_go_cross)", 111 ], 112 data = [ 113 ":darwin_go_cross", 114 ":linux_go_cross", 115 ":windows_go_cross", 116 ], 117 rundir = ".", 118 deps = ["//go/tools/bazel:go_default_library"], 119) 120 121go_bazel_test( 122 name = "ios_select_test", 123 srcs = ["ios_select_test.go"], 124) 125 126go_bazel_test( 127 name = "proto_test", 128 srcs = ["proto_test.go"], 129) 130 131go_bazel_test( 132 name = "sdk_version_test", 133 srcs = ["sdk_version_test.go"], 134) 135 136go_bazel_test( 137 name = "non_executable_test", 138 srcs = ["non_executable_test.go"], 139) 140 141no_context_info( 142 name = "no_context_info", 143) 144