nixpkgs-review
checks.aarch64-linux.package-nixpkgs-review
· build #111
· raw
1tribuchet: building on eliza2structuredAttrs 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/7wqmhkx1lp5j15m2p4mv6vfrw08nzd90-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/7wqmhkx1lp5j15m2p4mv6vfrw08nzd90-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/test_store_flag.py -> build/lib/tests67copying tests/test_rev.py -> build/lib/tests68copying tests/test_escape_attr.py -> build/lib/tests69copying tests/test_eval.py -> build/lib/tests70copying tests/test_option_flag.py -> build/lib/tests71copying tests/test_nixpkgs.py -> build/lib/tests72copying tests/test_github.py -> build/lib/tests73copying tests/test_wip.py -> build/lib/tests74copying tests/__init__.py -> build/lib/tests75copying tests/test_pr.py -> build/lib/tests76copying tests/test_github_actions.py -> build/lib/tests77copying tests/conftest.py -> build/lib/tests78creating build/lib/nixpkgs_review79copying nixpkgs_review/errors.py -> build/lib/nixpkgs_review80copying nixpkgs_review/git.py -> build/lib/nixpkgs_review81copying nixpkgs_review/github.py -> build/lib/nixpkgs_review82copying nixpkgs_review/http_requests.py -> build/lib/nixpkgs_review83copying nixpkgs_review/review.py -> build/lib/nixpkgs_review84copying nixpkgs_review/buildenv.py -> build/lib/nixpkgs_review85copying nixpkgs_review/utils.py -> build/lib/nixpkgs_review86copying nixpkgs_review/builddir.py -> build/lib/nixpkgs_review87copying nixpkgs_review/allow.py -> build/lib/nixpkgs_review88copying nixpkgs_review/__init__.py -> build/lib/nixpkgs_review89copying nixpkgs_review/report.py -> build/lib/nixpkgs_review90copying nixpkgs_review/overlay.py -> build/lib/nixpkgs_review91copying nixpkgs_review/nix.py -> build/lib/nixpkgs_review92copying nixpkgs_review/nixpkgs.py -> build/lib/nixpkgs_review93creating build/lib/nixpkgs_review/cli94copying nixpkgs_review/cli/comments.py -> build/lib/nixpkgs_review/cli95copying nixpkgs_review/cli/wip.py -> build/lib/nixpkgs_review/cli96copying nixpkgs_review/cli/post_result.py -> build/lib/nixpkgs_review/cli97copying nixpkgs_review/cli/pr.py -> build/lib/nixpkgs_review/cli98copying nixpkgs_review/cli/utils.py -> build/lib/nixpkgs_review/cli99copying nixpkgs_review/cli/__init__.py -> build/lib/nixpkgs_review/cli100copying nixpkgs_review/cli/merge.py -> build/lib/nixpkgs_review/cli101copying nixpkgs_review/cli/rev.py -> build/lib/nixpkgs_review/cli102copying nixpkgs_review/cli/approve.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/evalAttrs.nix -> build/lib/nixpkgs_review/nix112copying nixpkgs_review/nix/listPackages.nix -> build/lib/nixpkgs_review/nix113installing to build/bdist.linux-aarch64/wheel114running install115running install_lib116creating build/bdist.linux-aarch64/wheel117creating build/bdist.linux-aarch64/wheel/tests118copying build/lib/tests/test_github.py -> build/bdist.linux-aarch64/wheel/./tests119copying build/lib/tests/test_pr.py -> build/bdist.linux-aarch64/wheel/./tests120copying build/lib/tests/test_nixpkgs.py -> build/bdist.linux-aarch64/wheel/./tests121copying build/lib/tests/test_eval.py -> build/bdist.linux-aarch64/wheel/./tests122copying build/lib/tests/test_rev.py -> build/bdist.linux-aarch64/wheel/./tests123copying build/lib/tests/test_option_flag.py -> build/bdist.linux-aarch64/wheel/./tests124copying build/lib/tests/conftest.py -> build/bdist.linux-aarch64/wheel/./tests125copying build/lib/tests/__init__.py -> build/bdist.linux-aarch64/wheel/./tests126copying build/lib/tests/test_wip.py -> build/bdist.linux-aarch64/wheel/./tests127copying build/lib/tests/test_escape_attr.py -> build/bdist.linux-aarch64/wheel/./tests128copying build/lib/tests/test_store_flag.py -> build/bdist.linux-aarch64/wheel/./tests129copying build/lib/tests/test_github_actions.py -> build/bdist.linux-aarch64/wheel/./tests130creating build/bdist.linux-aarch64/wheel/nixpkgs_review131copying build/lib/nixpkgs_review/utils.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review132copying build/lib/nixpkgs_review/errors.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review133copying build/lib/nixpkgs_review/allow.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review134creating build/bdist.linux-aarch64/wheel/nixpkgs_review/cli135copying build/lib/nixpkgs_review/cli/merge.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli136copying build/lib/nixpkgs_review/cli/pr.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli137copying build/lib/nixpkgs_review/cli/approve.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli138copying build/lib/nixpkgs_review/cli/comments.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli139copying build/lib/nixpkgs_review/cli/wip.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli140copying build/lib/nixpkgs_review/cli/post_result.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli141copying build/lib/nixpkgs_review/cli/rev.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli142copying build/lib/nixpkgs_review/cli/utils.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli143copying build/lib/nixpkgs_review/cli/__init__.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/cli144copying build/lib/nixpkgs_review/review.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review145copying build/lib/nixpkgs_review/github.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review146copying build/lib/nixpkgs_review/__init__.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review147copying build/lib/nixpkgs_review/builddir.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review148copying build/lib/nixpkgs_review/buildenv.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review149copying build/lib/nixpkgs_review/git.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review150copying build/lib/nixpkgs_review/http_requests.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review151copying build/lib/nixpkgs_review/nix.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review152copying build/lib/nixpkgs_review/report.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review153copying build/lib/nixpkgs_review/nixpkgs.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review154copying build/lib/nixpkgs_review/overlay.py -> build/bdist.linux-aarch64/wheel/./nixpkgs_review155creating build/bdist.linux-aarch64/wheel/nixpkgs_review/nix156copying build/lib/nixpkgs_review/nix/listPackages.nix -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/nix157copying build/lib/nixpkgs_review/nix/evalAttrs.nix -> build/bdist.linux-aarch64/wheel/./nixpkgs_review/nix158running install_egg_info159Copying nixpkgs_review.egg-info to build/bdist.linux-aarch64/wheel/./nixpkgs_review-4.0.0-py3.14.egg-info160running install_scripts161creating build/bdist.linux-aarch64/wheel/nixpkgs_review-4.0.0.dist-info/WHEEL162creating '/build/source/dist/.tmp-bx_z5ck6/nixpkgs_review-4.0.0-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/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.linux-aarch64/wheel206Successfully built nixpkgs_review-4.0.0-py3-none-any.whl207Finished creating a wheel...208Finished executing pypaBuildPhase209buildPhase completed in 35 secondspythonRuntimeDepsCheckHook
210Executing pythonRuntimeDepsCheck211Checking runtime dependencies for nixpkgs_review-4.0.0-py3-none-any.whl212Finished executing pythonRuntimeDepsCheckinstallPhase
213Executing pypaInstallPhase214Successfully installed nixpkgs_review-4.0.0-py3-none-any.whl215Finished executing pypaInstallPhasepythonOutputDistPhase
216Executing pythonOutputDistPhase217Finished executing pythonOutputDistPhasefixupPhase
218shrinking RPATHs of ELF executables and libraries in /nix/store/5lypz0n0ca2ll05sdpxq9gwnjj73nhvb-nixpkgs-review-dist219checking for references to /build/ in /nix/store/5lypz0n0ca2ll05sdpxq9gwnjj73nhvb-nixpkgs-review-dist...220patching script interpreter paths in /nix/store/5lypz0n0ca2ll05sdpxq9gwnjj73nhvb-nixpkgs-review-dist221shrinking RPATHs of ELF executables and libraries in /nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review222checking for references to /build/ in /nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review...223patching script interpreter paths in /nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review224stripping (with command strip and flags -S -p) in /nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review/lib /nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review/bin225Rewriting #!/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python3.14 to #!/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8226wrapping `/nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review/bin/nix-review'...227Rewriting #!/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python3.14 to #!/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8228wrapping `/nix/store/zpxdzv7574vmhy6m50643ga51s192bw6-nixpkgs-review/bin/nixpkgs-review'...229Executing pythonRemoveTestsDir230Finished executing pythonRemoveTestsDirinstallCheckPhase
231============================= test session starts ==============================232platform linux -- Python 3.14.8, pytest-9.1.1, pluggy-1.6.0233rootdir: /build/source234configfile: pyproject.toml235plugins: xdist-3.8.0236created: 192/192 workers237192 workers [53 items]238239s....s...s.s..........FFFFFFF........................240=================================== FAILURES ===================================241___________________ test_eval_tests[overridden-tests1-True] ____________________242[gw4] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python243244tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw4/test_eval_tests_overridden_tes0')245package = 'overridden', tests = {'overridden.tests.inherited'}246include_tests = True247248 @pytest.mark.parametrize("include_tests", [False, True])249 @pytest.mark.parametrize(250 ("package", "tests"),251 [252 (253 "selfReferencing",254 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},255 ),256 ("overridden", {"overridden.tests.inherited"}),257 ("single", {"single.tests"}),258 ("group", {"group.package.tests.nested.test"}),259 ],260 )261 def test_eval_tests(262 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool263 ) -> None:264 nixpkgs = real_nixpkgs()265 fixture = TEST_ROOT / "assets/recursive-tests.nix"266 (tmp_path / "default.nix").write_text(267 f"{{ system, ... }}: import {fixture} {{ "268 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"269 )270 config = tmp_path / "config.nix"271 config.write_text("{}")272 attrs = tmp_path / "attrs.json"273> attrs.write_text(json.dumps({current_system(): [package]}))274 ^^^^^^^^^^^^^^^^275276tests/test_eval.py:43: 277_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 278nixpkgs_review/utils.py:99: in current_system279 system = subprocess.run(280_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 281282input = None, capture_output = False, timeout = None, check = True283popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)284kwargs = {'stdout': -1, 'text': True}285286 def run(*popenargs,287 input=None, capture_output=False, timeout=None, check=False, **kwargs):288 """Run command with arguments and return a CompletedProcess instance.289 290 The returned instance will have attributes args, returncode, stdout and291 stderr. By default, stdout and stderr are not captured, and those attributes292 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,293 or pass capture_output=True to capture both.294 295 If check is True and the exit code was non-zero, it raises a296 CalledProcessError. The CalledProcessError object will have the return code297 in the returncode attribute, and output & stderr attributes if those streams298 were captured.299 300 If timeout (seconds) is given and the process takes too long,301 a TimeoutExpired exception will be raised.302 303 There is an optional argument "input", allowing you to304 pass bytes or a string to the subprocess's stdin. If you use this argument305 you may not also use the Popen constructor's "stdin" argument, as306 it will be used internally.307 308 By default, all communication is in bytes, and therefore any "input" should309 be bytes, and the stdout and stderr will be bytes. If in text mode, any310 "input" should be a string, and stdout and stderr will be strings decoded311 according to locale encoding, or by "encoding" if set. Text mode is312 triggered by setting any of text, encoding, errors or universal_newlines.313 314 The other arguments are the same as for the Popen constructor.315 """316 if input is not None:317 if kwargs.get('stdin') is not None:318 raise ValueError('stdin and input arguments may not both be used.')319 kwargs['stdin'] = PIPE320 321 if capture_output:322 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:323 raise ValueError('stdout and stderr arguments may not be used '324 'with capture_output.')325 kwargs['stdout'] = PIPE326 kwargs['stderr'] = PIPE327 328 with Popen(*popenargs, **kwargs) as process:329 try:330 stdout, stderr = process.communicate(input, timeout=timeout)331 except TimeoutExpired as exc:332 process.kill()333 if _mswindows:334 # Windows accumulates the output in a single blocking335 # read() call run on child threads, with the timeout336 # being done in a join() on those threads. communicate()337 # _after_ kill() is required to collect that and add it338 # to the exception.339 exc.stdout, exc.stderr = process.communicate()340 else:341 # POSIX _communicate already populated the output so342 # far into the TimeoutExpired exception.343 process.wait()344 raise345 except: # Including KeyboardInterrupt, communicate handled that.346 process.kill()347 # We don't call process.wait() as .__exit__ does that for us.348 raise349 retcode = process.poll()350 if check and retcode:351> raise CalledProcessError(retcode, process.args,352 output=stdout, stderr=stderr)353E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.354355/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError356----------------------------- Captured stderr call -----------------------------357warning: you don't have Internet access; disabling some network-dependent features358warning: /nix/var/nix does not exist, so Nix will use "/homeless-shelter/.local/share/nix/root" as a chroot store359error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy360________________ test_eval_tests[selfReferencing-tests0-False] _________________361[gw1] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python362363tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_eval_tests_selfReferencin0')364package = 'selfReferencing'365tests = {'selfReferencing.tests.nested.test', 'selfReferencing.tests.self'}366include_tests = False367368 @pytest.mark.parametrize("include_tests", [False, True])369 @pytest.mark.parametrize(370 ("package", "tests"),371 [372 (373 "selfReferencing",374 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},375 ),376 ("overridden", {"overridden.tests.inherited"}),377 ("single", {"single.tests"}),378 ("group", {"group.package.tests.nested.test"}),379 ],380 )381 def test_eval_tests(382 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool383 ) -> None:384 nixpkgs = real_nixpkgs()385 fixture = TEST_ROOT / "assets/recursive-tests.nix"386 (tmp_path / "default.nix").write_text(387 f"{{ system, ... }}: import {fixture} {{ "388 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"389 )390 config = tmp_path / "config.nix"391 config.write_text("{}")392 attrs = tmp_path / "attrs.json"393> attrs.write_text(json.dumps({current_system(): [package]}))394 ^^^^^^^^^^^^^^^^395396tests/test_eval.py:43: 397_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 398nixpkgs_review/utils.py:99: in current_system399 system = subprocess.run(400_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 401402input = None, capture_output = False, timeout = None, check = True403popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)404kwargs = {'stdout': -1, 'text': True}405406 def run(*popenargs,407 input=None, capture_output=False, timeout=None, check=False, **kwargs):408 """Run command with arguments and return a CompletedProcess instance.409 410 The returned instance will have attributes args, returncode, stdout and411 stderr. By default, stdout and stderr are not captured, and those attributes412 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,413 or pass capture_output=True to capture both.414 415 If check is True and the exit code was non-zero, it raises a416 CalledProcessError. The CalledProcessError object will have the return code417 in the returncode attribute, and output & stderr attributes if those streams418 were captured.419 420 If timeout (seconds) is given and the process takes too long,421 a TimeoutExpired exception will be raised.422 423 There is an optional argument "input", allowing you to424 pass bytes or a string to the subprocess's stdin. If you use this argument425 you may not also use the Popen constructor's "stdin" argument, as426 it will be used internally.427 428 By default, all communication is in bytes, and therefore any "input" should429 be bytes, and the stdout and stderr will be bytes. If in text mode, any430 "input" should be a string, and stdout and stderr will be strings decoded431 according to locale encoding, or by "encoding" if set. Text mode is432 triggered by setting any of text, encoding, errors or universal_newlines.433 434 The other arguments are the same as for the Popen constructor.435 """436 if input is not None:437 if kwargs.get('stdin') is not None:438 raise ValueError('stdin and input arguments may not both be used.')439 kwargs['stdin'] = PIPE440 441 if capture_output:442 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:443 raise ValueError('stdout and stderr arguments may not be used '444 'with capture_output.')445 kwargs['stdout'] = PIPE446 kwargs['stderr'] = PIPE447 448 with Popen(*popenargs, **kwargs) as process:449 try:450 stdout, stderr = process.communicate(input, timeout=timeout)451 except TimeoutExpired as exc:452 process.kill()453 if _mswindows:454 # Windows accumulates the output in a single blocking455 # read() call run on child threads, with the timeout456 # being done in a join() on those threads. communicate()457 # _after_ kill() is required to collect that and add it458 # to the exception.459 exc.stdout, exc.stderr = process.communicate()460 else:461 # POSIX _communicate already populated the output so462 # far into the TimeoutExpired exception.463 process.wait()464 raise465 except: # Including KeyboardInterrupt, communicate handled that.466 process.kill()467 # We don't call process.wait() as .__exit__ does that for us.468 raise469 retcode = process.poll()470 if check and retcode:471> raise CalledProcessError(retcode, process.args,472 output=stdout, stderr=stderr)473E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.474475/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError476----------------------------- Captured stderr call -----------------------------477warning: you don't have Internet access; disabling some network-dependent features478warning: /nix/var/nix does not exist, so Nix will use "/homeless-shelter/.local/share/nix/root" as a chroot store479error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy480_____________________ test_eval_tests[single-tests2-True] ______________________481[gw7] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python482483tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw7/test_eval_tests_single_tests2_0')484package = 'single', tests = {'single.tests'}, include_tests = True485486 @pytest.mark.parametrize("include_tests", [False, True])487 @pytest.mark.parametrize(488 ("package", "tests"),489 [490 (491 "selfReferencing",492 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},493 ),494 ("overridden", {"overridden.tests.inherited"}),495 ("single", {"single.tests"}),496 ("group", {"group.package.tests.nested.test"}),497 ],498 )499 def test_eval_tests(500 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool501 ) -> None:502 nixpkgs = real_nixpkgs()503 fixture = TEST_ROOT / "assets/recursive-tests.nix"504 (tmp_path / "default.nix").write_text(505 f"{{ system, ... }}: import {fixture} {{ "506 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"507 )508 config = tmp_path / "config.nix"509 config.write_text("{}")510 attrs = tmp_path / "attrs.json"511> attrs.write_text(json.dumps({current_system(): [package]}))512 ^^^^^^^^^^^^^^^^513514tests/test_eval.py:43: 515_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 516nixpkgs_review/utils.py:99: in current_system517 system = subprocess.run(518_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 519520input = None, capture_output = False, timeout = None, check = True521popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)522kwargs = {'stdout': -1, 'text': True}523524 def run(*popenargs,525 input=None, capture_output=False, timeout=None, check=False, **kwargs):526 """Run command with arguments and return a CompletedProcess instance.527 528 The returned instance will have attributes args, returncode, stdout and529 stderr. By default, stdout and stderr are not captured, and those attributes530 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,531 or pass capture_output=True to capture both.532 533 If check is True and the exit code was non-zero, it raises a534 CalledProcessError. The CalledProcessError object will have the return code535 in the returncode attribute, and output & stderr attributes if those streams536 were captured.537 538 If timeout (seconds) is given and the process takes too long,539 a TimeoutExpired exception will be raised.540 541 There is an optional argument "input", allowing you to542 pass bytes or a string to the subprocess's stdin. If you use this argument543 you may not also use the Popen constructor's "stdin" argument, as544 it will be used internally.545 546 By default, all communication is in bytes, and therefore any "input" should547 be bytes, and the stdout and stderr will be bytes. If in text mode, any548 "input" should be a string, and stdout and stderr will be strings decoded549 according to locale encoding, or by "encoding" if set. Text mode is550 triggered by setting any of text, encoding, errors or universal_newlines.551 552 The other arguments are the same as for the Popen constructor.553 """554 if input is not None:555 if kwargs.get('stdin') is not None:556 raise ValueError('stdin and input arguments may not both be used.')557 kwargs['stdin'] = PIPE558 559 if capture_output:560 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:561 raise ValueError('stdout and stderr arguments may not be used '562 'with capture_output.')563 kwargs['stdout'] = PIPE564 kwargs['stderr'] = PIPE565 566 with Popen(*popenargs, **kwargs) as process:567 try:568 stdout, stderr = process.communicate(input, timeout=timeout)569 except TimeoutExpired as exc:570 process.kill()571 if _mswindows:572 # Windows accumulates the output in a single blocking573 # read() call run on child threads, with the timeout574 # being done in a join() on those threads. communicate()575 # _after_ kill() is required to collect that and add it576 # to the exception.577 exc.stdout, exc.stderr = process.communicate()578 else:579 # POSIX _communicate already populated the output so580 # far into the TimeoutExpired exception.581 process.wait()582 raise583 except: # Including KeyboardInterrupt, communicate handled that.584 process.kill()585 # We don't call process.wait() as .__exit__ does that for us.586 raise587 retcode = process.poll()588 if check and retcode:589> raise CalledProcessError(retcode, process.args,590 output=stdout, stderr=stderr)591E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.592593/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError594----------------------------- Captured stderr call -----------------------------595warning: you don't have Internet access; disabling some network-dependent features596warning: /nix/var/nix does not exist, so Nix will use "/homeless-shelter/.local/share/nix/root" as a chroot store597error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy598_____________________ test_eval_tests[single-tests2-False] _____________________599[gw5] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python600601tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw5/test_eval_tests_single_tests2_0')602package = 'single', tests = {'single.tests'}, include_tests = False603604 @pytest.mark.parametrize("include_tests", [False, True])605 @pytest.mark.parametrize(606 ("package", "tests"),607 [608 (609 "selfReferencing",610 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},611 ),612 ("overridden", {"overridden.tests.inherited"}),613 ("single", {"single.tests"}),614 ("group", {"group.package.tests.nested.test"}),615 ],616 )617 def test_eval_tests(618 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool619 ) -> None:620 nixpkgs = real_nixpkgs()621 fixture = TEST_ROOT / "assets/recursive-tests.nix"622 (tmp_path / "default.nix").write_text(623 f"{{ system, ... }}: import {fixture} {{ "624 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"625 )626 config = tmp_path / "config.nix"627 config.write_text("{}")628 attrs = tmp_path / "attrs.json"629> attrs.write_text(json.dumps({current_system(): [package]}))630 ^^^^^^^^^^^^^^^^631632tests/test_eval.py:43: 633_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 634nixpkgs_review/utils.py:99: in current_system635 system = subprocess.run(636_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 637638input = None, capture_output = False, timeout = None, check = True639popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)640kwargs = {'stdout': -1, 'text': True}641642 def run(*popenargs,643 input=None, capture_output=False, timeout=None, check=False, **kwargs):644 """Run command with arguments and return a CompletedProcess instance.645 646 The returned instance will have attributes args, returncode, stdout and647 stderr. By default, stdout and stderr are not captured, and those attributes648 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,649 or pass capture_output=True to capture both.650 651 If check is True and the exit code was non-zero, it raises a652 CalledProcessError. The CalledProcessError object will have the return code653 in the returncode attribute, and output & stderr attributes if those streams654 were captured.655 656 If timeout (seconds) is given and the process takes too long,657 a TimeoutExpired exception will be raised.658 659 There is an optional argument "input", allowing you to660 pass bytes or a string to the subprocess's stdin. If you use this argument661 you may not also use the Popen constructor's "stdin" argument, as662 it will be used internally.663 664 By default, all communication is in bytes, and therefore any "input" should665 be bytes, and the stdout and stderr will be bytes. If in text mode, any666 "input" should be a string, and stdout and stderr will be strings decoded667 according to locale encoding, or by "encoding" if set. Text mode is668 triggered by setting any of text, encoding, errors or universal_newlines.669 670 The other arguments are the same as for the Popen constructor.671 """672 if input is not None:673 if kwargs.get('stdin') is not None:674 raise ValueError('stdin and input arguments may not both be used.')675 kwargs['stdin'] = PIPE676 677 if capture_output:678 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:679 raise ValueError('stdout and stderr arguments may not be used '680 'with capture_output.')681 kwargs['stdout'] = PIPE682 kwargs['stderr'] = PIPE683 684 with Popen(*popenargs, **kwargs) as process:685 try:686 stdout, stderr = process.communicate(input, timeout=timeout)687 except TimeoutExpired as exc:688 process.kill()689 if _mswindows:690 # Windows accumulates the output in a single blocking691 # read() call run on child threads, with the timeout692 # being done in a join() on those threads. communicate()693 # _after_ kill() is required to collect that and add it694 # to the exception.695 exc.stdout, exc.stderr = process.communicate()696 else:697 # POSIX _communicate already populated the output so698 # far into the TimeoutExpired exception.699 process.wait()700 raise701 except: # Including KeyboardInterrupt, communicate handled that.702 process.kill()703 # We don't call process.wait() as .__exit__ does that for us.704 raise705 retcode = process.poll()706 if check and retcode:707> raise CalledProcessError(retcode, process.args,708 output=stdout, stderr=stderr)709E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.710711/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError712----------------------------- Captured stderr call -----------------------------713warning: you don't have Internet access; disabling some network-dependent features714warning: /nix/var/nix does not exist, so Nix will use "/homeless-shelter/.local/share/nix/root" as a chroot store715error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy716_____________________ test_eval_tests[group-tests3-False] ______________________717[gw8] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python718719tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw8/test_eval_tests_group_tests3_F0')720package = 'group', tests = {'group.package.tests.nested.test'}721include_tests = False722723 @pytest.mark.parametrize("include_tests", [False, True])724 @pytest.mark.parametrize(725 ("package", "tests"),726 [727 (728 "selfReferencing",729 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},730 ),731 ("overridden", {"overridden.tests.inherited"}),732 ("single", {"single.tests"}),733 ("group", {"group.package.tests.nested.test"}),734 ],735 )736 def test_eval_tests(737 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool738 ) -> None:739 nixpkgs = real_nixpkgs()740 fixture = TEST_ROOT / "assets/recursive-tests.nix"741 (tmp_path / "default.nix").write_text(742 f"{{ system, ... }}: import {fixture} {{ "743 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"744 )745 config = tmp_path / "config.nix"746 config.write_text("{}")747 attrs = tmp_path / "attrs.json"748> attrs.write_text(json.dumps({current_system(): [package]}))749 ^^^^^^^^^^^^^^^^750751tests/test_eval.py:43: 752_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 753nixpkgs_review/utils.py:99: in current_system754 system = subprocess.run(755_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 756757input = None, capture_output = False, timeout = None, check = True758popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)759kwargs = {'stdout': -1, 'text': True}760761 def run(*popenargs,762 input=None, capture_output=False, timeout=None, check=False, **kwargs):763 """Run command with arguments and return a CompletedProcess instance.764 765 The returned instance will have attributes args, returncode, stdout and766 stderr. By default, stdout and stderr are not captured, and those attributes767 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,768 or pass capture_output=True to capture both.769 770 If check is True and the exit code was non-zero, it raises a771 CalledProcessError. The CalledProcessError object will have the return code772 in the returncode attribute, and output & stderr attributes if those streams773 were captured.774 775 If timeout (seconds) is given and the process takes too long,776 a TimeoutExpired exception will be raised.777 778 There is an optional argument "input", allowing you to779 pass bytes or a string to the subprocess's stdin. If you use this argument780 you may not also use the Popen constructor's "stdin" argument, as781 it will be used internally.782 783 By default, all communication is in bytes, and therefore any "input" should784 be bytes, and the stdout and stderr will be bytes. If in text mode, any785 "input" should be a string, and stdout and stderr will be strings decoded786 according to locale encoding, or by "encoding" if set. Text mode is787 triggered by setting any of text, encoding, errors or universal_newlines.788 789 The other arguments are the same as for the Popen constructor.790 """791 if input is not None:792 if kwargs.get('stdin') is not None:793 raise ValueError('stdin and input arguments may not both be used.')794 kwargs['stdin'] = PIPE795 796 if capture_output:797 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:798 raise ValueError('stdout and stderr arguments may not be used '799 'with capture_output.')800 kwargs['stdout'] = PIPE801 kwargs['stderr'] = PIPE802 803 with Popen(*popenargs, **kwargs) as process:804 try:805 stdout, stderr = process.communicate(input, timeout=timeout)806 except TimeoutExpired as exc:807 process.kill()808 if _mswindows:809 # Windows accumulates the output in a single blocking810 # read() call run on child threads, with the timeout811 # being done in a join() on those threads. communicate()812 # _after_ kill() is required to collect that and add it813 # to the exception.814 exc.stdout, exc.stderr = process.communicate()815 else:816 # POSIX _communicate already populated the output so817 # far into the TimeoutExpired exception.818 process.wait()819 raise820 except: # Including KeyboardInterrupt, communicate handled that.821 process.kill()822 # We don't call process.wait() as .__exit__ does that for us.823 raise824 retcode = process.poll()825 if check and retcode:826> raise CalledProcessError(retcode, process.args,827 output=stdout, stderr=stderr)828E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.829830/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError831----------------------------- Captured stderr call -----------------------------832warning: you don't have Internet access; disabling some network-dependent features833warning: /nix/var/nix does not exist, so Nix will use "/homeless-shelter/.local/share/nix/root" as a chroot store834error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy835______________________ test_eval_tests[group-tests3-True] ______________________836[gw6] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python837838tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw6/test_eval_tests_group_tests3_T0')839package = 'group', tests = {'group.package.tests.nested.test'}840include_tests = True841842 @pytest.mark.parametrize("include_tests", [False, True])843 @pytest.mark.parametrize(844 ("package", "tests"),845 [846 (847 "selfReferencing",848 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},849 ),850 ("overridden", {"overridden.tests.inherited"}),851 ("single", {"single.tests"}),852 ("group", {"group.package.tests.nested.test"}),853 ],854 )855 def test_eval_tests(856 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool857 ) -> None:858 nixpkgs = real_nixpkgs()859 fixture = TEST_ROOT / "assets/recursive-tests.nix"860 (tmp_path / "default.nix").write_text(861 f"{{ system, ... }}: import {fixture} {{ "862 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"863 )864 config = tmp_path / "config.nix"865 config.write_text("{}")866 attrs = tmp_path / "attrs.json"867> attrs.write_text(json.dumps({current_system(): [package]}))868 ^^^^^^^^^^^^^^^^869870tests/test_eval.py:43: 871_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 872nixpkgs_review/utils.py:99: in current_system873 system = subprocess.run(874_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 875876input = None, capture_output = False, timeout = None, check = True877popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)878kwargs = {'stdout': -1, 'text': True}879880 def run(*popenargs,881 input=None, capture_output=False, timeout=None, check=False, **kwargs):882 """Run command with arguments and return a CompletedProcess instance.883 884 The returned instance will have attributes args, returncode, stdout and885 stderr. By default, stdout and stderr are not captured, and those attributes886 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,887 or pass capture_output=True to capture both.888 889 If check is True and the exit code was non-zero, it raises a890 CalledProcessError. The CalledProcessError object will have the return code891 in the returncode attribute, and output & stderr attributes if those streams892 were captured.893 894 If timeout (seconds) is given and the process takes too long,895 a TimeoutExpired exception will be raised.896 897 There is an optional argument "input", allowing you to898 pass bytes or a string to the subprocess's stdin. If you use this argument899 you may not also use the Popen constructor's "stdin" argument, as900 it will be used internally.901 902 By default, all communication is in bytes, and therefore any "input" should903 be bytes, and the stdout and stderr will be bytes. If in text mode, any904 "input" should be a string, and stdout and stderr will be strings decoded905 according to locale encoding, or by "encoding" if set. Text mode is906 triggered by setting any of text, encoding, errors or universal_newlines.907 908 The other arguments are the same as for the Popen constructor.909 """910 if input is not None:911 if kwargs.get('stdin') is not None:912 raise ValueError('stdin and input arguments may not both be used.')913 kwargs['stdin'] = PIPE914 915 if capture_output:916 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:917 raise ValueError('stdout and stderr arguments may not be used '918 'with capture_output.')919 kwargs['stdout'] = PIPE920 kwargs['stderr'] = PIPE921 922 with Popen(*popenargs, **kwargs) as process:923 try:924 stdout, stderr = process.communicate(input, timeout=timeout)925 except TimeoutExpired as exc:926 process.kill()927 if _mswindows:928 # Windows accumulates the output in a single blocking929 # read() call run on child threads, with the timeout930 # being done in a join() on those threads. communicate()931 # _after_ kill() is required to collect that and add it932 # to the exception.933 exc.stdout, exc.stderr = process.communicate()934 else:935 # POSIX _communicate already populated the output so936 # far into the TimeoutExpired exception.937 process.wait()938 raise939 except: # Including KeyboardInterrupt, communicate handled that.940 process.kill()941 # We don't call process.wait() as .__exit__ does that for us.942 raise943 retcode = process.poll()944 if check and retcode:945> raise CalledProcessError(retcode, process.args,946 output=stdout, stderr=stderr)947E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.948949/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError950----------------------------- Captured stderr call -----------------------------951warning: you don't have Internet access; disabling some network-dependent features952error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy953___________________ test_eval_tests[overridden-tests1-False] ___________________954[gw3] linux -- Python 3.14.8 /nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/bin/python955956tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw3/test_eval_tests_overridden_tes0')957package = 'overridden', tests = {'overridden.tests.inherited'}958include_tests = False959960 @pytest.mark.parametrize("include_tests", [False, True])961 @pytest.mark.parametrize(962 ("package", "tests"),963 [964 (965 "selfReferencing",966 {"selfReferencing.tests.self", "selfReferencing.tests.nested.test"},967 ),968 ("overridden", {"overridden.tests.inherited"}),969 ("single", {"single.tests"}),970 ("group", {"group.package.tests.nested.test"}),971 ],972 )973 def test_eval_tests(974 tmp_path: Path, package: str, tests: set[str], *, include_tests: bool975 ) -> None:976 nixpkgs = real_nixpkgs()977 fixture = TEST_ROOT / "assets/recursive-tests.nix"978 (tmp_path / "default.nix").write_text(979 f"{{ system, ... }}: import {fixture} {{ "980 f"pkgs = import {nixpkgs} {{ inherit system; config = {{}}; }}; }}"981 )982 config = tmp_path / "config.nix"983 config.write_text("{}")984 attrs = tmp_path / "attrs.json"985> attrs.write_text(json.dumps({current_system(): [package]}))986 ^^^^^^^^^^^^^^^^987988tests/test_eval.py:43: 989_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 990nixpkgs_review/utils.py:99: in current_system991 system = subprocess.run(992_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 993994input = None, capture_output = False, timeout = None, check = True995popenargs = (['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', ...],)996kwargs = {'stdout': -1, 'text': True}997998 def run(*popenargs,999 input=None, capture_output=False, timeout=None, check=False, **kwargs):1000 """Run command with arguments and return a CompletedProcess instance.1001 1002 The returned instance will have attributes args, returncode, stdout and1003 stderr. By default, stdout and stderr are not captured, and those attributes1004 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1005 or pass capture_output=True to capture both.1006 1007 If check is True and the exit code was non-zero, it raises a1008 CalledProcessError. The CalledProcessError object will have the return code1009 in the returncode attribute, and output & stderr attributes if those streams1010 were captured.1011 1012 If timeout (seconds) is given and the process takes too long,1013 a TimeoutExpired exception will be raised.1014 1015 There is an optional argument "input", allowing you to1016 pass bytes or a string to the subprocess's stdin. If you use this argument1017 you may not also use the Popen constructor's "stdin" argument, as1018 it will be used internally.1019 1020 By default, all communication is in bytes, and therefore any "input" should1021 be bytes, and the stdout and stderr will be bytes. If in text mode, any1022 "input" should be a string, and stdout and stderr will be strings decoded1023 according to locale encoding, or by "encoding" if set. Text mode is1024 triggered by setting any of text, encoding, errors or universal_newlines.1025 1026 The other arguments are the same as for the Popen constructor.1027 """1028 if input is not None:1029 if kwargs.get('stdin') is not None:1030 raise ValueError('stdin and input arguments may not both be used.')1031 kwargs['stdin'] = PIPE1032 1033 if capture_output:1034 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1035 raise ValueError('stdout and stderr arguments may not be used '1036 'with capture_output.')1037 kwargs['stdout'] = PIPE1038 kwargs['stderr'] = PIPE1039 1040 with Popen(*popenargs, **kwargs) as process:1041 try:1042 stdout, stderr = process.communicate(input, timeout=timeout)1043 except TimeoutExpired as exc:1044 process.kill()1045 if _mswindows:1046 # Windows accumulates the output in a single blocking1047 # read() call run on child threads, with the timeout1048 # being done in a join() on those threads. communicate()1049 # _after_ kill() is required to collect that and add it1050 # to the exception.1051 exc.stdout, exc.stderr = process.communicate()1052 else:1053 # POSIX _communicate already populated the output so1054 # far into the TimeoutExpired exception.1055 process.wait()1056 raise1057 except: # Including KeyboardInterrupt, communicate handled that.1058 process.kill()1059 # We don't call process.wait() as .__exit__ does that for us.1060 raise1061 retcode = process.poll()1062 if check and retcode:1063> raise CalledProcessError(retcode, process.args,1064 output=stdout, stderr=stderr)1065E subprocess.CalledProcessError: Command '['nix', '--extra-experimental-features', 'nix-command', 'eval', '--impure', '--raw', '--expr', 'builtins.currentSystem']' returned non-zero exit status 1.10661067/nix/store/lq2fsnmg0q3y0vlxn91w8s8wvj1m6fld-python3-3.14.8/lib/python3.14/subprocess.py:578: CalledProcessError1068----------------------------- Captured stderr call -----------------------------1069warning: you don't have Internet access; disabling some network-dependent features1070warning: /nix/var/nix does not exist, so Nix will use "/homeless-shelter/.local/share/nix/root" as a chroot store1071error: SQLite database '/homeless-shelter/.local/share/nix/root/nix/var/nix/db/db.sqlite' is busy1072=========================== short test summary info ============================1073FAILED tests/test_eval.py::test_eval_tests[overridden-tests1-True] - subproce...1074FAILED tests/test_eval.py::test_eval_tests[selfReferencing-tests0-False] - su...1075FAILED tests/test_eval.py::test_eval_tests[single-tests2-True] - subprocess.C...1076FAILED tests/test_eval.py::test_eval_tests[single-tests2-False] - subprocess....1077FAILED tests/test_eval.py::test_eval_tests[group-tests3-False] - subprocess.C...1078FAILED tests/test_eval.py::test_eval_tests[group-tests3-True] - subprocess.Ca...1079FAILED tests/test_eval.py::test_eval_tests[overridden-tests1-False] - subproc...1080!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 7 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!1081!!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 1 failures !!!!!!!!!!!!!1082============= 7 failed, 42 passed, 4 skipped in 609.45s (0:10:09) ==============