diff options
Diffstat (limited to 'tests/core/starlark/sdk_tests.bzl')
-rw-r--r-- | tests/core/starlark/sdk_tests.bzl | 86 |
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, + ) |