============================= test session starts ============================== platform linux -- Python 3.10.0, pytest-6.2.5, py-1.10.0, pluggy-0.13.1 rootdir: /build/python-jaraco.envs/src/jaraco.envs-2.1.1, configfile: pytest.ini plugins: mypy-0.8.1, flake8-1.0.7, enabler-1.2.0, cov-2.12.1, checkdocs-2.7.1, black-0.3.12 collected 13 items . F [ 9%] setup.py .... [ 45%] docs/conf.py ... [ 72%] jaraco/envs.py ... [100%] =================================== FAILURES =================================== _________________________________ test session _________________________________ cls = func = . at 0x7fb9acb1e680> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: "Callable[[], TResult]", when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.10/site-packages/_pytest/runner.py:311: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > lambda: ihook(item=item, **kwds), when=when, reraise=reraise ) /usr/lib/python3.10/site-packages/_pytest/runner.py:255: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_HookCaller 'pytest_runtest_call'>, args = () kwargs = {'item': }, notincall = set() def __call__(self, *args, **kwargs): if args: raise TypeError("hook calling supports only keyword arguments") assert not self.is_historic() if self.spec and self.spec.argnames: notincall = ( set(self.spec.argnames) - set(["__multicall__"]) - set(kwargs.keys()) ) if notincall: warnings.warn( "Argument(s) {} which are declared in the hookspec " "can not be found in this hook call".format(tuple(notincall)), stacklevel=2, ) > return self._hookexec(self, self.get_hookimpls(), kwargs) /usr/lib/python3.10/site-packages/pluggy/hooks.py:286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0x7fb9ae0d9090> hook = <_HookCaller 'pytest_runtest_call'> methods = [>, ...] kwargs = {'item': } def _hookexec(self, hook, methods, kwargs): # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook, methods, kwargs) /usr/lib/python3.10/site-packages/pluggy/manager.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook = <_HookCaller 'pytest_runtest_call'> methods = [>, ...] kwargs = {'item': } > self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( methods, kwargs, firstresult=hook.spec.opts.get("firstresult") if hook.spec else False, ) /usr/lib/python3.10/site-packages/pluggy/manager.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_impls = [>, ...] caller_kwargs = {'item': }, firstresult = False def _multicall(hook_impls, caller_kwargs, firstresult=False): """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from _HookCaller.__call__(). """ __tracebackhide__ = True results = [] excinfo = None try: # run impl and wrapper setup functions in a loop teardowns = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( "hook call must provide argument %r" % (argname,) ) if hook_impl.hookwrapper: try: gen = hook_impl.function(*args) next(gen) # first yield teardowns.append(gen) except StopIteration: _raise_wrapfail(gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException: excinfo = sys.exc_info() finally: if firstresult: # first result hooks return a single value outcome = _Result(results[0] if results else None, excinfo) else: outcome = _Result(results, excinfo) # run all wrapper post-yield blocks for gen in reversed(teardowns): try: gen.send(outcome) _raise_wrapfail(gen, "has second yield") except StopIteration: pass > return outcome.get_result() /usr/lib/python3.10/site-packages/pluggy/callers.py:208: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def get_result(self): """Get the result(s) for this hook call. If the hook was marked as a ``firstresult`` only a single value will be returned otherwise a list of results. """ __tracebackhide__ = True if self._excinfo is None: return self._result else: ex = self._excinfo if _py3: > raise ex[1].with_traceback(ex[2]) /usr/lib/python3.10/site-packages/pluggy/callers.py:80: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_impls = [>, ...] caller_kwargs = {'item': }, firstresult = False def _multicall(hook_impls, caller_kwargs, firstresult=False): """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from _HookCaller.__call__(). """ __tracebackhide__ = True results = [] excinfo = None try: # run impl and wrapper setup functions in a loop teardowns = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( "hook call must provide argument %r" % (argname,) ) if hook_impl.hookwrapper: try: gen = hook_impl.function(*args) next(gen) # first yield teardowns.append(gen) except StopIteration: _raise_wrapfail(gen, "did not yield") else: > res = hook_impl.function(*args) /usr/lib/python3.10/site-packages/pluggy/callers.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback except AttributeError: pass try: item.runtest() except Exception as e: # Store trace info to allow postmortem debugging sys.last_type = type(e) sys.last_value = e assert e.__traceback__ is not None # Skip *this* frame sys.last_traceback = e.__traceback__.tb_next > raise e /usr/lib/python3.10/site-packages/_pytest/runner.py:170: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback except AttributeError: pass try: > item.runtest() /usr/lib/python3.10/site-packages/_pytest/runner.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self): > desc = self.get_long_description() /usr/lib/python3.10/site-packages/pytest_checkdocs/__init__.py:40: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def get_long_description(self): with _suppress_deprecation(): > return Description.from_md(ensure_clean(pep517.meta.load('.').metadata)) /usr/lib/python3.10/site-packages/pytest_checkdocs/__init__.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ root = '.' def load(root): """ Given a source directory (root) of a package, return an importlib.metadata.Distribution object with metadata build from that package. """ root = os.path.expanduser(root) system = compat_system(root) builder = functools.partial(build, source_dir=root, system=system) > path = Path(build_as_zip(builder)) /usr/lib/python3.10/site-packages/pep517/meta.py:71: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ builder = functools.partial(, source_dir='.', system={'requires': ['setuptools>=42', 'wheel', 'setuptools_scm[toml]>=3.4.1'], 'build-backend': 'setuptools.build_meta'}) def build_as_zip(builder=build): with tempdir() as out_dir: > builder(dest=out_dir) /usr/lib/python3.10/site-packages/pep517/meta.py:58: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ source_dir = '.', dest = '/tmp/tmpkz2t05_w' system = {'build-backend': 'setuptools.build_meta', 'requires': ['setuptools>=42', 'wheel', 'setuptools_scm[toml]>=3.4.1']} def build(source_dir='.', dest=None, system=None): system = system or load_system(source_dir) dest = os.path.join(source_dir, dest or 'dist') mkdir_p(dest) validate_system(system) hooks = Pep517HookCaller( source_dir, system['build-backend'], system.get('backend-path') ) with hooks.subprocess_runner(quiet_subprocess_runner): with BuildEnvironment() as env: > env.pip_install(system['requires']) /usr/lib/python3.10/site-packages/pep517/meta.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = reqs = ['setuptools>=42', 'wheel', 'setuptools_scm[toml]>=3.4.1'] def pip_install(self, reqs): """Install dependencies into this env by calling pip in a subprocess""" if not reqs: return log.info('Calling pip to install %s', reqs) cmd = [ sys.executable, '-m', 'pip', 'install', '--prefix', self.path] + list(reqs) > check_call( cmd, stdout=LoggerWrapper(log, logging.INFO), stderr=LoggerWrapper(log, logging.ERROR), ) /usr/lib/python3.10/site-packages/pep517/envbuild.py:104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ popenargs = (['/usr/bin/python', '-m', 'pip', 'install', '--prefix', '/tmp/pep517-build-env-pfbgfdab', ...],) kwargs = {'stderr': , 'stdout': } retcode = 1 cmd = ['/usr/bin/python', '-m', 'pip', 'install', '--prefix', '/tmp/pep517-build-env-pfbgfdab', ...] def check_call(*popenargs, **kwargs): """Run command with arguments. Wait for command to complete. If the exit code was zero then return, otherwise raise CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute. The arguments are the same as for the call function. Example: check_call(["ls", "-l"]) """ retcode = call(*popenargs, **kwargs) if retcode: cmd = kwargs.get("args") if cmd is None: cmd = popenargs[0] > raise CalledProcessError(retcode, cmd) E subprocess.CalledProcessError: Command '['/usr/bin/python', '-m', 'pip', 'install', '--prefix', '/tmp/pep517-build-env-pfbgfdab', 'setuptools>=42', 'wheel', 'setuptools_scm[toml]>=3.4.1']' returned non-zero exit status 1. /usr/lib/python3.10/subprocess.py:369: CalledProcessError ------------------------------ Captured log call ------------------------------- ERROR pep517.envbuild:wrappers.py:375 /usr/bin/python: No module named pip =============================== warnings summary =============================== setup.py::FLAKE8 setup.py::FLAKE8 docs/conf.py::FLAKE8 docs/conf.py::FLAKE8 jaraco/envs.py::FLAKE8 jaraco/envs.py::FLAKE8 /usr/lib/python3.10/site-packages/flake8/plugins/manager.py:261: DeprecationWarning: SelectableGroups dict interface is deprecated. Use select. eps = importlib_metadata.entry_points().get(self.namespace, ()) -- Docs: https://docs.pytest.org/en/stable/warnings.html ---------- coverage: platform linux, python 3.10.0-final-0 ----------- Name Stmts Miss Cover Missing ---------------------------------------------- docs/conf.py 3 0 100% jaraco/envs.py 44 23 48% 15, 18-20, 23-28, 31-34, 37-38, 41, 51-53, 65, 68-69 ---------------------------------------------- TOTAL 47 23 51% ===================================== mypy ===================================== Success: no issues found in 3 source files =========================== short test summary info ============================ FAILED ::project - subprocess.CalledProcessError: Command '['/usr/bin/python'... ================== 1 failed, 10 passed, 6 warnings in 15.29s =================== ==> ERROR: A failure occurred in check().  Aborting...