aboutsummaryrefslogtreecommitdiff
path: root/tests/core/starlark/packagedriver
diff options
context:
space:
mode:
Diffstat (limited to 'tests/core/starlark/packagedriver')
-rw-r--r--tests/core/starlark/packagedriver/BUILD.bazel5
-rw-r--r--tests/core/starlark/packagedriver/fixtures/a/BUILD.bazel8
-rw-r--r--tests/core/starlark/packagedriver/fixtures/a/a.go5
-rw-r--r--tests/core/starlark/packagedriver/fixtures/b/BUILD.bazel8
-rw-r--r--tests/core/starlark/packagedriver/fixtures/b/b.go5
-rw-r--r--tests/core/starlark/packagedriver/fixtures/c/BUILD.bazel20
-rw-r--r--tests/core/starlark/packagedriver/fixtures/c/c.go11
-rw-r--r--tests/core/starlark/packagedriver/fixtures/c/c_test.go9
-rw-r--r--tests/core/starlark/packagedriver/go_pkg_info_aspect_test.bzl32
9 files changed, 103 insertions, 0 deletions
diff --git a/tests/core/starlark/packagedriver/BUILD.bazel b/tests/core/starlark/packagedriver/BUILD.bazel
new file mode 100644
index 00000000..45dd6aba
--- /dev/null
+++ b/tests/core/starlark/packagedriver/BUILD.bazel
@@ -0,0 +1,5 @@
+load(":go_pkg_info_aspect_test.bzl", "package_driver_suite")
+
+package_driver_suite(
+ name = "package_driver_test",
+)
diff --git a/tests/core/starlark/packagedriver/fixtures/a/BUILD.bazel b/tests/core/starlark/packagedriver/fixtures/a/BUILD.bazel
new file mode 100644
index 00000000..0dad32d9
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/a/BUILD.bazel
@@ -0,0 +1,8 @@
+load("//go:def.bzl", "go_library")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["a.go"],
+ importpath = "example.com/a",
+ visibility = ["//tests/core/starlark/packagedriver:__subpackages__"],
+)
diff --git a/tests/core/starlark/packagedriver/fixtures/a/a.go b/tests/core/starlark/packagedriver/fixtures/a/a.go
new file mode 100644
index 00000000..af058f6d
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/a/a.go
@@ -0,0 +1,5 @@
+package a
+
+func A() {
+ return
+}
diff --git a/tests/core/starlark/packagedriver/fixtures/b/BUILD.bazel b/tests/core/starlark/packagedriver/fixtures/b/BUILD.bazel
new file mode 100644
index 00000000..cdf5fd41
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/b/BUILD.bazel
@@ -0,0 +1,8 @@
+load("//go:def.bzl", "go_library")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["b.go"],
+ importpath = "example.com/b",
+ visibility = ["//tests/core/starlark/packagedriver:__subpackages__"],
+)
diff --git a/tests/core/starlark/packagedriver/fixtures/b/b.go b/tests/core/starlark/packagedriver/fixtures/b/b.go
new file mode 100644
index 00000000..869da65a
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/b/b.go
@@ -0,0 +1,5 @@
+package b
+
+func B() {
+ return
+}
diff --git a/tests/core/starlark/packagedriver/fixtures/c/BUILD.bazel b/tests/core/starlark/packagedriver/fixtures/c/BUILD.bazel
new file mode 100644
index 00000000..28e8ef92
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/c/BUILD.bazel
@@ -0,0 +1,20 @@
+load("//go:def.bzl", "go_library", "go_test")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["c.go"],
+ importpath = "example.com/c",
+ visibility = ["//tests/core/starlark/packagedriver:__subpackages__"],
+ deps = [
+ "//tests/core/starlark/packagedriver/fixtures/a:go_default_library",
+ "//tests/core/starlark/packagedriver/fixtures/b:go_default_library",
+ ],
+)
+
+go_test(
+ name = "go_default_test",
+ srcs = ["c_test.go"],
+ embed = [":go_default_library"],
+ tags = ["manual"],
+ visibility = ["//tests/core/starlark/packagedriver:__subpackages__"],
+)
diff --git a/tests/core/starlark/packagedriver/fixtures/c/c.go b/tests/core/starlark/packagedriver/fixtures/c/c.go
new file mode 100644
index 00000000..f8a8dd3b
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/c/c.go
@@ -0,0 +1,11 @@
+package c
+
+import (
+ "example.com/a"
+ "example.com/b"
+)
+
+func C() {
+ a.A()
+ b.B()
+}
diff --git a/tests/core/starlark/packagedriver/fixtures/c/c_test.go b/tests/core/starlark/packagedriver/fixtures/c/c_test.go
new file mode 100644
index 00000000..4b25df88
--- /dev/null
+++ b/tests/core/starlark/packagedriver/fixtures/c/c_test.go
@@ -0,0 +1,9 @@
+package c
+
+import (
+ "testing"
+)
+
+func TestC(t *testing.T) {
+ C()
+}
diff --git a/tests/core/starlark/packagedriver/go_pkg_info_aspect_test.bzl b/tests/core/starlark/packagedriver/go_pkg_info_aspect_test.bzl
new file mode 100644
index 00000000..80b8d8b6
--- /dev/null
+++ b/tests/core/starlark/packagedriver/go_pkg_info_aspect_test.bzl
@@ -0,0 +1,32 @@
+load("@bazel_skylib//lib:unittest.bzl", "analysistest", "asserts")
+load("//go/tools/gopackagesdriver:aspect.bzl", "go_pkg_info_aspect")
+
+def _package_driver_pkg_json_test_impl(ctx):
+ env = analysistest.begin(ctx)
+
+ target_under_test = analysistest.target_under_test(env)
+ json_files = [f.basename for f in target_under_test[OutputGroupInfo].go_pkg_driver_json_file.to_list()]
+ asserts.true(env, "go_default_test.pkg.json" in json_files, "{} does not contain go_default_test.pkg.json".format(json_files))
+
+ return analysistest.end(env)
+
+package_driver_pkg_json_test = analysistest.make(
+ _package_driver_pkg_json_test_impl,
+ extra_target_under_test_aspects = [go_pkg_info_aspect],
+)
+
+def _test_package_driver():
+ package_driver_pkg_json_test(
+ name = "package_driver_should_return_pkg_json_for_go_test",
+ target_under_test = "//tests/core/starlark/packagedriver/fixtures/c:go_default_test",
+ )
+
+def package_driver_suite(name):
+ _test_package_driver()
+
+ native.test_suite(
+ name = name,
+ tests = [
+ ":package_driver_should_return_pkg_json_for_go_test",
+ ],
+ )