XZise created this task.
XZise added a subscriber: XZise.
XZise added projects: pywikibot-core, Pywikibot-tests.
TASK DESCRIPTION
I installed a new version of Python and forgot to install `six`. Now when I did `python
setup.py test` I got:
```
xzise@localhost:~/Programms/core$ python setup.py test
running test
running egg_info
writing pywikibot.egg-info/PKG-INFO
writing dependency_links to pywikibot.egg-info/dependency_links.txt
writing top-level names to pywikibot.egg-info/top_level.txt
writing requirements to pywikibot.egg-info/requires.txt
reading manifest file 'pywikibot.egg-info/SOURCES.txt'
writing manifest file 'pywikibot.egg-info/SOURCES.txt'
running build_ext
max_retries reduced from 10 to 1 for tests
Disabled test modules (to run: python -m unittest ...):
ui
Extra test modules (run after library, before scripts):
exceptions, thread, timestamp, tk, wikistats
Skipping tests (to run: python -m unittest ...):
{'textlib': ['test_interwiki_format']}
Traceback (most recent call last):
File "setup.py", line 127, in <module>
use_2to3=False
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/distutils/core.py",
line 148, in setup
dist.run_commands()
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/distutils/dist.py",
line 955, in run_commands
self.run_command(cmd)
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/distutils/dist.py",
line 974, in run_command
cmd_obj.run()
File
"/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/site-packages/setuptools/command/test.py",
line 138, in run
self.with_project_on_sys_path(self.run_tests)
File
"/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/site-packages/setuptools/command/test.py",
line 118, in with_project_on_sys_path
func()
File
"/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/site-packages/setuptools/command/test.py",
line 164, in run_tests
testLoader = cks
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/main.py",
line 92, in __init__
self.parseArgs(argv)
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/main.py",
line 139, in parseArgs
self.createTests()
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/main.py",
line 146, in createTests
self.module)
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/loader.py",
line 146, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/loader.py",
line 146, in <listcomp>
suites = [self.loadTestsFromName(name, module) for name in names]
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/loader.py",
line 131, in loadTestsFromName
test = obj()
File "/home/xzise/Programms/core/tests/__init__.py", line 159, in collector
discovered = loader.loadTestsFromName(module_class_name)
File "/home/xzise/.pyenv/versions/3.4.2/lib/python3.4/unittest/loader.py",
line 114, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'textlib_tests'
<class 'AttributeError'>
CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort
```
But obviously the file was there. Luckily I remembered someone had the same problem I
could look into my IRC log and found that I suggested to do `python pwb.py
tests/textlib_tests.py` and only then I got the actual error:
```
xzise@localhost:~/Programms/core$ python pwb.py tests/textlib_tests.py
max_retries reduced from 10 to 1 for tests
Traceback (most recent call last):
File "pwb.py", line 221, in <module>
run_python_file(filename, argv, argvu, file_package)
File "pwb.py", line 80, in run_python_file
exec(compile(source, filename, "exec"), main_mod.__dict__)
File "./tests/textlib_tests.py", line 18, in <module>
from tests.aspects import unittest, TestCase, DefaultDrySiteTestCase
File "/home/xzise/Programms/core/tests/aspects.py", line 848, in
<module>
import six
ImportError: No module named 'six'
<class 'ImportError'>
CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort
```
If possible the tests should require `six` and install it before, or stop (with a
sensible warning) before, or skip those entries. At least with Python 3.5 we might get a
more detailed error message:
http://bugs.python.org/issue7559 .
TASK DETAIL
https://phabricator.wikimedia.org/T86640
REPLY HANDLER ACTIONS
Reply to comment or attach files, or !close, !claim, !unsubscribe or !assign
<username>.
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: XZise
Cc: Aklapper, XZise, jayvdb, pywikipedia-bugs