Skip to content

Commit fa9cca4

Browse files
committed
test_packages_distributions_all_module_types() must create existing files for all the entries in RECORD
1 parent 33eb7b4 commit fa9cca4

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

tests/fixtures.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ def build_files(file_defs, prefix=pathlib.Path()):
351351
full_name.mkdir()
352352
build_files(contents, prefix=full_name)
353353
else:
354+
full_name.parent.mkdir(parents=True, exist_ok=True)
354355
if isinstance(contents, bytes):
355356
with full_name.open('wb') as f:
356357
f.write(contents)

tests/test_main.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import unittest
44
import importlib
55
import importlib_metadata
6+
import itertools
67
import pyfakefs.fake_filesystem_unittest as ffs
78

89
from . import fixtures
@@ -338,24 +339,30 @@ def test_packages_distributions_all_module_types(self):
338339
Test top-level modules detected on a package without 'top-level.txt'.
339340
"""
340341
suffixes = importlib.machinery.all_suffixes()
342+
filenames = list(
343+
itertools.chain.from_iterable(
344+
[
345+
f'{i}-top-level{suffix}',
346+
f'{i}-in-namespace/mod{suffix}',
347+
f'{i}-in-package/__init__.py',
348+
f'{i}-in-package/mod{suffix}',
349+
]
350+
for i, suffix in enumerate(suffixes)
351+
)
352+
)
341353
fixtures.build_files(
342354
{
343355
'all_distributions-1.0.0.dist-info': {
344356
'METADATA': """
345357
Name: all_distributions
346358
Version: 1.0.0
347359
""",
348-
'RECORD': ''.join(
349-
f'{i}-top-level{suffix},,\n'
350-
f'{i}-in-namespace/mod{suffix},,\n'
351-
f'{i}-in-package/__init__.py,,\n'
352-
f'{i}-in-package/mod{suffix},,\n'
353-
for i, suffix in enumerate(suffixes)
354-
),
360+
'RECORD': ''.join(f'{fname},,\n' for fname in filenames),
355361
},
356362
},
357363
prefix=self.site_dir,
358364
)
365+
fixtures.build_files({fname: "" for fname in filenames}, prefix=self.site_dir)
359366

360367
distributions = packages_distributions()
361368

0 commit comments

Comments
 (0)