From 7cdde299dcca05d03d1b6fc97de0f1619238bde1 Mon Sep 17 00:00:00 2001 From: Ignas Anikevicius <240938+aignas@users.noreply.github.com> Date: Sun, 12 Apr 2026 19:17:10 +0900 Subject: [PATCH] test(pypi): add argparse.bzl tests --- tests/pypi/argparse/BUILD.bazel | 3 ++ tests/pypi/argparse/argparse_tests.bzl | 48 ++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 tests/pypi/argparse/BUILD.bazel create mode 100644 tests/pypi/argparse/argparse_tests.bzl diff --git a/tests/pypi/argparse/BUILD.bazel b/tests/pypi/argparse/BUILD.bazel new file mode 100644 index 0000000000..b04da685e6 --- /dev/null +++ b/tests/pypi/argparse/BUILD.bazel @@ -0,0 +1,3 @@ +load(":argparse_tests.bzl", "argparse_test_suite") + +argparse_test_suite(name = "argparse_tests") diff --git a/tests/pypi/argparse/argparse_tests.bzl b/tests/pypi/argparse/argparse_tests.bzl new file mode 100644 index 0000000000..f8fd1c9481 --- /dev/null +++ b/tests/pypi/argparse/argparse_tests.bzl @@ -0,0 +1,48 @@ +"" + +load("@rules_testing//lib:test_suite.bzl", "test_suite") +load("//python/private/pypi:argparse.bzl", "argparse") # buildifier: disable=bzl-visibility + +_tests = [] + +def _test_index_url(env): + env.expect.that_str(argparse.index_url([], "default")).equals("default") + env.expect.that_str(argparse.index_url([], None)).equals(None) + + env.expect.that_str(argparse.index_url(["-i", "https://example.com/simple"], "default")).equals("https://example.com/simple") + env.expect.that_str(argparse.index_url(["--index-url", "https://example.com/simple"], "default")).equals("https://example.com/simple") + env.expect.that_str(argparse.index_url(["--index-url=https://example.com/simple"], "default")).equals("https://example.com/simple") + + env.expect.that_str(argparse.index_url(["--extra-index-url", "https://extra.com", "-i", "https://index.com"], "default")).equals("https://index.com") + +_tests.append(_test_index_url) + +def _test_extra_index_url(env): + env.expect.that_collection(argparse.extra_index_url([], ["default"])).contains_exactly(["default"]) + env.expect.that_collection(argparse.extra_index_url([], None)).contains_exactly([]) + + env.expect.that_collection(argparse.extra_index_url(["--extra-index-url", "https://extra.com/simple"], [])).contains_exactly(["https://extra.com/simple"]) + env.expect.that_collection(argparse.extra_index_url(["--extra-index-url=https://extra.com/simple"], [])).contains_exactly(["https://extra.com/simple"]) + + env.expect.that_collection(argparse.extra_index_url(["--extra-index-url", "https://first.com", "--extra-index-url", "https://second.com"], [])).contains_exactly(["https://first.com", "https://second.com"]) + +_tests.append(_test_extra_index_url) + +def _test_platform(env): + env.expect.that_collection(argparse.platform([], ["default"])).contains_exactly(["default"]) + env.expect.that_collection(argparse.platform([], None)).contains_exactly([]) + + env.expect.that_collection(argparse.platform(["--platform", "manylinux_2_17_x86_64"], [])).contains_exactly(["manylinux_2_17_x86_64"]) + env.expect.that_collection(argparse.platform(["--platform=manylinux_2_17_x86_64"], [])).contains_exactly(["manylinux_2_17_x86_64"]) + + env.expect.that_collection(argparse.platform(["--platform", "macosx_10_9_x86_64", "--platform", "linux_x86_64"], [])).contains_exactly(["macosx_10_9_x86_64", "linux_x86_64"]) + +_tests.append(_test_platform) + +def argparse_test_suite(name): + """Create the test suite. + + Args: + name: the name of the test suite + """ + test_suite(name = name, basic_tests = _tests)