• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest")
2load("//go/private:sdk.bzl", "go_toolchains_single_definition")
3
4def _go_toolchains_single_definition_with_version_test(ctx):
5    env = unittest.begin(ctx)
6
7    result = go_toolchains_single_definition(
8        ctx = None,
9        prefix = "123_prefix_",
10        goos = "linux",
11        goarch = "amd64",
12        sdk_repo = "sdk_repo",
13        sdk_type = "download",
14        sdk_version = "1.20.2rc1",
15    )
16    asserts.equals(env, [], result.loads)
17    asserts.equals(env, [
18        """
19_123_PREFIX_MAJOR_VERSION = "1"
20_123_PREFIX_MINOR_VERSION = "20"
21_123_PREFIX_PATCH_VERSION = "2"
22_123_PREFIX_PRERELEASE_SUFFIX = "rc1"
23""",
24        """declare_bazel_toolchains(
25    prefix = "123_prefix_",
26    go_toolchain_repo = "@sdk_repo",
27    host_goarch = "amd64",
28    host_goos = "linux",
29    major = _123_PREFIX_MAJOR_VERSION,
30    minor = _123_PREFIX_MINOR_VERSION,
31    patch = _123_PREFIX_PATCH_VERSION,
32    prerelease = _123_PREFIX_PRERELEASE_SUFFIX,
33    sdk_type = "download",
34)
35""",
36    ], result.chunks)
37
38    return unittest.end(env)
39
40go_toolchains_single_definition_with_version_test = unittest.make(_go_toolchains_single_definition_with_version_test)
41
42def _go_toolchains_single_definition_without_version_test(ctx):
43    env = unittest.begin(ctx)
44
45    result = go_toolchains_single_definition(
46        ctx = None,
47        prefix = "123_prefix_",
48        goos = "linux",
49        goarch = "amd64",
50        sdk_repo = "sdk_repo",
51        sdk_type = "download",
52        sdk_version = None,
53    )
54    asserts.equals(env, ["""load(
55    "@sdk_repo//:version.bzl",
56    _123_PREFIX_MAJOR_VERSION = "MAJOR_VERSION",
57    _123_PREFIX_MINOR_VERSION = "MINOR_VERSION",
58    _123_PREFIX_PATCH_VERSION = "PATCH_VERSION",
59    _123_PREFIX_PRERELEASE_SUFFIX = "PRERELEASE_SUFFIX",
60)
61"""], result.loads)
62    asserts.equals(env, [
63        """declare_bazel_toolchains(
64    prefix = "123_prefix_",
65    go_toolchain_repo = "@sdk_repo",
66    host_goarch = "amd64",
67    host_goos = "linux",
68    major = _123_PREFIX_MAJOR_VERSION,
69    minor = _123_PREFIX_MINOR_VERSION,
70    patch = _123_PREFIX_PATCH_VERSION,
71    prerelease = _123_PREFIX_PRERELEASE_SUFFIX,
72    sdk_type = "download",
73)
74""",
75    ], result.chunks)
76
77    return unittest.end(env)
78
79go_toolchains_single_definition_without_version_test = unittest.make(_go_toolchains_single_definition_without_version_test)
80
81def sdk_test_suite():
82    unittest.suite(
83        "sdk_tests",
84        go_toolchains_single_definition_with_version_test,
85        go_toolchains_single_definition_without_version_test,
86    )
87