Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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",
Comment thread
rickeylev marked this conversation as resolved.
]
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()