• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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