Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions python/private/pypi/whl_library_targets.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -374,10 +374,6 @@ def whl_library_targets(
"**/*.py",
"**/*.pyc",
"**/*.pyc.*", # During pyc creation, temp files named *.pyc.NNNN are created
# RECORD is known to contain sha256 checksums of files which might include the checksums
# of generated files produced when wheels are installed. The file is ignored to avoid
# Bazel caching issues.
"**/*.dist-info/RECORD",
]
for item in data_exclude:
if item not in _data_exclude:
Expand Down
14 changes: 14 additions & 0 deletions tests/venv_site_packages_libs/BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,17 @@ py_reconfig_test(
"@whl_with_data2//:pkg",
],
)

py_reconfig_test(
name = "importlib_metadata_test",
srcs = ["importlib_metadata_test.py"],
bootstrap_impl = select({
"@platforms//os:windows": "system_python",
"//conditions:default": "script",
}),
main = "importlib_metadata_test.py",
venvs_site_packages = "yes",
deps = [
"@whl_with_data1//:pkg",
],
)
24 changes: 24 additions & 0 deletions tests/venv_site_packages_libs/importlib_metadata_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import importlib.metadata
import unittest


class ImportlibMetadataTest(unittest.TestCase):

def test_importlib_metadata_files(self):
files = importlib.metadata.files("whl-with-data1")
self.assertIsNotNone(files, "importlib.metadata.files returned None")
self.assertGreater(
len(files), 0, "importlib.metadata.files returned empty list"
)

# Verify it contains some expected files.
# The RECORD file lists paths relative to the installation root (site-packages).
# whl_with_data1-1.0.data/purelib/data_overlap.py should be installed as data_overlap.py
# whl_with_data1-1.0.data/platlib/whl_with_data1/platlib_file.txt should be whl_with_data1/platlib_file.txt

file_names = [f.name for f in files]
self.assertIn("data_overlap.py", file_names)


if __name__ == "__main__":
unittest.main()