Open tomchen opened 3 years ago
tests
is far more common in my experience. I'm kinda surprised to hear test
is included in sdists by default... not sure why that would be desirable.
The only reason I know of for naming the folder tests
is to avoid conflicting with the test
standard library module.
Yeah right. It should be a pypa/setuptools issue, I opened a PR there.
Meanwhile, there is still something sampleproject could do: maybe add a include line to MANIFEST.in
to ask setuptools for the inclusion of tests
?
The PR there (pypa/setuptools#2494) got closed for some... technical reasons, it is complicated to add tests/test*
until other problems are solved...
So I guess here's what we can do now:
recursive-include tests test*.py
to MANIFEST.in
(include all test*.py in tests folder and its subfolders, this does not include __init__.py and .pyc)test
there contradicts tests
in the same user guide's "Packaging Python Projects" page and in pypa/sampleproject, and suggest what users should do, what the folder name and what sdist inclusion strategy might be good.The directory in this project should probably just change to test
so that it aligns with the default setuptools
behavior.
pypa/sampleproject and Python Packaging User Guide's "Packaging Python Projects" page suggest the unit test folder be named
tests
. But by default, all files matching the pattern test/test*.py, not tests/test.py, are included in the source distribution. Indeed, I renamedtests
totest
in sampleproject, thenpython setup.py sdist bdist_wheel
will create adist
package that includes test/test.py.Or, did sampleproject intentionally change the name to avoid sdist's inclusion of the test files? That'd be a weird way to do so. It would be better to rename it back to
test
and explicitly put anexclude
line inMANIFEST.in
if you want the exclusion.