Running tox fails with stack trace
Since very recently in master, running tox fails with a stack trace.
Luckily, it will run the tests first and then crash later.
Here is some sample output of the crashes:
... passing tests ...
======================================================================================== 19 passed in 8.62 seconds =========================================================================================
py36 runtests: commands[1] | pip3 install -e /codethink/GNOME/buildstream
Obtaining file:///codethink/GNOME/buildstream
Requirement already satisfied: Click>=7.0 in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (7.0)
Requirement already satisfied: grpcio>=1.10 in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (1.17.1)
Requirement already satisfied: Jinja2>=2.10 in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (2.10)
Requirement already satisfied: pluginbase in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (0.7)
Requirement already satisfied: protobuf>=3.6 in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (3.6.1)
Requirement already satisfied: psutil in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (5.4.8)
Requirement already satisfied: ruamel.yaml<0.15.52,>=0.15.41 in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (0.15.51)
Requirement already satisfied: setuptools in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (39.0.1)
Requirement already satisfied: pyroaring in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (0.2.6)
Requirement already satisfied: ujson in ./.tox/py36/lib/python3.6/site-packages (from BuildStream==1.3.0+1760.g00be9019.dirty) (1.35)
Requirement already satisfied: six>=1.5.2 in ./.tox/py36/lib/python3.6/site-packages (from grpcio>=1.10->BuildStream==1.3.0+1760.g00be9019.dirty) (1.12.0)
Requirement already satisfied: MarkupSafe>=0.23 in ./.tox/py36/lib/python3.6/site-packages (from Jinja2>=2.10->BuildStream==1.3.0+1760.g00be9019.dirty) (1.1.0)
Installing collected packages: BuildStream
Found existing installation: BuildStream 1.3.0+1760.g00be9019.dirty
Uninstalling BuildStream-1.3.0+1760.g00be9019.dirty:
Successfully uninstalled BuildStream-1.3.0+1760.g00be9019.dirty
Running setup.py develop for BuildStream
Successfully installed BuildStream-1.3.0+1753.gea34b8c5.dirty
You are using pip version 18.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
py36 runtests: commands[2] | /codethink/GNOME/buildstream/.tox/py36/bin/python /codethink/GNOME/buildstream/tests/external_plugins.py /codethink/GNOME/buildstream/.tox/py36/tmp --cov=buildstrean --cov-append tests/format/junctions.py
Cloning repo bst-plugins-template to /codethink/GNOME/buildstream/.tox/py36/tmp...
Cloning into '/codethink/GNOME/buildstream/.tox/py36/tmp/bst-plugins-template'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 21 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (21/21), done.
Installing bst-plugins-template...
Processing ./.tox/py36/tmp/bst-plugins-template
Requirement already satisfied: requests in ./.tox/py36/lib/python3.6/site-packages (from bst-plugins-template==0.1.0) (2.21.0)
Requirement already satisfied: setuptools in ./.tox/py36/lib/python3.6/site-packages (from bst-plugins-template==0.1.0) (39.0.1)
Requirement already satisfied: certifi>=2017.4.17 in ./.tox/py36/lib/python3.6/site-packages (from requests->bst-plugins-template==0.1.0) (2018.11.29)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./.tox/py36/lib/python3.6/site-packages (from requests->bst-plugins-template==0.1.0) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in ./.tox/py36/lib/python3.6/site-packages (from requests->bst-plugins-template==0.1.0) (2.8)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in ./.tox/py36/lib/python3.6/site-packages (from requests->bst-plugins-template==0.1.0) (1.24.1)
Installing collected packages: bst-plugins-template
Found existing installation: bst-plugins-template 0.1.0
Uninstalling bst-plugins-template-0.1.0:
Successfully uninstalled bst-plugins-template-0.1.0
Running setup.py install for bst-plugins-template ... done
Successfully installed bst-plugins-template-0.1.0
You are using pip version 18.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Testing bst-plugins-template...
matching pattern: /codethink/GNOME/buildstream/.tox/py36/tmp/bst-plugins-template/tests
Traceback (most recent call last):
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 430, in _importconftest
return self._conftestpath2mod[conftestpath]
KeyError: local('/codethink/GNOME/buildstream/.tox/py36/tmp/bst-plugins-template/conftest.py')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/codethink/GNOME/buildstream/tests/external_plugins.py", line 91, in <module>
exit_code = run_repo_tests(plugin, tmpdir, pytest_args)
File "/codethink/GNOME/buildstream/tests/external_plugins.py", line 68, in run_repo_tests
return repo.test(pytest_args)
File "/codethink/GNOME/buildstream/tests/external_plugins.py", line 45, in test
return pytest.main(pytest_args + test_files)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 61, in main
config = _prepareconfig(args, plugins)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 196, in _prepareconfig
pluginmanager=pluginmanager, args=args
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 68, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 62, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/helpconfig.py", line 93, in pytest_cmdline_parse
config = outcome.get_result()
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 655, in pytest_cmdline_parse
self.parse(args)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 871, in parse
self._preparse(args, addopts=addopts)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 827, in _preparse
early_config=self, args=args, parser=self._parser
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/hooks.py", line 289, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 68, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 62, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 718, in pytest_load_initial_conftests
self.pluginmanager._set_initial_conftests(early_config.known_args_namespace)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 373, in _set_initial_conftests
self._try_load_conftest(anchor)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 379, in _try_load_conftest
self._getconftestmodules(anchor)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 414, in _getconftestmodules
mod = self._importconftest(conftestpath.realpath())
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 464, in _importconftest
self.consider_conftest(mod)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 503, in consider_conftest
self.register(conftestmodule, name=conftestmodule.__file__)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/__init__.py", line 311, in register
ret = super(PytestPluginManager, self).register(plugin, name)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 102, in register
hook._maybe_apply_history(hookimpl)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/hooks.py", line 336, in _maybe_apply_history
res = self._hookexec(self, [method], kwargs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 68, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/manager.py", line 62, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/codethink/GNOME/buildstream/.tox/py36/tmp/bst-plugins-template/conftest.py", line 35, in pytest_addoption
help='Run integration tests')
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/argparsing.py", line 72, in addoption
self._anonymous.addoption(*opts, **attrs)
File "/codethink/GNOME/buildstream/.tox/py36/lib/python3.6/site-packages/_pytest/config/argparsing.py", line 303, in addoption
raise ValueError("option names %s already added" % conflict)
ValueError: option names {'--integration'} already added
ERROR: InvocationError for command '/codethink/GNOME/buildstream/.tox/py36/bin/python /codethink/GNOME/buildstream/tests/external_plugins.py /codethink/GNOME/buildstream/.tox/py36/tmp --cov=buildstrean --cov-append tests/format/junctions.py' (exited with code 1)
_________________________________________________________________________________________________ summary __________________________________________________________________________________________________
ERROR: py36: commands failed