aboutsummaryrefslogtreecommitdiff
path: root/tests/core/starlark/common_tests.bzl
diff options
context:
space:
mode:
authorSpandan Das <spandandas@google.com>2023-06-14 23:24:22 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-06-14 23:24:22 +0000
commitde80525bbabc1267e61286f2d4dccc553c7063e9 (patch)
treed9fac15bb5a835ae6ba757dc5eaf6ef597ea44cf /tests/core/starlark/common_tests.bzl
parent9803cf8403d7105bddc1d5304d6e694b781a6605 (diff)
parent6cf433ad1b548a8bd2d8fddce696af5e29cf950f (diff)
downloadbazelbuild-rules_go-de80525bbabc1267e61286f2d4dccc553c7063e9.tar.gz
Merge remote-tracking branch 'aosp/upstream-master' into merge_rules_go am: 49dcd02124 am: 711a453236 am: 6cf433ad1b
Original change: https://android-review.googlesource.com/c/platform/external/bazelbuild-rules_go/+/2625353 Change-Id: Idebe5ece264c411614cce92bcce1993eaff330b2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'tests/core/starlark/common_tests.bzl')
-rw-r--r--tests/core/starlark/common_tests.bzl53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/core/starlark/common_tests.bzl b/tests/core/starlark/common_tests.bzl
new file mode 100644
index 00000000..e83d65f3
--- /dev/null
+++ b/tests/core/starlark/common_tests.bzl
@@ -0,0 +1,53 @@
+load("@bazel_skylib//lib:unittest.bzl", "asserts", "unittest")
+load("//go/private:common.bzl", "count_group_matches", "has_shared_lib_extension")
+
+def _versioned_shared_libraries_test(ctx):
+ env = unittest.begin(ctx)
+
+ # See //src/test/java/com/google/devtools/build/lib/rules/cpp:CppFileTypesTest.java
+ # for the corresponding native C++ rules tests.
+ asserts.true(env, has_shared_lib_extension("somelibrary.so"))
+ asserts.true(env, has_shared_lib_extension("somelibrary.so.2"))
+ asserts.true(env, has_shared_lib_extension("somelibrary.so.20"))
+ asserts.true(env, has_shared_lib_extension("somelibrary.so.20.2"))
+ asserts.true(env, has_shared_lib_extension("a/somelibrary.so.2"))
+ asserts.true(env, has_shared_lib_extension("somelibrary✅.so.2"))
+ asserts.true(env, has_shared_lib_extension("somelibrary✅.so.2.1"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.e"))
+ asserts.false(env, has_shared_lib_extension("xx.1"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.2e"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.e2"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.20.e2"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.a.2"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.a..2"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.2."))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so."))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.2🚫"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so.🚫2"))
+ asserts.false(env, has_shared_lib_extension("somelibrary.so🚫.2.0"))
+
+ return unittest.end(env)
+
+versioned_shared_libraries_test = unittest.make(_versioned_shared_libraries_test)
+
+def _count_group_matches_test(ctx):
+ env = unittest.begin(ctx)
+
+ asserts.equals(env, 1, count_group_matches("{foo_status}", "{foo_", "}"))
+ asserts.equals(env, 1, count_group_matches("{foo_status} {status}", "{foo_", "}"))
+ asserts.equals(env, 0, count_group_matches("{foo_status}", "{bar_", "}"))
+ asserts.equals(env, 1, count_group_matches("{foo_status}", "{", "}"))
+ asserts.equals(env, 2, count_group_matches("{foo} {bar}", "{", "}"))
+ asserts.equals(env, 2, count_group_matches("{foo{bar} {baz}", "{", "}"))
+
+ return unittest.end(env)
+
+count_group_matches_test = unittest.make(_count_group_matches_test)
+
+def common_test_suite():
+ """Creates the test targets and test suite for common.bzl tests."""
+ unittest.suite(
+ "common_tests",
+ versioned_shared_libraries_test,
+ count_group_matches_test,
+ )