From 103cbee07957977e372c1142a473faf7448cdc48 Mon Sep 17 00:00:00 2001 From: Richard Levasseur Date: Mon, 30 Oct 2023 15:34:11 -0700 Subject: [PATCH] tests: make multi_python_verions example bzlmod compatible Bazel is enabling bzlmod by default, which means the examples need to be updated to be bzlmod compatible. Fixes #1520 --- examples/multi_python_versions/MODULE.bazel | 57 +++++++++++++++++++ .../multi_python_versions/WORKSPACE.bzlmod | 0 .../tests/my_lib_test.py | 7 ++- 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 examples/multi_python_versions/MODULE.bazel create mode 100644 examples/multi_python_versions/WORKSPACE.bzlmod diff --git a/examples/multi_python_versions/MODULE.bazel b/examples/multi_python_versions/MODULE.bazel new file mode 100644 index 0000000000..1e5d32ebc0 --- /dev/null +++ b/examples/multi_python_versions/MODULE.bazel @@ -0,0 +1,57 @@ +module( + name = "multi_python_versions", +) + +bazel_dep(name = "bazel_skylib", version = "1.4.0") +bazel_dep(name = "rules_python", version = "0.0.0") +local_path_override( + module_name = "rules_python", + path = "../..", +) + +python = use_extension("@rules_python//python/extensions:python.bzl", "python") +python.toolchain( + configure_coverage_tool = True, + python_version = "3.8", +) +python.toolchain( + configure_coverage_tool = True, + # Only set when you have mulitple toolchain versions. + is_default = True, + python_version = "3.9", +) +python.toolchain( + configure_coverage_tool = True, + python_version = "3.10", +) +python.toolchain( + configure_coverage_tool = True, + python_version = "3.11", +) +use_repo( + python, + python = "python_versions", +) + +pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip") +use_repo(pip, "pypi") +pip.parse( + hub_name = "pypi", + python_version = "3.8", + requirements_lock = "//requirements:requirements_lock_3_8.txt", +) +pip.parse( + hub_name = "pypi", + python_version = "3.9", + requirements_lock = "//requirements:requirements_lock_3_9.txt", +) +pip.parse( + hub_name = "pypi", + python_version = "3.10", + requirements_lock = "//requirements:requirements_lock_3_10.txt", +) +pip.parse( + hub_name = "pypi", + python_version = "3.11", + requirements_lock = "//requirements:requirements_lock_3_11.txt", +) diff --git a/examples/multi_python_versions/WORKSPACE.bzlmod b/examples/multi_python_versions/WORKSPACE.bzlmod new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/multi_python_versions/tests/my_lib_test.py b/examples/multi_python_versions/tests/my_lib_test.py index e0a97dbf2b..1d4880ff8a 100644 --- a/examples/multi_python_versions/tests/my_lib_test.py +++ b/examples/multi_python_versions/tests/my_lib_test.py @@ -17,8 +17,11 @@ import libs.my_lib as my_lib -sanitized_version_check = f"{sys.version_info.major}_{sys.version_info.minor}" +workspace_version = f"{sys.version_info.major}_{sys.version_info.minor}" +bzlmod_version = f"{sys.version_info.major}{sys.version_info.minor}" -if not my_lib.websockets_is_for_python_version(sanitized_version_check): +if not my_lib.websockets_is_for_python_version( + workspace_version +) and not my_lib.websockets_is_for_python_version(bzlmod_version): print("expected package for Python version is different than returned") sys.exit(1)