aboutsummaryrefslogtreecommitdiff
path: root/tests/core/starlark/sdk_tests.bzl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/core/starlark/sdk_tests.bzl')
-rw-r--r--tests/core/starlark/sdk_tests.bzl86
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/core/starlark/sdk_tests.bzl b/tests/core/starlark/sdk_tests.bzl
new file mode 100644
index 00000000..5339aec6
--- /dev/null
+++ b/tests/core/starlark/sdk_tests.bzl
@@ -0,0 +1,86 @@
+load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest")
+load("//go/private:sdk.bzl", "go_toolchains_single_definition")
+
+def _go_toolchains_single_definition_with_version_test(ctx):
+ env = unittest.begin(ctx)
+
+ result = go_toolchains_single_definition(
+ ctx = None,
+ prefix = "123_prefix_",
+ goos = "linux",
+ goarch = "amd64",
+ sdk_repo = "sdk_repo",
+ sdk_type = "download",
+ sdk_version = "1.20.2rc1",
+ )
+ asserts.equals(env, [], result.loads)
+ asserts.equals(env, [
+ """
+_123_PREFIX_MAJOR_VERSION = "1"
+_123_PREFIX_MINOR_VERSION = "20"
+_123_PREFIX_PATCH_VERSION = "2"
+_123_PREFIX_PRERELEASE_SUFFIX = "rc1"
+""",
+ """declare_bazel_toolchains(
+ prefix = "123_prefix_",
+ go_toolchain_repo = "@sdk_repo",
+ host_goarch = "amd64",
+ host_goos = "linux",
+ major = _123_PREFIX_MAJOR_VERSION,
+ minor = _123_PREFIX_MINOR_VERSION,
+ patch = _123_PREFIX_PATCH_VERSION,
+ prerelease = _123_PREFIX_PRERELEASE_SUFFIX,
+ sdk_type = "download",
+)
+""",
+ ], result.chunks)
+
+ return unittest.end(env)
+
+go_toolchains_single_definition_with_version_test = unittest.make(_go_toolchains_single_definition_with_version_test)
+
+def _go_toolchains_single_definition_without_version_test(ctx):
+ env = unittest.begin(ctx)
+
+ result = go_toolchains_single_definition(
+ ctx = None,
+ prefix = "123_prefix_",
+ goos = "linux",
+ goarch = "amd64",
+ sdk_repo = "sdk_repo",
+ sdk_type = "download",
+ sdk_version = None,
+ )
+ asserts.equals(env, ["""load(
+ "@sdk_repo//:version.bzl",
+ _123_PREFIX_MAJOR_VERSION = "MAJOR_VERSION",
+ _123_PREFIX_MINOR_VERSION = "MINOR_VERSION",
+ _123_PREFIX_PATCH_VERSION = "PATCH_VERSION",
+ _123_PREFIX_PRERELEASE_SUFFIX = "PRERELEASE_SUFFIX",
+)
+"""], result.loads)
+ asserts.equals(env, [
+ """declare_bazel_toolchains(
+ prefix = "123_prefix_",
+ go_toolchain_repo = "@sdk_repo",
+ host_goarch = "amd64",
+ host_goos = "linux",
+ major = _123_PREFIX_MAJOR_VERSION,
+ minor = _123_PREFIX_MINOR_VERSION,
+ patch = _123_PREFIX_PATCH_VERSION,
+ prerelease = _123_PREFIX_PRERELEASE_SUFFIX,
+ sdk_type = "download",
+)
+""",
+ ], result.chunks)
+
+ return unittest.end(env)
+
+go_toolchains_single_definition_without_version_test = unittest.make(_go_toolchains_single_definition_without_version_test)
+
+def sdk_test_suite():
+ unittest.suite(
+ "sdk_tests",
+ go_toolchains_single_definition_with_version_test,
+ go_toolchains_single_definition_without_version_test,
+ )