nixpkgs-review
checks.aarch64-darwin.package-default
· build #111
· raw
1tribuchet: building on mac022structuredAttrs is enabled3Sourcing python-remove-tests-dir-hook4Sourcing python-catch-conflicts-hook.sh5Sourcing python-remove-bin-bytecode-hook.sh6Sourcing pypa-build-hook7Using pypaBuildPhase8Sourcing python-runtime-deps-check-hook9Using pythonRuntimeDepsCheckHook10Sourcing pypa-install-hook11Using pypaInstallPhase12Sourcing python-imports-check-hook.sh13Using pythonImportsCheckPhase14Sourcing python-namespaces-hook15Sourcing python-catch-conflicts-hook.sh
unpackPhase
16unpacking source archive /nix/store/rjshzyiafm037hqgkimh1vdrfkfj38im-source17source root is source18setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "source/tests/test_wip.py"configurePhase
19no configure script, doing nothingbuildPhase
20Executing pypaBuildPhase21Creating a wheel...22pypa build flags: --no-isolation --outdir dist/ --wheel23* Getting build dependencies for wheel...24/nix/store/p11h2n9yz1nz8248g3zd1hyx9xvzi5r0-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated25!!2627 ********************************************************************************28 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).2930 By 2027-Feb-18, you need to update your project and remove deprecated calls31 or your builds will no longer be supported.3233 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.34 ********************************************************************************3536!!37 corresp(dist, value, root_dir)38running egg_info39creating nixpkgs_review.egg-info40writing nixpkgs_review.egg-info/PKG-INFO41writing dependency_links to nixpkgs_review.egg-info/dependency_links.txt42writing entry points to nixpkgs_review.egg-info/entry_points.txt43writing top-level names to nixpkgs_review.egg-info/top_level.txt44writing manifest file 'nixpkgs_review.egg-info/SOURCES.txt'45reading manifest file 'nixpkgs_review.egg-info/SOURCES.txt'46writing manifest file 'nixpkgs_review.egg-info/SOURCES.txt'47* Building wheel...48/nix/store/p11h2n9yz1nz8248g3zd1hyx9xvzi5r0-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated49!!5051 ********************************************************************************52 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).5354 By 2027-Feb-18, you need to update your project and remove deprecated calls55 or your builds will no longer be supported.5657 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.58 ********************************************************************************5960!!61 corresp(dist, value, root_dir)62running bdist_wheel63running build64running build_py65creating build/lib/tests66copying tests/conftest.py -> build/lib/tests67copying tests/test_escape_attr.py -> build/lib/tests68copying tests/test_github.py -> build/lib/tests69copying tests/__init__.py -> build/lib/tests70copying tests/test_rev.py -> build/lib/tests71copying tests/test_nixpkgs.py -> build/lib/tests72copying tests/test_store_flag.py -> build/lib/tests73copying tests/test_pr.py -> build/lib/tests74copying tests/test_github_actions.py -> build/lib/tests75copying tests/test_wip.py -> build/lib/tests76copying tests/test_option_flag.py -> build/lib/tests77copying tests/test_eval.py -> build/lib/tests78creating build/lib/nixpkgs_review79copying nixpkgs_review/overlay.py -> build/lib/nixpkgs_review80copying nixpkgs_review/git.py -> build/lib/nixpkgs_review81copying nixpkgs_review/nix.py -> build/lib/nixpkgs_review82copying nixpkgs_review/__init__.py -> build/lib/nixpkgs_review83copying nixpkgs_review/review.py -> build/lib/nixpkgs_review84copying nixpkgs_review/allow.py -> build/lib/nixpkgs_review85copying nixpkgs_review/utils.py -> build/lib/nixpkgs_review86copying nixpkgs_review/nixpkgs.py -> build/lib/nixpkgs_review87copying nixpkgs_review/errors.py -> build/lib/nixpkgs_review88copying nixpkgs_review/github.py -> build/lib/nixpkgs_review89copying nixpkgs_review/report.py -> build/lib/nixpkgs_review90copying nixpkgs_review/buildenv.py -> build/lib/nixpkgs_review91copying nixpkgs_review/builddir.py -> build/lib/nixpkgs_review92copying nixpkgs_review/http_requests.py -> build/lib/nixpkgs_review93creating build/lib/nixpkgs_review/cli94copying nixpkgs_review/cli/approve.py -> build/lib/nixpkgs_review/cli95copying nixpkgs_review/cli/merge.py -> build/lib/nixpkgs_review/cli96copying nixpkgs_review/cli/rev.py -> build/lib/nixpkgs_review/cli97copying nixpkgs_review/cli/__init__.py -> build/lib/nixpkgs_review/cli98copying nixpkgs_review/cli/pr.py -> build/lib/nixpkgs_review/cli99copying nixpkgs_review/cli/utils.py -> build/lib/nixpkgs_review/cli100copying nixpkgs_review/cli/wip.py -> build/lib/nixpkgs_review/cli101copying nixpkgs_review/cli/post_result.py -> build/lib/nixpkgs_review/cli102copying nixpkgs_review/cli/comments.py -> build/lib/nixpkgs_review/cli103running egg_info104writing nixpkgs_review.egg-info/PKG-INFO105writing dependency_links to nixpkgs_review.egg-info/dependency_links.txt106writing entry points to nixpkgs_review.egg-info/entry_points.txt107writing top-level names to nixpkgs_review.egg-info/top_level.txt108reading manifest file 'nixpkgs_review.egg-info/SOURCES.txt'109writing manifest file 'nixpkgs_review.egg-info/SOURCES.txt'110creating build/lib/nixpkgs_review/nix111copying nixpkgs_review/nix/listPackages.nix -> build/lib/nixpkgs_review/nix112copying nixpkgs_review/nix/evalAttrs.nix -> build/lib/nixpkgs_review/nix113installing to build/bdist.macosx-14.0-arm64/wheel114running install115running install_lib116creating build/bdist.macosx-14.0-arm64/wheel117creating build/bdist.macosx-14.0-arm64/wheel/tests118copying build/lib/tests/conftest.py -> build/bdist.macosx-14.0-arm64/wheel/./tests119copying build/lib/tests/test_escape_attr.py -> build/bdist.macosx-14.0-arm64/wheel/./tests120copying build/lib/tests/test_github.py -> build/bdist.macosx-14.0-arm64/wheel/./tests121copying build/lib/tests/__init__.py -> build/bdist.macosx-14.0-arm64/wheel/./tests122copying build/lib/tests/test_rev.py -> build/bdist.macosx-14.0-arm64/wheel/./tests123copying build/lib/tests/test_nixpkgs.py -> build/bdist.macosx-14.0-arm64/wheel/./tests124copying build/lib/tests/test_store_flag.py -> build/bdist.macosx-14.0-arm64/wheel/./tests125copying build/lib/tests/test_pr.py -> build/bdist.macosx-14.0-arm64/wheel/./tests126copying build/lib/tests/test_github_actions.py -> build/bdist.macosx-14.0-arm64/wheel/./tests127copying build/lib/tests/test_wip.py -> build/bdist.macosx-14.0-arm64/wheel/./tests128copying build/lib/tests/test_option_flag.py -> build/bdist.macosx-14.0-arm64/wheel/./tests129copying build/lib/tests/test_eval.py -> build/bdist.macosx-14.0-arm64/wheel/./tests130creating build/bdist.macosx-14.0-arm64/wheel/nixpkgs_review131copying build/lib/nixpkgs_review/overlay.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review132copying build/lib/nixpkgs_review/git.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review133creating build/bdist.macosx-14.0-arm64/wheel/nixpkgs_review/nix134copying build/lib/nixpkgs_review/nix/listPackages.nix -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/nix135copying build/lib/nixpkgs_review/nix/evalAttrs.nix -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/nix136copying build/lib/nixpkgs_review/nix.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review137copying build/lib/nixpkgs_review/__init__.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review138creating build/bdist.macosx-14.0-arm64/wheel/nixpkgs_review/cli139copying build/lib/nixpkgs_review/cli/approve.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli140copying build/lib/nixpkgs_review/cli/merge.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli141copying build/lib/nixpkgs_review/cli/rev.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli142copying build/lib/nixpkgs_review/cli/__init__.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli143copying build/lib/nixpkgs_review/cli/pr.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli144copying build/lib/nixpkgs_review/cli/utils.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli145copying build/lib/nixpkgs_review/cli/wip.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli146copying build/lib/nixpkgs_review/cli/post_result.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli147copying build/lib/nixpkgs_review/cli/comments.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review/cli148copying build/lib/nixpkgs_review/review.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review149copying build/lib/nixpkgs_review/allow.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review150copying build/lib/nixpkgs_review/utils.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review151copying build/lib/nixpkgs_review/nixpkgs.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review152copying build/lib/nixpkgs_review/errors.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review153copying build/lib/nixpkgs_review/github.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review154copying build/lib/nixpkgs_review/report.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review155copying build/lib/nixpkgs_review/buildenv.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review156copying build/lib/nixpkgs_review/builddir.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review157copying build/lib/nixpkgs_review/http_requests.py -> build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review158running install_egg_info159Copying nixpkgs_review.egg-info to build/bdist.macosx-14.0-arm64/wheel/./nixpkgs_review-4.0.0-py3.14.egg-info160running install_scripts161creating build/bdist.macosx-14.0-arm64/wheel/nixpkgs_review-4.0.0.dist-info/WHEEL162creating '/private/var/tb/8/scratch/195b2b66f39a70c3/build/source/dist/.tmp-lzex54gm/nixpkgs_review-4.0.0-py3-none-any.whl' and adding 'build/bdist.macosx-14.0-arm64/wheel' to it163adding 'nixpkgs_review/__init__.py'164adding 'nixpkgs_review/allow.py'165adding 'nixpkgs_review/builddir.py'166adding 'nixpkgs_review/buildenv.py'167adding 'nixpkgs_review/errors.py'168adding 'nixpkgs_review/git.py'169adding 'nixpkgs_review/github.py'170adding 'nixpkgs_review/http_requests.py'171adding 'nixpkgs_review/nix.py'172adding 'nixpkgs_review/nixpkgs.py'173adding 'nixpkgs_review/overlay.py'174adding 'nixpkgs_review/report.py'175adding 'nixpkgs_review/review.py'176adding 'nixpkgs_review/utils.py'177adding 'nixpkgs_review/cli/__init__.py'178adding 'nixpkgs_review/cli/approve.py'179adding 'nixpkgs_review/cli/comments.py'180adding 'nixpkgs_review/cli/merge.py'181adding 'nixpkgs_review/cli/post_result.py'182adding 'nixpkgs_review/cli/pr.py'183adding 'nixpkgs_review/cli/rev.py'184adding 'nixpkgs_review/cli/utils.py'185adding 'nixpkgs_review/cli/wip.py'186adding 'nixpkgs_review/nix/evalAttrs.nix'187adding 'nixpkgs_review/nix/listPackages.nix'188adding 'tests/__init__.py'189adding 'tests/conftest.py'190adding 'tests/test_escape_attr.py'191adding 'tests/test_eval.py'192adding 'tests/test_github.py'193adding 'tests/test_github_actions.py'194adding 'tests/test_nixpkgs.py'195adding 'tests/test_option_flag.py'196adding 'tests/test_pr.py'197adding 'tests/test_rev.py'198adding 'tests/test_store_flag.py'199adding 'tests/test_wip.py'200adding 'nixpkgs_review-4.0.0.dist-info/METADATA'201adding 'nixpkgs_review-4.0.0.dist-info/WHEEL'202adding 'nixpkgs_review-4.0.0.dist-info/entry_points.txt'203adding 'nixpkgs_review-4.0.0.dist-info/top_level.txt'204adding 'nixpkgs_review-4.0.0.dist-info/RECORD'205removing build/bdist.macosx-14.0-arm64/wheel206Successfully built nixpkgs_review-4.0.0-py3-none-any.whl207Finished creating a wheel...208Finished executing pypaBuildPhasepythonRuntimeDepsCheckHook
209Executing pythonRuntimeDepsCheck210Checking runtime dependencies for nixpkgs_review-4.0.0-py3-none-any.whl211Finished executing pythonRuntimeDepsCheckinstallPhase
212Executing pypaInstallPhase213Successfully installed nixpkgs_review-4.0.0-py3-none-any.whl214Finished executing pypaInstallPhasepythonOutputDistPhase
215Executing pythonOutputDistPhase216Finished executing pythonOutputDistPhasefixupPhase
217checking for references to /private/var/tb/8/scratch/195b2b66f39a70c3/build/ in /nix/store/gshak9hii28g261sd0ycc5fmfc37zhzn-nixpkgs-review-dist...218patching script interpreter paths in /nix/store/gshak9hii28g261sd0ycc5fmfc37zhzn-nixpkgs-review-dist219checking for references to /private/var/tb/8/scratch/195b2b66f39a70c3/build/ in /nix/store/b455ljlipz3z4w7i9rl3qlq928n9drym-nixpkgs-review...220patching script interpreter paths in /nix/store/b455ljlipz3z4w7i9rl3qlq928n9drym-nixpkgs-review221stripping (with command strip and flags -S) in /nix/store/b455ljlipz3z4w7i9rl3qlq928n9drym-nixpkgs-review/lib /nix/store/b455ljlipz3z4w7i9rl3qlq928n9drym-nixpkgs-review/bin222Rewriting #!/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python3.14 to #!/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8223wrapping `/nix/store/b455ljlipz3z4w7i9rl3qlq928n9drym-nixpkgs-review/bin/nix-review'...224Rewriting #!/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python3.14 to #!/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8225wrapping `/nix/store/b455ljlipz3z4w7i9rl3qlq928n9drym-nixpkgs-review/bin/nixpkgs-review'...226Executing pythonRemoveTestsDir227Finished executing pythonRemoveTestsDirinstallCheckPhase
228============================= test session starts ==============================229platform darwin -- Python 3.14.8, pytest-9.1.1, pluggy-1.6.0230rootdir: /private/var/tb/8/scratch/195b2b66f39a70c3/build/source231configfile: pyproject.toml232plugins: xdist-3.8.0233created: 10/10 workers23410 workers [53 items]235236..........s.FFFFF..........237=================================== FAILURES ===================================238___________________ test_eval_tests[overridden-tests1-True] ____________________239[gw0] darwin -- Python 3.14.8 /nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python240241tmp_path = PosixPath('/private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw0/test_eval_tests_overridden_tes0')242package = 'overridden', tests = {'overridden.tests.inherited'}243include_tests = True244245 @pytest.mark.parametrize("include_tests", [False, True])246 @pytest.mark.parametrize(247 ("package", "tests"),248 [249 (250 "selfReferencing",251 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},252 ),253 ("overridden", {"overridden.tests.inherited"}),254 ("single", {"single.tests"}),255 ("group", {"group.package.tests.nested.test"}),256 ],257 )258 def test_eval_tests(259 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool260 ) -> None:261 nixpkgs = real_nixpkgs()262 fixture = TEST_ROOT / "assets/recursive-tests.nix"263 (tmp_path / "default.nix").write_text(264 f"{{ system, ... }}: import {fixture} {{ "265 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"266 )267 config = tmp_path / "config.nix"268 config.write_text("{}")269 attrs = tmp_path / "attrs.json"270 attrs.write_text(json.dumps({current_system(): [package]}))271 272> result = subprocess.run(273 [274 "nix-instantiate",275 "--eval",276 "--strict",277 "--json",278 "--expr",279 (280 f"builtins.attrNames (import {ROOT / 'nix/evalAttrs.nix'} {{ "281 f"attr-json = {attrs}; include-tests = {str(include_tests).lower()}; "282 f"}}).${{builtins.currentSystem}}"283 ),284 ],285 env=os.environ286 | {"NIX_PATH": f"nixpkgs={tmp_path}", "NIXPKGS_CONFIG": str(config)},287 capture_output=True,288 text=True,289 check=True,290 timeout=60,291 )292293tests/test_eval.py:45: 294_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 295296input = None, capture_output = True, timeout = 60, check = True297popenargs = (['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/1...8/pytest-0/popen-gw0/test_eval_tests_overridden_tes0/attrs.json; include-tests = true; }).${builtins.currentSystem}'],)298kwargs = {'env': {'SHELL': '/nix/store/i1pdjlwb27ki88zssg5q2h696v1r1m15-bash-5.3p20/bin/bash', 'NIX_BUILD_CORES': '24', 'NIX_BI...ore/l5lmf74wrh6waq9knzxcmjiz4d29198w-python3.14-argcomplete-3.7.2/bin', ...}, 'text': True, 'stdout': -1, 'stderr': -1}299300 def run(*popenargs,301 input=None, capture_output=False, timeout=None, check=False, **kwargs):302 """Run command with arguments and return a CompletedProcess instance.303 304 The returned instance will have attributes args, returncode, stdout and305 stderr. By default, stdout and stderr are not captured, and those attributes306 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,307 or pass capture_output=True to capture both.308 309 If check is True and the exit code was non-zero, it raises a310 CalledProcessError. The CalledProcessError object will have the return code311 in the returncode attribute, and output & stderr attributes if those streams312 were captured.313 314 If timeout (seconds) is given and the process takes too long,315 a TimeoutExpired exception will be raised.316 317 There is an optional argument "input", allowing you to318 pass bytes or a string to the subprocess's stdin. If you use this argument319 you may not also use the Popen constructor's "stdin" argument, as320 it will be used internally.321 322 By default, all communication is in bytes, and therefore any "input" should323 be bytes, and the stdout and stderr will be bytes. If in text mode, any324 "input" should be a string, and stdout and stderr will be strings decoded325 according to locale encoding, or by "encoding" if set. Text mode is326 triggered by setting any of text, encoding, errors or universal_newlines.327 328 The other arguments are the same as for the Popen constructor.329 """330 if input is not None:331 if kwargs.get('stdin') is not None:332 raise ValueError('stdin and input arguments may not both be used.')333 kwargs['stdin'] = PIPE334 335 if capture_output:336 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:337 raise ValueError('stdout and stderr arguments may not be used '338 'with capture_output.')339 kwargs['stdout'] = PIPE340 kwargs['stderr'] = PIPE341 342 with Popen(*popenargs, **kwargs) as process:343 try:344 stdout, stderr = process.communicate(input, timeout=timeout)345 except TimeoutExpired as exc:346 process.kill()347 if _mswindows:348 # Windows accumulates the output in a single blocking349 # read() call run on child threads, with the timeout350 # being done in a join() on those threads. communicate()351 # _after_ kill() is required to collect that and add it352 # to the exception.353 exc.stdout, exc.stderr = process.communicate()354 else:355 # POSIX _communicate already populated the output so356 # far into the TimeoutExpired exception.357 process.wait()358 raise359 except: # Including KeyboardInterrupt, communicate handled that.360 process.kill()361 # We don't call process.wait() as .__exit__ does that for us.362 raise363 retcode = process.poll()364 if check and retcode:365> raise CalledProcessError(retcode, process.args,366 output=stdout, stderr=stderr)367E subprocess.CalledProcessError: Command '['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/195b2b66f39a70c3/build/source/nixpkgs_review/nix/evalAttrs.nix { attr-json = /private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw0/test_eval_tests_overridden_tes0/attrs.json; include-tests = true; }).${builtins.currentSystem}']' returned non-zero exit status 1.368369/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError370_________________ test_eval_tests[selfReferencing-tests0-True] _________________371[gw7] darwin -- Python 3.14.8 /nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python372373tmp_path = PosixPath('/private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw7/test_eval_tests_selfReferencin0')374package = 'selfReferencing'375tests = {'selfReferencing.tests.nested.test', 'selfReferencing.tests.self'}376include_tests = True377378 @pytest.mark.parametrize("include_tests", [False, True])379 @pytest.mark.parametrize(380 ("package", "tests"),381 [382 (383 "selfReferencing",384 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},385 ),386 ("overridden", {"overridden.tests.inherited"}),387 ("single", {"single.tests"}),388 ("group", {"group.package.tests.nested.test"}),389 ],390 )391 def test_eval_tests(392 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool393 ) -> None:394 nixpkgs = real_nixpkgs()395 fixture = TEST_ROOT / "assets/recursive-tests.nix"396 (tmp_path / "default.nix").write_text(397 f"{{ system, ... }}: import {fixture} {{ "398 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"399 )400 config = tmp_path / "config.nix"401 config.write_text("{}")402 attrs = tmp_path / "attrs.json"403 attrs.write_text(json.dumps({current_system(): [package]}))404 405> result = subprocess.run(406 [407 "nix-instantiate",408 "--eval",409 "--strict",410 "--json",411 "--expr",412 (413 f"builtins.attrNames (import {ROOT / 'nix/evalAttrs.nix'} {{ "414 f"attr-json = {attrs}; include-tests = {str(include_tests).lower()}; "415 f"}}).${{builtins.currentSystem}}"416 ),417 ],418 env=os.environ419 | {"NIX_PATH": f"nixpkgs={tmp_path}", "NIXPKGS_CONFIG": str(config)},420 capture_output=True,421 text=True,422 check=True,423 timeout=60,424 )425426tests/test_eval.py:45: 427_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 428429input = None, capture_output = True, timeout = 60, check = True430popenargs = (['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/1...8/pytest-0/popen-gw7/test_eval_tests_selfReferencin0/attrs.json; include-tests = true; }).${builtins.currentSystem}'],)431kwargs = {'env': {'SHELL': '/nix/store/i1pdjlwb27ki88zssg5q2h696v1r1m15-bash-5.3p20/bin/bash', 'NIX_BUILD_CORES': '24', 'NIX_BI...ore/l5lmf74wrh6waq9knzxcmjiz4d29198w-python3.14-argcomplete-3.7.2/bin', ...}, 'text': True, 'stdout': -1, 'stderr': -1}432433 def run(*popenargs,434 input=None, capture_output=False, timeout=None, check=False, **kwargs):435 """Run command with arguments and return a CompletedProcess instance.436 437 The returned instance will have attributes args, returncode, stdout and438 stderr. By default, stdout and stderr are not captured, and those attributes439 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,440 or pass capture_output=True to capture both.441 442 If check is True and the exit code was non-zero, it raises a443 CalledProcessError. The CalledProcessError object will have the return code444 in the returncode attribute, and output & stderr attributes if those streams445 were captured.446 447 If timeout (seconds) is given and the process takes too long,448 a TimeoutExpired exception will be raised.449 450 There is an optional argument "input", allowing you to451 pass bytes or a string to the subprocess's stdin. If you use this argument452 you may not also use the Popen constructor's "stdin" argument, as453 it will be used internally.454 455 By default, all communication is in bytes, and therefore any "input" should456 be bytes, and the stdout and stderr will be bytes. If in text mode, any457 "input" should be a string, and stdout and stderr will be strings decoded458 according to locale encoding, or by "encoding" if set. Text mode is459 triggered by setting any of text, encoding, errors or universal_newlines.460 461 The other arguments are the same as for the Popen constructor.462 """463 if input is not None:464 if kwargs.get('stdin') is not None:465 raise ValueError('stdin and input arguments may not both be used.')466 kwargs['stdin'] = PIPE467 468 if capture_output:469 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:470 raise ValueError('stdout and stderr arguments may not be used '471 'with capture_output.')472 kwargs['stdout'] = PIPE473 kwargs['stderr'] = PIPE474 475 with Popen(*popenargs, **kwargs) as process:476 try:477 stdout, stderr = process.communicate(input, timeout=timeout)478 except TimeoutExpired as exc:479 process.kill()480 if _mswindows:481 # Windows accumulates the output in a single blocking482 # read() call run on child threads, with the timeout483 # being done in a join() on those threads. communicate()484 # _after_ kill() is required to collect that and add it485 # to the exception.486 exc.stdout, exc.stderr = process.communicate()487 else:488 # POSIX _communicate already populated the output so489 # far into the TimeoutExpired exception.490 process.wait()491 raise492 except: # Including KeyboardInterrupt, communicate handled that.493 process.kill()494 # We don't call process.wait() as .__exit__ does that for us.495 raise496 retcode = process.poll()497 if check and retcode:498> raise CalledProcessError(retcode, process.args,499 output=stdout, stderr=stderr)500E subprocess.CalledProcessError: Command '['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/195b2b66f39a70c3/build/source/nixpkgs_review/nix/evalAttrs.nix { attr-json = /private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw7/test_eval_tests_selfReferencin0/attrs.json; include-tests = true; }).${builtins.currentSystem}']' returned non-zero exit status 1.501502/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError503________________ test_eval_tests[selfReferencing-tests0-False] _________________504[gw5] darwin -- Python 3.14.8 /nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python505506tmp_path = PosixPath('/private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw5/test_eval_tests_selfReferencin0')507package = 'selfReferencing'508tests = {'selfReferencing.tests.nested.test', 'selfReferencing.tests.self'}509include_tests = False510511 @pytest.mark.parametrize("include_tests", [False, True])512 @pytest.mark.parametrize(513 ("package", "tests"),514 [515 (516 "selfReferencing",517 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},518 ),519 ("overridden", {"overridden.tests.inherited"}),520 ("single", {"single.tests"}),521 ("group", {"group.package.tests.nested.test"}),522 ],523 )524 def test_eval_tests(525 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool526 ) -> None:527 nixpkgs = real_nixpkgs()528 fixture = TEST_ROOT / "assets/recursive-tests.nix"529 (tmp_path / "default.nix").write_text(530 f"{{ system, ... }}: import {fixture} {{ "531 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"532 )533 config = tmp_path / "config.nix"534 config.write_text("{}")535 attrs = tmp_path / "attrs.json"536 attrs.write_text(json.dumps({current_system(): [package]}))537 538> result = subprocess.run(539 [540 "nix-instantiate",541 "--eval",542 "--strict",543 "--json",544 "--expr",545 (546 f"builtins.attrNames (import {ROOT / 'nix/evalAttrs.nix'} {{ "547 f"attr-json = {attrs}; include-tests = {str(include_tests).lower()}; "548 f"}}).${{builtins.currentSystem}}"549 ),550 ],551 env=os.environ552 | {"NIX_PATH": f"nixpkgs={tmp_path}", "NIXPKGS_CONFIG": str(config)},553 capture_output=True,554 text=True,555 check=True,556 timeout=60,557 )558559tests/test_eval.py:45: 560_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 561562input = None, capture_output = True, timeout = 60, check = True563popenargs = (['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/1.../pytest-0/popen-gw5/test_eval_tests_selfReferencin0/attrs.json; include-tests = false; }).${builtins.currentSystem}'],)564kwargs = {'env': {'SHELL': '/nix/store/i1pdjlwb27ki88zssg5q2h696v1r1m15-bash-5.3p20/bin/bash', 'NIX_BUILD_CORES': '24', 'NIX_BI...ore/l5lmf74wrh6waq9knzxcmjiz4d29198w-python3.14-argcomplete-3.7.2/bin', ...}, 'text': True, 'stdout': -1, 'stderr': -1}565566 def run(*popenargs,567 input=None, capture_output=False, timeout=None, check=False, **kwargs):568 """Run command with arguments and return a CompletedProcess instance.569 570 The returned instance will have attributes args, returncode, stdout and571 stderr. By default, stdout and stderr are not captured, and those attributes572 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,573 or pass capture_output=True to capture both.574 575 If check is True and the exit code was non-zero, it raises a576 CalledProcessError. The CalledProcessError object will have the return code577 in the returncode attribute, and output & stderr attributes if those streams578 were captured.579 580 If timeout (seconds) is given and the process takes too long,581 a TimeoutExpired exception will be raised.582 583 There is an optional argument "input", allowing you to584 pass bytes or a string to the subprocess's stdin. If you use this argument585 you may not also use the Popen constructor's "stdin" argument, as586 it will be used internally.587 588 By default, all communication is in bytes, and therefore any "input" should589 be bytes, and the stdout and stderr will be bytes. If in text mode, any590 "input" should be a string, and stdout and stderr will be strings decoded591 according to locale encoding, or by "encoding" if set. Text mode is592 triggered by setting any of text, encoding, errors or universal_newlines.593 594 The other arguments are the same as for the Popen constructor.595 """596 if input is not None:597 if kwargs.get('stdin') is not None:598 raise ValueError('stdin and input arguments may not both be used.')599 kwargs['stdin'] = PIPE600 601 if capture_output:602 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:603 raise ValueError('stdout and stderr arguments may not be used '604 'with capture_output.')605 kwargs['stdout'] = PIPE606 kwargs['stderr'] = PIPE607 608 with Popen(*popenargs, **kwargs) as process:609 try:610 stdout, stderr = process.communicate(input, timeout=timeout)611 except TimeoutExpired as exc:612 process.kill()613 if _mswindows:614 # Windows accumulates the output in a single blocking615 # read() call run on child threads, with the timeout616 # being done in a join() on those threads. communicate()617 # _after_ kill() is required to collect that and add it618 # to the exception.619 exc.stdout, exc.stderr = process.communicate()620 else:621 # POSIX _communicate already populated the output so622 # far into the TimeoutExpired exception.623 process.wait()624 raise625 except: # Including KeyboardInterrupt, communicate handled that.626 process.kill()627 # We don't call process.wait() as .__exit__ does that for us.628 raise629 retcode = process.poll()630 if check and retcode:631> raise CalledProcessError(retcode, process.args,632 output=stdout, stderr=stderr)633E subprocess.CalledProcessError: Command '['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/195b2b66f39a70c3/build/source/nixpkgs_review/nix/evalAttrs.nix { attr-json = /private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw5/test_eval_tests_selfReferencin0/attrs.json; include-tests = false; }).${builtins.currentSystem}']' returned non-zero exit status 1.634635/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError636______________________ test_eval_tests[group-tests3-True] ______________________637[gw6] darwin -- Python 3.14.8 /nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python638639tmp_path = PosixPath('/private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw6/test_eval_tests_group_tests3_T0')640package = 'group', tests = {'group.package.tests.nested.test'}641include_tests = True642643 @pytest.mark.parametrize("include_tests", [False, True])644 @pytest.mark.parametrize(645 ("package", "tests"),646 [647 (648 "selfReferencing",649 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},650 ),651 ("overridden", {"overridden.tests.inherited"}),652 ("single", {"single.tests"}),653 ("group", {"group.package.tests.nested.test"}),654 ],655 )656 def test_eval_tests(657 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool658 ) -> None:659 nixpkgs = real_nixpkgs()660 fixture = TEST_ROOT / "assets/recursive-tests.nix"661 (tmp_path / "default.nix").write_text(662 f"{{ system, ... }}: import {fixture} {{ "663 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"664 )665 config = tmp_path / "config.nix"666 config.write_text("{}")667 attrs = tmp_path / "attrs.json"668 attrs.write_text(json.dumps({current_system(): [package]}))669 670> result = subprocess.run(671 [672 "nix-instantiate",673 "--eval",674 "--strict",675 "--json",676 "--expr",677 (678 f"builtins.attrNames (import {ROOT / 'nix/evalAttrs.nix'} {{ "679 f"attr-json = {attrs}; include-tests = {str(include_tests).lower()}; "680 f"}}).${{builtins.currentSystem}}"681 ),682 ],683 env=os.environ684 | {"NIX_PATH": f"nixpkgs={tmp_path}", "NIXPKGS_CONFIG": str(config)},685 capture_output=True,686 text=True,687 check=True,688 timeout=60,689 )690691tests/test_eval.py:45: 692_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 693694input = None, capture_output = True, timeout = 60, check = True695popenargs = (['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/1...8/pytest-0/popen-gw6/test_eval_tests_group_tests3_T0/attrs.json; include-tests = true; }).${builtins.currentSystem}'],)696kwargs = {'env': {'SHELL': '/nix/store/i1pdjlwb27ki88zssg5q2h696v1r1m15-bash-5.3p20/bin/bash', 'NIX_BUILD_CORES': '24', 'NIX_BI...ore/l5lmf74wrh6waq9knzxcmjiz4d29198w-python3.14-argcomplete-3.7.2/bin', ...}, 'text': True, 'stdout': -1, 'stderr': -1}697698 def run(*popenargs,699 input=None, capture_output=False, timeout=None, check=False, **kwargs):700 """Run command with arguments and return a CompletedProcess instance.701 702 The returned instance will have attributes args, returncode, stdout and703 stderr. By default, stdout and stderr are not captured, and those attributes704 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,705 or pass capture_output=True to capture both.706 707 If check is True and the exit code was non-zero, it raises a708 CalledProcessError. The CalledProcessError object will have the return code709 in the returncode attribute, and output & stderr attributes if those streams710 were captured.711 712 If timeout (seconds) is given and the process takes too long,713 a TimeoutExpired exception will be raised.714 715 There is an optional argument "input", allowing you to716 pass bytes or a string to the subprocess's stdin. If you use this argument717 you may not also use the Popen constructor's "stdin" argument, as718 it will be used internally.719 720 By default, all communication is in bytes, and therefore any "input" should721 be bytes, and the stdout and stderr will be bytes. If in text mode, any722 "input" should be a string, and stdout and stderr will be strings decoded723 according to locale encoding, or by "encoding" if set. Text mode is724 triggered by setting any of text, encoding, errors or universal_newlines.725 726 The other arguments are the same as for the Popen constructor.727 """728 if input is not None:729 if kwargs.get('stdin') is not None:730 raise ValueError('stdin and input arguments may not both be used.')731 kwargs['stdin'] = PIPE732 733 if capture_output:734 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:735 raise ValueError('stdout and stderr arguments may not be used '736 'with capture_output.')737 kwargs['stdout'] = PIPE738 kwargs['stderr'] = PIPE739 740 with Popen(*popenargs, **kwargs) as process:741 try:742 stdout, stderr = process.communicate(input, timeout=timeout)743 except TimeoutExpired as exc:744 process.kill()745 if _mswindows:746 # Windows accumulates the output in a single blocking747 # read() call run on child threads, with the timeout748 # being done in a join() on those threads. communicate()749 # _after_ kill() is required to collect that and add it750 # to the exception.751 exc.stdout, exc.stderr = process.communicate()752 else:753 # POSIX _communicate already populated the output so754 # far into the TimeoutExpired exception.755 process.wait()756 raise757 except: # Including KeyboardInterrupt, communicate handled that.758 process.kill()759 # We don't call process.wait() as .__exit__ does that for us.760 raise761 retcode = process.poll()762 if check and retcode:763> raise CalledProcessError(retcode, process.args,764 output=stdout, stderr=stderr)765E subprocess.CalledProcessError: Command '['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/195b2b66f39a70c3/build/source/nixpkgs_review/nix/evalAttrs.nix { attr-json = /private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw6/test_eval_tests_group_tests3_T0/attrs.json; include-tests = true; }).${builtins.currentSystem}']' returned non-zero exit status 1.766767/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError768_____________________ test_eval_tests[single-tests2-True] ______________________769[gw3] darwin -- Python 3.14.8 /nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/bin/python770771tmp_path = PosixPath('/private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw3/test_eval_tests_single_tests2_0')772package = 'single', tests = {'single.tests'}, include_tests = True773774 @pytest.mark.parametrize("include_tests", [False, True])775 @pytest.mark.parametrize(776 ("package", "tests"),777 [778 (779 "selfReferencing",780 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},781 ),782 ("overridden", {"overridden.tests.inherited"}),783 ("single", {"single.tests"}),784 ("group", {"group.package.tests.nested.test"}),785 ],786 )787 def test_eval_tests(788 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool789 ) -> None:790 nixpkgs = real_nixpkgs()791 fixture = TEST_ROOT / "assets/recursive-tests.nix"792 (tmp_path / "default.nix").write_text(793 f"{{ system, ... }}: import {fixture} {{ "794 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"795 )796 config = tmp_path / "config.nix"797 config.write_text("{}")798 attrs = tmp_path / "attrs.json"799 attrs.write_text(json.dumps({current_system(): [package]}))800 801> result = subprocess.run(802 [803 "nix-instantiate",804 "--eval",805 "--strict",806 "--json",807 "--expr",808 (809 f"builtins.attrNames (import {ROOT / 'nix/evalAttrs.nix'} {{ "810 f"attr-json = {attrs}; include-tests = {str(include_tests).lower()}; "811 f"}}).${{builtins.currentSystem}}"812 ),813 ],814 env=os.environ815 | {"NIX_PATH": f"nixpkgs={tmp_path}", "NIXPKGS_CONFIG": str(config)},816 capture_output=True,817 text=True,818 check=True,819 timeout=60,820 )821822tests/test_eval.py:45: 823_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 824825input = None, capture_output = True, timeout = 60, check = True826popenargs = (['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/1...8/pytest-0/popen-gw3/test_eval_tests_single_tests2_0/attrs.json; include-tests = true; }).${builtins.currentSystem}'],)827kwargs = {'env': {'SHELL': '/nix/store/i1pdjlwb27ki88zssg5q2h696v1r1m15-bash-5.3p20/bin/bash', 'NIX_BUILD_CORES': '24', 'NIX_BI...ore/l5lmf74wrh6waq9knzxcmjiz4d29198w-python3.14-argcomplete-3.7.2/bin', ...}, 'text': True, 'stdout': -1, 'stderr': -1}828829 def run(*popenargs,830 input=None, capture_output=False, timeout=None, check=False, **kwargs):831 """Run command with arguments and return a CompletedProcess instance.832 833 The returned instance will have attributes args, returncode, stdout and834 stderr. By default, stdout and stderr are not captured, and those attributes835 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,836 or pass capture_output=True to capture both.837 838 If check is True and the exit code was non-zero, it raises a839 CalledProcessError. The CalledProcessError object will have the return code840 in the returncode attribute, and output & stderr attributes if those streams841 were captured.842 843 If timeout (seconds) is given and the process takes too long,844 a TimeoutExpired exception will be raised.845 846 There is an optional argument "input", allowing you to847 pass bytes or a string to the subprocess's stdin. If you use this argument848 you may not also use the Popen constructor's "stdin" argument, as849 it will be used internally.850 851 By default, all communication is in bytes, and therefore any "input" should852 be bytes, and the stdout and stderr will be bytes. If in text mode, any853 "input" should be a string, and stdout and stderr will be strings decoded854 according to locale encoding, or by "encoding" if set. Text mode is855 triggered by setting any of text, encoding, errors or universal_newlines.856 857 The other arguments are the same as for the Popen constructor.858 """859 if input is not None:860 if kwargs.get('stdin') is not None:861 raise ValueError('stdin and input arguments may not both be used.')862 kwargs['stdin'] = PIPE863 864 if capture_output:865 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:866 raise ValueError('stdout and stderr arguments may not be used '867 'with capture_output.')868 kwargs['stdout'] = PIPE869 kwargs['stderr'] = PIPE870 871 with Popen(*popenargs, **kwargs) as process:872 try:873 stdout, stderr = process.communicate(input, timeout=timeout)874 except TimeoutExpired as exc:875 process.kill()876 if _mswindows:877 # Windows accumulates the output in a single blocking878 # read() call run on child threads, with the timeout879 # being done in a join() on those threads. communicate()880 # _after_ kill() is required to collect that and add it881 # to the exception.882 exc.stdout, exc.stderr = process.communicate()883 else:884 # POSIX _communicate already populated the output so885 # far into the TimeoutExpired exception.886 process.wait()887 raise888 except: # Including KeyboardInterrupt, communicate handled that.889 process.kill()890 # We don't call process.wait() as .__exit__ does that for us.891 raise892 retcode = process.poll()893 if check and retcode:894> raise CalledProcessError(retcode, process.args,895 output=stdout, stderr=stderr)896E subprocess.CalledProcessError: Command '['nix-instantiate', '--eval', '--strict', '--json', '--expr', 'builtins.attrNames (import /private/var/tb/8/scratch/195b2b66f39a70c3/build/source/nixpkgs_review/nix/evalAttrs.nix { attr-json = /private/var/tb/8/scratch/195b2b66f39a70c3/build/pytest-of-_tribuchetbld8/pytest-0/popen-gw3/test_eval_tests_single_tests2_0/attrs.json; include-tests = true; }).${builtins.currentSystem}']' returned non-zero exit status 1.897898/nix/store/0jb1qn7qnpbz8774mq5k2c1p84gp0x76-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError899=========================== short test summary info ============================900FAILED tests/test_eval.py::test_eval_tests[overridden-tests1-True] - subproce...901FAILED tests/test_eval.py::test_eval_tests[selfReferencing-tests0-True] - sub...902FAILED tests/test_eval.py::test_eval_tests[selfReferencing-tests0-False] - su...903FAILED tests/test_eval.py::test_eval_tests[group-tests3-True] - subprocess.Ca...904FAILED tests/test_eval.py::test_eval_tests[single-tests2-True] - subprocess.C...905!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 5 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!906!!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 1 failures !!!!!!!!!!!!!907=================== 5 failed, 21 passed, 1 skipped in 4.92s ====================