| # Copyright 2023 The Bazel Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| load("@rules_bazel_integration_test//bazel_integration_test:defs.bzl", "default_test_runner") |
| load("//python:py_binary.bzl", "py_binary") |
| load("//python:py_library.bzl", "py_library") |
| load("//tests/support:support.bzl", "NOT_WINDOWS") |
| load(":integration_test.bzl", "rules_python_integration_test") |
| |
| licenses(["notice"]) |
| |
| _WORKSPACE_FLAGS = [ |
| "--noenable_bzlmod", |
| "--enable_workspace", |
| ] |
| |
| default_test_runner( |
| name = "workspace_test_runner", |
| bazel_cmds = [ |
| "info {}".format(" ".join(_WORKSPACE_FLAGS)), |
| "test {} //...".format(" ".join(_WORKSPACE_FLAGS)), |
| ], |
| visibility = ["//visibility:public"], |
| ) |
| |
| default_test_runner( |
| name = "test_runner", |
| visibility = ["//visibility:public"], |
| ) |
| |
| rules_python_integration_test( |
| name = "bzlmod_lockfile_test", |
| bazel_versions = ["9.1.0"], |
| ) |
| |
| test_suite( |
| name = "subset", |
| tags = ["manual"], |
| tests = [ |
| "bzlmod_lockfile_test_bazel_9.1.0", |
| "local_toolchains_test_bazel_self", |
| "uv_lock_test_bazel_self", |
| ], |
| ) |
| |
| rules_python_integration_test( |
| name = "compile_pip_requirements_test", |
| ) |
| |
| rules_python_integration_test( |
| name = "compile_pip_requirements_workspace_test", |
| bzlmod = False, |
| workspace_path = "compile_pip_requirements", |
| ) |
| |
| rules_python_integration_test( |
| name = "local_toolchains_test", |
| env = { |
| "RULES_PYTHON_BZLMOD_DEBUG": "1", |
| }, |
| ) |
| |
| rules_python_integration_test( |
| name = "local_toolchains_workspace_test", |
| bzlmod = False, |
| env = { |
| "RULES_PYTHON_BZLMOD_DEBUG": "1", |
| }, |
| workspace_path = "local_toolchains", |
| ) |
| |
| rules_python_integration_test( |
| name = "pip_parse_test", |
| ) |
| |
| rules_python_integration_test( |
| name = "pip_parse_isolated_test", |
| ) |
| |
| rules_python_integration_test( |
| name = "pip_parse_workspace_test", |
| bzlmod = False, |
| workspace_path = "pip_parse", |
| ) |
| |
| rules_python_integration_test( |
| name = "py_cc_toolchain_registered_test", |
| ) |
| |
| rules_python_integration_test( |
| name = "py_cc_toolchain_registered_workspace_test", |
| bzlmod = False, |
| workspace_path = "py_cc_toolchain_registered", |
| ) |
| |
| rules_python_integration_test( |
| name = "runtime_manifests_test", |
| ) |
| |
| rules_python_integration_test( |
| name = "custom_commands_test", |
| py_main = "custom_commands_test.py", |
| ) |
| |
| rules_python_integration_test( |
| name = "toolchain_target_settings_test", |
| py_main = "toolchain_target_settings_test.py", |
| ) |
| |
| rules_python_integration_test( |
| name = "uv_lock_test", |
| py_deps = [ |
| "@pypiserver//pypiserver", |
| ":uv_lock_pypi_server_lib", |
| ], |
| py_main = "uv_lock_test.py", |
| ) |
| |
| py_library( |
| name = "runner_lib", |
| srcs = ["runner.py"], |
| imports = ["../../"], |
| ) |
| |
| py_library( |
| name = "uv_lock_pypi_server_lib", |
| srcs = ["uv_lock_pypi_server.py"], |
| imports = ["../../"], |
| # currently windows is not working due to |
| # https://github.com/pypiserver/pypiserver/blob/main/pypiserver/config.py#L123 |
| # |
| # class DEFAULTS: |
| # .... |
| # PACKAGE_DIRECTORIES = [pathlib.Path("~/packages").expanduser().resolve()] |
| # .... |
| # |
| # which is loaded through `__init__.py` even though it is not used and breaks because |
| # in a Windows sandbox one cannot resolve the home directory. |
| target_compatible_with = NOT_WINDOWS, |
| deps = ["@pypiserver//pypiserver"], |
| ) |
| |
| py_binary( |
| name = "uv_lock_pypi_server", |
| srcs = ["uv_lock_pypi_server.py"], |
| deps = [":uv_lock_pypi_server_lib"], |
| ) |