Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pypi tarball is missing test/base_test_case.py #72

Closed
jlec opened this issue Nov 4, 2015 · 5 comments
Closed

pypi tarball is missing test/base_test_case.py #72

jlec opened this issue Nov 4, 2015 · 5 comments

Comments

@jlec
Copy link

jlec commented Nov 4, 2015

While packaging for downstream and running the test suite I hit

EEEEEE
======================================================================
ERROR: Failure: ImportError (No module named 'test.base_test_case')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib64/python3.3/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib64/python3.3/imp.py", line 180, in load_module
    return load_source(name, filename, file)
  File "/usr/lib64/python3.3/imp.py", line 119, in load_source
    _LoadSourceCompatibility(name, pathname, file).load_module(name)
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/var/tmp/portage/dev-python/flaky-2.4.0/work/flaky-2.4.0/test/test_flaky_decorator.py", line 6, in <module>
    from test.base_test_case import TestCase
ImportError: No module named 'test.base_test_case'

======================================================================
ERROR: Failure: ImportError (No module named 'test.base_test_case')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib64/python3.3/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib64/python3.3/imp.py", line 180, in load_module
    return load_source(name, filename, file)
  File "/usr/lib64/python3.3/imp.py", line 119, in load_source
    _LoadSourceCompatibility(name, pathname, file).load_module(name)
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/var/tmp/portage/dev-python/flaky-2.4.0/work/flaky-2.4.0/test/test_flaky_nose_plugin.py", line 12, in <module>
    from test.base_test_case import TestCase
ImportError: No module named 'test.base_test_case'

======================================================================
ERROR: Failure: ImportError (No module named 'test.base_test_case')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib64/python3.3/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib64/python3.3/imp.py", line 180, in load_module
    return load_source(name, filename, file)
  File "/usr/lib64/python3.3/imp.py", line 119, in load_source
    _LoadSourceCompatibility(name, pathname, file).load_module(name)
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/var/tmp/portage/dev-python/flaky-2.4.0/work/flaky-2.4.0/test/test_flaky_plugin.py", line 8, in <module>
    from test.base_test_case import TestCase
ImportError: No module named 'test.base_test_case'

======================================================================
ERROR: Failure: ImportError (No module named 'test.base_test_case')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib64/python3.3/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib64/python3.3/imp.py", line 180, in load_module
    return load_source(name, filename, file)
  File "/usr/lib64/python3.3/imp.py", line 119, in load_source
    _LoadSourceCompatibility(name, pathname, file).load_module(name)
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/var/tmp/portage/dev-python/flaky-2.4.0/work/flaky-2.4.0/test/test_multiprocess_string_io.py", line 8, in <module>
    from test.base_test_case import TestCase
ImportError: No module named 'test.base_test_case'

======================================================================
ERROR: Failure: ImportError (No module named 'test.base_test_case')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib64/python3.3/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib64/python3.3/imp.py", line 180, in load_module
    return load_source(name, filename, file)
  File "/usr/lib64/python3.3/imp.py", line 119, in load_source
    _LoadSourceCompatibility(name, pathname, file).load_module(name)
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/var/tmp/portage/dev-python/flaky-2.4.0/work/flaky-2.4.0/test/test_nose_example.py", line 11, in <module>
    from test.base_test_case import TestCase, expectedFailure, skip
ImportError: No module named 'test.base_test_case'

======================================================================
ERROR: Failure: ImportError (No module named 'test.base_test_case')
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib64/python3.3/site-packages/nose/failure.py", line 39, in runTest
    raise self.exc_val.with_traceback(self.tb)
  File "/usr/lib64/python3.3/site-packages/nose/loader.py", line 418, in loadTestsFromName
    addr.filename, addr.module)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 47, in importFromPath
    return self.importFromDir(dir_path, fqname)
  File "/usr/lib64/python3.3/site-packages/nose/importer.py", line 94, in importFromDir
    mod = load_module(part_fqname, fh, filename, desc)
  File "/usr/lib64/python3.3/imp.py", line 180, in load_module
    return load_source(name, filename, file)
  File "/usr/lib64/python3.3/imp.py", line 119, in load_source
    _LoadSourceCompatibility(name, pathname, file).load_module(name)
  File "<frozen importlib._bootstrap>", line 584, in _check_name_wrapper
  File "<frozen importlib._bootstrap>", line 1022, in load_module
  File "<frozen importlib._bootstrap>", line 1003, in load_module
  File "<frozen importlib._bootstrap>", line 560, in module_for_loader_wrapper
  File "<frozen importlib._bootstrap>", line 868, in _load_module
  File "<frozen importlib._bootstrap>", line 313, in _call_with_frames_removed
  File "/var/tmp/portage/dev-python/flaky-2.4.0/work/flaky-2.4.0/test/test_utils.py", line 8, in <module>
    from test.base_test_case import TestCase
ImportError: No module named 'test.base_test_case'

===Flaky Test Report===


===End Flaky Test Report===
----------------------------------------------------------------------
Ran 6 tests in 0.017s

FAILED (errors=6)
@Jeff-Meadows
Copy link
Contributor

Interesting. We intentionally don't include the test files in the pypi tarball, by passing exclude=['test'] to find_packages. I recently added a package under test, and didn't realize that it wouldn't also be excluded (to do so, we'd need to pass exclude=['test*']).

I think it's fairly common to exclude the test code from the PyPI distribution. The test code will remain available by downloading the code tagged by the corresponding release from GitHub.

@jlec
Copy link
Author

jlec commented Nov 5, 2015

Actually more then half of all upstream included it already and not a single denied it when I asked for inclusion. So please add it to the tarball, but of course there is no need to install them.

@jmoldow
Copy link
Contributor

jmoldow commented Nov 5, 2015

Can you give an example of such a project?

Maybe we could include it, but we definitely don't want pip install to put the test module into the Python path (which is what I believe happens if you put it into the packages list). I'm not sure what the correct way to do this is.

@Jeff-Meadows
Copy link
Contributor

Strange. Looks like sdist by default adds test/test*.py to the tarball. That's going to miss test/base_test_case.py.

@Jeff-Meadows
Copy link
Contributor

I guess we can rename it to test_case_base.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants