aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authoruberzzr <107087969+uberzzr@users.noreply.github.com>2023-02-06 23:24:01 -0800
committerGitHub <noreply@github.com>2023-02-07 08:24:01 +0100
commit4ac086bff0fdca78fb42458e7b13b79ccc9d4ede (patch)
tree4fa508370cee863a66616ab4f999d96b21030c33 /tests
parent13e02a919127bc5826006dff9dc1446ffb3e848d (diff)
downloadbazelbuild-rules_go-4ac086bff0fdca78fb42458e7b13b79ccc9d4ede.tar.gz
add bazel test rule (#3447)
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/popular_repos/BUILD.bazel114
-rwxr-xr-xtests/integration/popular_repos/popular_repos.py20
2 files changed, 134 insertions, 0 deletions
diff --git a/tests/integration/popular_repos/BUILD.bazel b/tests/integration/popular_repos/BUILD.bazel
index b4ac0ca0..e0dc8a7d 100644
--- a/tests/integration/popular_repos/BUILD.bazel
+++ b/tests/integration/popular_repos/BUILD.bazel
@@ -15,6 +15,9 @@
##############################
# Generated file, do not edit!
##############################
+
+load("@bazel_skylib//rules:build_test.bzl", "build_test")
+
test_suite(
name = "org_golang_x_crypto",
tests = [
@@ -230,3 +233,114 @@ test_suite(
"@org_golang_x_mod//sumdb/storage:storage_test",
],
)
+
+build_test(
+ name = "need_test",
+ targets = [
+ "@org_golang_x_crypto//ssh/agent:agent",
+ "@org_golang_x_crypto//ssh/test:test",
+ "@org_golang_x_crypto//ssh:ssh",
+ "@org_golang_x_net//bpf:bpf",
+ "@org_golang_x_net//html/charset:charset",
+ "@org_golang_x_net//http2:http2",
+ "@org_golang_x_net//icmp:icmp",
+ "@org_golang_x_net//nettest:nettest",
+ "@org_golang_x_net//lif:lif",
+ "@org_golang_x_net//route:route",
+ "@org_golang_x_sys//unix:unix",
+ "@org_golang_x_sys//windows:windows",
+ "@org_golang_x_text//encoding/charmap:charmap",
+ "@org_golang_x_text//encoding/japanese:japanese",
+ "@org_golang_x_text//encoding/korean:korean",
+ "@org_golang_x_text//encoding/simplifiedchinese:simplifiedchinese",
+ "@org_golang_x_text//encoding/traditionalchinese:traditionalchinese",
+ "@org_golang_x_text//encoding/unicode/utf32:utf32",
+ "@org_golang_x_text//encoding/unicode:unicode",
+ "@org_golang_x_text//message/pipeline:pipeline",
+ "@org_golang_x_tools//blog:blog",
+ "@org_golang_x_tools//cmd/bundle:bundle",
+ "@org_golang_x_tools//cmd/callgraph:callgraph",
+ "@org_golang_x_tools//cmd/cover:cover",
+ "@org_golang_x_tools//cmd/file2fuzz:file2fuzz",
+ "@org_golang_x_tools//cmd/fiximports:fiximports",
+ "@org_golang_x_tools//cmd/godoc:godoc",
+ "@org_golang_x_tools//cmd/gorename:gorename",
+ "@org_golang_x_tools//cmd/guru:guru",
+ "@org_golang_x_tools//cmd/signature-fuzzer/fuzz-driver:fuzz-driver",
+ "@org_golang_x_tools//cmd/signature-fuzzer/fuzz-runner:fuzz-runner",
+ "@org_golang_x_tools//cmd/stringer:stringer",
+ "@org_golang_x_tools//container/intsets:intsets",
+ "@org_golang_x_tools//copyright:copyright",
+ "@org_golang_x_tools//go/analysis/analysistest:analysistest",
+ "@org_golang_x_tools//go/analysis/multichecker:multichecker",
+ "@org_golang_x_tools//go/analysis/passes/asmdecl:asmdecl",
+ "@org_golang_x_tools//go/analysis/passes/assign:assign",
+ "@org_golang_x_tools//go/analysis/passes/atomic:atomic",
+ "@org_golang_x_tools//go/analysis/passes/atomicalign:atomicalign",
+ "@org_golang_x_tools//go/analysis/passes/bools:bools",
+ "@org_golang_x_tools//go/analysis/passes/buildssa:buildssa",
+ "@org_golang_x_tools//go/analysis/passes/buildtag:buildtag",
+ "@org_golang_x_tools//go/analysis/passes/cgocall:cgocall",
+ "@org_golang_x_tools//go/analysis/passes/composite:composite",
+ "@org_golang_x_tools//go/analysis/passes/copylock:copylock",
+ "@org_golang_x_tools//go/analysis/passes/ctrlflow:ctrlflow",
+ "@org_golang_x_tools//go/analysis/passes/deepequalerrors:deepequalerrors",
+ "@org_golang_x_tools//go/analysis/passes/errorsas:errorsas",
+ "@org_golang_x_tools//go/analysis/passes/fieldalignment:fieldalignment",
+ "@org_golang_x_tools//go/analysis/passes/findcall:findcall",
+ "@org_golang_x_tools//go/analysis/passes/framepointer:framepointer",
+ "@org_golang_x_tools//go/analysis/passes/httpresponse:httpresponse",
+ "@org_golang_x_tools//go/analysis/passes/ifaceassert:ifaceassert",
+ "@org_golang_x_tools//go/analysis/passes/loopclosure:loopclosure",
+ "@org_golang_x_tools//go/analysis/passes/lostcancel:lostcancel",
+ "@org_golang_x_tools//go/analysis/passes/nilfunc:nilfunc",
+ "@org_golang_x_tools//go/analysis/passes/nilness:nilness",
+ "@org_golang_x_tools//go/analysis/passes/pkgfact:pkgfact",
+ "@org_golang_x_tools//go/analysis/passes/printf:printf",
+ "@org_golang_x_tools//go/analysis/passes/reflectvaluecompare:reflectvaluecompare",
+ "@org_golang_x_tools//go/analysis/passes/shadow:shadow",
+ "@org_golang_x_tools//go/analysis/passes/shift:shift",
+ "@org_golang_x_tools//go/analysis/passes/sigchanyzer:sigchanyzer",
+ "@org_golang_x_tools//go/analysis/passes/sortslice:sortslice",
+ "@org_golang_x_tools//go/analysis/passes/stdmethods:stdmethods",
+ "@org_golang_x_tools//go/analysis/passes/stringintconv:stringintconv",
+ "@org_golang_x_tools//go/analysis/passes/structtag:structtag",
+ "@org_golang_x_tools//go/analysis/passes/testinggoroutine:testinggoroutine",
+ "@org_golang_x_tools//go/analysis/passes/tests:tests",
+ "@org_golang_x_tools//go/analysis/passes/unmarshal:unmarshal",
+ "@org_golang_x_tools//go/analysis/passes/unreachable:unreachable",
+ "@org_golang_x_tools//go/analysis/passes/unsafeptr:unsafeptr",
+ "@org_golang_x_tools//go/analysis/passes/unusedresult:unusedresult",
+ "@org_golang_x_tools//go/analysis/passes/unusedwrite:unusedwrite",
+ "@org_golang_x_tools//go/analysis/passes/timeformat:timeformat",
+ "@org_golang_x_tools//go/analysis/passes/usesgenerics:usesgenerics",
+ "@org_golang_x_tools//go/analysis/unitchecker:unitchecker",
+ "@org_golang_x_tools//go/ast/inspector:inspector",
+ "@org_golang_x_tools//go/buildutil:buildutil",
+ "@org_golang_x_tools//go/callgraph/cha:cha",
+ "@org_golang_x_tools//go/callgraph/rta:rta",
+ "@org_golang_x_tools//go/callgraph/vta:vta",
+ "@org_golang_x_tools//go/expect:expect",
+ "@org_golang_x_tools//go/gccgoexportdata:gccgoexportdata",
+ "@org_golang_x_tools//go/gcexportdata:gcexportdata",
+ "@org_golang_x_tools//go/loader:loader",
+ "@org_golang_x_tools//go/packages/packagestest/testdata:testdata",
+ "@org_golang_x_tools//go/packages/packagestest:packagestest",
+ "@org_golang_x_tools//go/packages:packages",
+ "@org_golang_x_tools//go/pointer:pointer",
+ "@org_golang_x_tools//go/ssa/interp:interp",
+ "@org_golang_x_tools//go/ssa/ssautil:ssautil",
+ "@org_golang_x_tools//go/ssa:ssa",
+ "@org_golang_x_tools//go/types/typeutil:typeutil",
+ "@org_golang_x_tools//go/types/objectpath:objectpath",
+ "@org_golang_x_tools//godoc/static:static",
+ "@org_golang_x_tools//godoc/vfs/zipfs:zipfs",
+ "@org_golang_x_tools//godoc:godoc",
+ "@org_golang_x_tools//present:present",
+ "@org_golang_x_tools//refactor/eg:eg",
+ "@org_golang_x_tools//refactor/importgraph:importgraph",
+ "@org_golang_x_tools//refactor/rename:rename",
+ "@org_golang_x_mod//sumdb/tlog:tlog",
+ "@org_golang_x_mod//zip:zip",
+ ],
+)
diff --git a/tests/integration/popular_repos/popular_repos.py b/tests/integration/popular_repos/popular_repos.py
index c846302b..d61ec9b5 100755
--- a/tests/integration/popular_repos/popular_repos.py
+++ b/tests/integration/popular_repos/popular_repos.py
@@ -258,6 +258,10 @@ It helps catch changes that might break a large number of users.
""".lstrip()
+LOAD_BAZEL_TEST_RULE = """
+load("@bazel_skylib//rules:build_test.bzl", "build_test")
+"""
+
def popular_repos_bzl():
with open(path.join(path.dirname(__file__), "popular_repos.bzl"), "w") as f:
f.write(BZL_HEADER)
@@ -272,6 +276,8 @@ def popular_repos_bzl():
def build_bazel():
with open(path.join(path.dirname(__file__), "BUILD.bazel"), "w") as f:
f.write(BUILD_HEADER)
+ f.write("\n" + LOAD_BAZEL_TEST_RULE)
+ need_test = []
for repo in POPULAR_REPOS:
name = repo["name"]
tests = check_output(["bazel", "query", "kind(go_test, \"@{}//...\")".format(name)], text=True).split("\n")
@@ -282,6 +288,7 @@ def build_bazel():
invalid_excludes = [t for t in excludes if not t in tests]
if invalid_excludes:
exit("Invalid excludes found: {}".format(invalid_excludes))
+ need_test.extend(excludes)
f.write('\ntest_suite(\n')
f.write(' name = "{}",\n'.format(name))
f.write(' tests = [\n')
@@ -295,6 +302,19 @@ def build_bazel():
f.write(')\n')
repo["actual"] = actual
+ # add bazel test rule
+ f.write('\nbuild_test(\n')
+ f.write(' name = "{}",\n'.format("need_test"))
+ f.write(' targets = [\n')
+ for package in need_test:
+ if "/internal/" not in package and "/testdata/" not in package:
+ if package.endswith("_test"):
+ f.write(' "{}",\n'.format(package[:-5]))
+ else:
+ f.write(' "{}",\n'.format(package))
+ f.write(' ],\n')
+ f.write(')\n')
+
def readme_rst():
with open(path.join(path.dirname(__file__), "README.rst"), "w") as f:
f.write(DOCUMENTATION_HEADER)