1load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") 2load("@io_bazel_rules_go//go/tools/bazel_testing:def.bzl", "go_bazel_test") 3 4test_suite( 5 name = "go_test", 6) 7 8go_library( 9 name = "lib", 10 srcs = ["lib.go"], 11 cgo = True, 12 importpath = "lib", 13) 14 15go_test( 16 name = "internal_test", 17 size = "small", 18 srcs = ["internal_test.go"], 19 embed = [":lib"], 20 x_defs = { 21 "Got": "Internal", 22 "Expect": "Internal", 23 }, 24) 25 26go_test( 27 name = "external_test", 28 size = "small", 29 srcs = ["external_test.go"], 30 embed = [":lib"], 31 x_defs = { 32 "Got": "External", 33 "Expect": "External", 34 }, 35) 36 37go_test( 38 name = "combined_test", 39 size = "small", 40 srcs = [ 41 "external_test.go", 42 "internal_test.go", 43 ], 44 embed = [":lib"], 45 x_defs = { 46 "Got": "Combined", 47 "Expect": "Combined", 48 }, 49) 50 51go_test( 52 name = "flag_test", 53 size = "small", 54 srcs = [ 55 "flag_test.go", 56 ], 57 args = [ 58 "-aflag", 59 "somevalue", 60 ], 61) 62 63go_test( 64 name = "example_test", 65 size = "small", 66 srcs = ["example_test.go"], 67 embed = [":lib"], 68 x_defs = { 69 "Got": "Example", 70 "Expected": "Example", 71 }, 72) 73 74go_test( 75 name = "only_testmain_test", 76 size = "small", 77 srcs = ["only_testmain_test.go"], 78) 79 80go_test( 81 name = "external_importmap_test", 82 size = "small", 83 srcs = ["external_importmap_test.go"], 84 embed = [":external_importmap_lib"], 85 deps = [":external_importmap_dep"], 86) 87 88go_library( 89 name = "external_importmap_lib", 90 srcs = ["external_importmap_lib.go"], 91 importmap = "x/github.com/bazelbuild/rules_go/tests/core/go_test/external_importmap", 92 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/external_importmap", 93) 94 95go_library( 96 name = "external_importmap_dep", 97 srcs = ["external_importmap_dep.go"], 98 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/external_importmap_dep", 99 deps = [":external_importmap_lib"], 100) 101 102go_test( 103 name = "pwd_test", 104 size = "small", 105 srcs = ["pwd_test.go"], 106) 107 108go_test( 109 name = "data_test", 110 size = "small", 111 embed = [":data_test_lib"], 112) 113 114go_library( 115 name = "data_test_lib", 116 srcs = [":data_test_srcs"], 117 data = ["x"], 118 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/data_test", 119 deps = [":data_test_dep"], 120) 121 122filegroup( 123 name = "data_test_srcs", 124 srcs = ["data_test.go"], 125) 126 127go_library( 128 name = "data_test_dep", 129 srcs = ["data_test_dep.go"], 130 data = ["y"], 131 embed = [":data_test_embed"], 132 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/data_test_dep", 133) 134 135go_library( 136 name = "data_test_embed", 137 srcs = ["data_test_embed.go"], 138 data = ["z"], 139 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/data_test_dep", 140) 141 142go_bazel_test( 143 name = "test_fail_fast_test", 144 srcs = ["test_fail_fast_test.go"], 145) 146 147go_bazel_test( 148 name = "test_filter_test", 149 srcs = ["test_filter_test.go"], 150) 151 152go_bazel_test( 153 name = "xmlreport_test", 154 srcs = ["xmlreport_test.go"], 155) 156 157go_test( 158 name = "testmain_import_test", 159 srcs = [ 160 "testmain_import_indirect_test.go", 161 "testmain_import_main_test.go", 162 ], 163 importpath = "example.com/imports/test_main", 164) 165 166go_test( 167 name = "tags_test", 168 srcs = [ 169 "tags_bad_test.go", 170 "tags_good_test.go", 171 ], 172 gotags = ["good"], 173) 174 175go_test( 176 name = "indirect_import_test", 177 srcs = [ 178 "indirect_import_i_test.go", 179 "indirect_import_x_test.go", 180 ], 181 embed = [":indirect_import_lib"], 182 deps = [":indirect_import_dep"], 183) 184 185go_library( 186 name = "indirect_import_lib", 187 srcs = ["indirect_import_lib.go"], 188 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/indirect_import", 189) 190 191go_library( 192 name = "indirect_import_dep", 193 srcs = ["indirect_import_dep.go"], 194 importpath = "github.com/bazelbuild/rules_go/tests/core/go_test/indirect_import_dep", 195 deps = [":indirect_import_lib"], 196) 197 198[ 199 go_test( 200 name = "same_package_{}_test".format(i), 201 srcs = ["same_package_test.go"], 202 ) 203 for i in range(1, 80) 204] 205 206test_suite( 207 name = "same_package_test", 208 tests = ["same_package_{}_test".format(i) for i in range(1, 80)], 209) 210 211go_bazel_test( 212 name = "testmain_without_exit_test", 213 srcs = ["testmain_without_exit_test.go"], 214) 215 216go_test( 217 name = "wrapper_test", 218 srcs = ["wrapper_test.go"], 219 args = ["$(location :wrapped_test)"], 220 data = [":wrapped_test"], 221 rundir = ".", 222) 223 224go_test( 225 name = "wrapped_test", 226 srcs = ["wrapped_test.go"], 227 tags = ["manual"], 228) 229 230go_test( 231 name = "fuzz_test", 232 srcs = ["fuzz_test.go"], 233) 234 235go_test( 236 name = "env_test", 237 srcs = ["env_test.go"], 238 data = ["@go_sdk//:lib/time/zoneinfo.zip"], 239 env = { 240 "ZONEINFO": "$(execpath @go_sdk//:lib/time/zoneinfo.zip)", 241 }, 242 deps = [ 243 "@io_bazel_rules_go//go/tools/bazel", 244 ], 245) 246 247go_test( 248 name = "sharding_test", 249 srcs = ["sharding_test.go"], 250 shard_count = 2, 251) 252 253go_bazel_test( 254 name = "env_inherit_test", 255 srcs = ["env_inherit_test.go"], 256) 257 258go_bazel_test( 259 name = "binary_env_test", 260 srcs = ["binary_env_test.go"], 261) 262