From 8f64e2c50f0d0581b8f2931ec30e71fd00fc7bcb Mon Sep 17 00:00:00 2001 From: Ignas Anikevicius <240938+aignas@users.noreply.github.com> Date: Wed, 15 Oct 2025 07:47:52 +0900 Subject: [PATCH] test(venv): functional test for pth files (#3343) As requested in #3340, this adds a functional test for it all. Tests for #3339 --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- tests/venv_site_packages_libs/BUILD.bazel | 1 + tests/venv_site_packages_libs/bin.py | 2 ++ .../nested_with_pth/BUILD.bazel | 11 +++++++++++ .../nested_with_pth/site-packages/nested.pth | 1 + .../nested_sdk/nested_with_pth/__init__.py | 1 + 5 files changed, 16 insertions(+) create mode 100644 tests/venv_site_packages_libs/nested_with_pth/BUILD.bazel create mode 100644 tests/venv_site_packages_libs/nested_with_pth/site-packages/nested.pth create mode 100644 tests/venv_site_packages_libs/nested_with_pth/site-packages/nested_sdk/nested_with_pth/__init__.py diff --git a/tests/venv_site_packages_libs/BUILD.bazel b/tests/venv_site_packages_libs/BUILD.bazel index 2ce4ad9d22..2eb9678838 100644 --- a/tests/venv_site_packages_libs/BUILD.bazel +++ b/tests/venv_site_packages_libs/BUILD.bazel @@ -28,6 +28,7 @@ py_reconfig_test( venvs_site_packages = "yes", deps = [ ":closer_lib", + "//tests/venv_site_packages_libs/nested_with_pth", "//tests/venv_site_packages_libs/nspkg_alpha", "//tests/venv_site_packages_libs/nspkg_beta", "//tests/venv_site_packages_libs/pkgutil_top", diff --git a/tests/venv_site_packages_libs/bin.py b/tests/venv_site_packages_libs/bin.py index 772925f00e..c075f4fc65 100644 --- a/tests/venv_site_packages_libs/bin.py +++ b/tests/venv_site_packages_libs/bin.py @@ -40,6 +40,8 @@ def test_imported_from_venv(self): self.assert_imported_from_venv("nspkg.subnspkg.delta") self.assert_imported_from_venv("single_file") self.assert_imported_from_venv("simple") + m = self.assert_imported_from_venv("nested_with_pth") + self.assertEqual(m.WHOAMI, "nested_with_pth") def test_data_is_included(self): self.assert_imported_from_venv("simple") diff --git a/tests/venv_site_packages_libs/nested_with_pth/BUILD.bazel b/tests/venv_site_packages_libs/nested_with_pth/BUILD.bazel new file mode 100644 index 0000000000..68c16cfde9 --- /dev/null +++ b/tests/venv_site_packages_libs/nested_with_pth/BUILD.bazel @@ -0,0 +1,11 @@ +load("//python:py_library.bzl", "py_library") + +package(default_visibility = ["//visibility:public"]) + +py_library( + name = "nested_with_pth", + srcs = glob(["site-packages/**/*.py"]), + data = glob(["site-packages/*.pth"]), + experimental_venvs_site_packages = "//python/config_settings:venvs_site_packages", + imports = [package_name() + "/site-packages"], +) diff --git a/tests/venv_site_packages_libs/nested_with_pth/site-packages/nested.pth b/tests/venv_site_packages_libs/nested_with_pth/site-packages/nested.pth new file mode 100644 index 0000000000..924e0dccc8 --- /dev/null +++ b/tests/venv_site_packages_libs/nested_with_pth/site-packages/nested.pth @@ -0,0 +1 @@ +nested_sdk diff --git a/tests/venv_site_packages_libs/nested_with_pth/site-packages/nested_sdk/nested_with_pth/__init__.py b/tests/venv_site_packages_libs/nested_with_pth/site-packages/nested_sdk/nested_with_pth/__init__.py new file mode 100644 index 0000000000..adde64d3ef --- /dev/null +++ b/tests/venv_site_packages_libs/nested_with_pth/site-packages/nested_sdk/nested_with_pth/__init__.py @@ -0,0 +1 @@ +WHOAMI = "nested_with_pth"