pypa / sampleproject

A sample project that exists for PyPUG's "Tutorial on Packaging and Distributing Projects"
https://packaging.python.org/tutorials/packaging-projects/
MIT License
5.12k stars 1.72k forks source link

tests, test? #133

Open tomchen opened 3 years ago

tomchen commented 3 years ago

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.

dmtucker commented 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.

chrahunt commented 3 years ago

The only reason I know of for naming the folder tests is to avoid conflicting with the test standard library module.

tomchen commented 3 years ago

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?

tomchen commented 3 years ago

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 3 years ago

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