pypa/sampleproject

tests, test?

tomchen opened this issue · 5 comments

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 renamed tests to test in sampleproject, then python setup.py sdist bdist_wheel will create a dist 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 an exclude line in MANIFEST.in if you want the exclusion.

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:

di commented

The directory in this project should probably just change to test so that it aligns with the default setuptools behavior.