python3.14-nixbot-tests
checks.aarch64-darwin.nixbot-tests
· build #463
· raw
1tribuchet: building on mac022Sourcing python-remove-tests-dir-hook3Sourcing python-catch-conflicts-hook.sh4Sourcing python-remove-bin-bytecode-hook.sh5Sourcing pypa-build-hook6Using pypaBuildPhase7Sourcing python-runtime-deps-check-hook8Using pythonRuntimeDepsCheckHook9Sourcing pypa-install-hook10Using pypaInstallPhase11Sourcing python-imports-check-hook.sh12Using pythonImportsCheckPhase13Sourcing python-namespaces-hook14Sourcing python-catch-conflicts-hook.sh15Sourcing pytest-check-hook16Using pytestCheckPhase
unpackPhase
17unpacking source archive /nix/store/s5mpr3g5gmmlvr76j2nqph6k5gq48c8f-nixbot18source root is nixbot19setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "nixbot/pyproject.toml"configurePhase
20no configure script, doing nothingbuildPhase
21Executing pypaBuildPhase22Creating a wheel...23pypa build flags: --no-isolation --outdir dist/ --wheel24* Getting build dependencies for wheel...25* Building wheel...26Successfully built nixbot-0.0.1-py3-none-any.whl27Finished creating a wheel...28Finished executing pypaBuildPhasepythonRuntimeDepsCheckHook
29Executing pythonRuntimeDepsCheck30Checking runtime dependencies for nixbot-0.0.1-py3-none-any.whl31Finished executing pythonRuntimeDepsCheckinstallPhase
32Executing pypaInstallPhase33Successfully installed nixbot-0.0.1-py3-none-any.whl34Finished executing pypaInstallPhasepythonOutputDistPhase
35Executing pythonOutputDistPhase36Finished executing pythonOutputDistPhasefixupPhase
37checking for references to /private/var/tb/3/scratch/8553cd82fca206c3/build/ in /nix/store/v8srvv070xfm83vjk2jnd0dijr64gg6w-python3.14-nixbot-tests...38patching script interpreter paths in /nix/store/v8srvv070xfm83vjk2jnd0dijr64gg6w-python3.14-nixbot-tests39stripping (with command strip and flags -S) in /nix/store/v8srvv070xfm83vjk2jnd0dijr64gg6w-python3.14-nixbot-tests/lib /nix/store/v8srvv070xfm83vjk2jnd0dijr64gg6w-python3.14-nixbot-tests/bin40checking for references to /private/var/tb/3/scratch/8553cd82fca206c3/build/ in /nix/store/k3apymrx3pqqa9aq2z4hs0dc5q9c17r3-python3.14-nixbot-tests-dist...41patching script interpreter paths in /nix/store/k3apymrx3pqqa9aq2z4hs0dc5q9c17r3-python3.14-nixbot-tests-dist42Rewriting #!/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14 to #!/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.643wrapping `/nix/store/v8srvv070xfm83vjk2jnd0dijr64gg6w-python3.14-nixbot-tests/bin/nixbot'...44Executing pythonRemoveTestsDir45Finished executing pythonRemoveTestsDirinstallCheckPhase
46no Makefile or custom installCheckPhase, doing nothingpythonImportsCheckPhase
47Executing pythonImportsCheckPhasepytestCheckPhase
48Executing pytestCheckPhase49pytest flags: -m pytest --numprocesses=2450/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.51 warner(PytestBenchmarkWarning(text))52/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.53 warner(PytestBenchmarkWarning(text))54/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.55 warner(PytestBenchmarkWarning(text))56/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.57 warner(PytestBenchmarkWarning(text))58/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.59 warner(PytestBenchmarkWarning(text))60/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.61 warner(PytestBenchmarkWarning(text))62/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.63 warner(PytestBenchmarkWarning(text))64/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.65 warner(PytestBenchmarkWarning(text))66/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.67 warner(PytestBenchmarkWarning(text))68/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.69 warner(PytestBenchmarkWarning(text))70/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.71 warner(PytestBenchmarkWarning(text))72/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.73 warner(PytestBenchmarkWarning(text))74/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.75 warner(PytestBenchmarkWarning(text))76/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.77 warner(PytestBenchmarkWarning(text))78/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.79 warner(PytestBenchmarkWarning(text))80/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.81 warner(PytestBenchmarkWarning(text))82/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.83 warner(PytestBenchmarkWarning(text))84/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.85 warner(PytestBenchmarkWarning(text))86/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.87 warner(PytestBenchmarkWarning(text))88/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.89 warner(PytestBenchmarkWarning(text))90/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.91 warner(PytestBenchmarkWarning(text))92/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.93 warner(PytestBenchmarkWarning(text))94/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.95 warner(PytestBenchmarkWarning(text))96/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.97 warner(PytestBenchmarkWarning(text))98/nix/store/kfbmrm2rads9m3za8am89kll1xmzlbra-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.99 warner(PytestBenchmarkWarning(text))100============================= test session starts ==============================101platform darwin -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0102benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)103rootdir: /private/var/tb/3/scratch/8553cd82fca206c3/build/nixbot104configfile: pyproject.toml105plugins: asyncio-1.4.0, timeout-2.4.0, xdist-3.8.0, benchmark-5.2.3, anyio-4.14.2106asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function107timeout: 60.0s108timeout method: signal109timeout func_only: False110created: 24/24 workers11124 workers [870 items]112113..............................ss..............ssssss.sss......sssssss... [ 8%]114.................ss......s.............................................. [ 16%]115........................................................................ [ 24%]116........................................................................ [ 33%]117........................ssss................................s........... [ 41%]118.......................................E....E.EEE..E.................... [ 49%]119....E...EE...EE....EEEEEE.EEEE.......................................... [ 57%]120...........s...............s............................................ [ 66%]121.....................................................s.................. [ 74%]122........................................................................ [ 82%]123........................................................................ [ 91%]124........................................................................ [ 99%]125...... [100%]126==================================== ERRORS ====================================127__________________ ERROR at setup of test_match_skip_and_run ___________________128[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14129130self = <Coroutine test_match_skip_and_run>131132 def setup(self) -> None:133 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"134 if runner_fixture_id not in self.fixturenames:135 self.fixturenames.append(runner_fixture_id)136 # When loop factories are configured, resolve the loop factory137 # fixture early so that a factory variant change cascades cache138 # invalidation before any async fixture checks its cache.139 hook_caller = self.config.hook.pytest_asyncio_loop_factories140 if hook_caller.get_hookimpls():141 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)142> return super().setup()143 ^^^^^^^^^^^^^^^144145/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 146_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 147/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:926: in pytest_fixture_setup148 return (yield)149 ^^^^^150nixbot/tests/conftest.py:33: in postgres_dsn151 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:152 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^153/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__154 return next(self.gen)155 ^^^^^^^^^^^^^^156nixbot/tests/support.py:299: in ephemeral_postgres157 subprocess.run( # noqa: S603158_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 159160input = None, capture_output = True, timeout = None, check = True161popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)162kwargs = {'stdout': -1, 'stderr': -1}163164 def run(*popenargs,165 input=None, capture_output=False, timeout=None, check=False, **kwargs):166 """Run command with arguments and return a CompletedProcess instance.167 168 The returned instance will have attributes args, returncode, stdout and169 stderr. By default, stdout and stderr are not captured, and those attributes170 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,171 or pass capture_output=True to capture both.172 173 If check is True and the exit code was non-zero, it raises a174 CalledProcessError. The CalledProcessError object will have the return code175 in the returncode attribute, and output & stderr attributes if those streams176 were captured.177 178 If timeout (seconds) is given and the process takes too long,179 a TimeoutExpired exception will be raised.180 181 There is an optional argument "input", allowing you to182 pass bytes or a string to the subprocess's stdin. If you use this argument183 you may not also use the Popen constructor's "stdin" argument, as184 it will be used internally.185 186 By default, all communication is in bytes, and therefore any "input" should187 be bytes, and the stdout and stderr will be bytes. If in text mode, any188 "input" should be a string, and stdout and stderr will be strings decoded189 according to locale encoding, or by "encoding" if set. Text mode is190 triggered by setting any of text, encoding, errors or universal_newlines.191 192 The other arguments are the same as for the Popen constructor.193 """194 if input is not None:195 if kwargs.get('stdin') is not None:196 raise ValueError('stdin and input arguments may not both be used.')197 kwargs['stdin'] = PIPE198 199 if capture_output:200 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:201 raise ValueError('stdout and stderr arguments may not be used '202 'with capture_output.')203 kwargs['stdout'] = PIPE204 kwargs['stderr'] = PIPE205 206 with Popen(*popenargs, **kwargs) as process:207 try:208 stdout, stderr = process.communicate(input, timeout=timeout)209 except TimeoutExpired as exc:210 process.kill()211 if _mswindows:212 # Windows accumulates the output in a single blocking213 # read() call run on child threads, with the timeout214 # being done in a join() on those threads. communicate()215 # _after_ kill() is required to collect that and add it216 # to the exception.217 exc.stdout, exc.stderr = process.communicate()218 else:219 # POSIX _communicate already populated the output so220 # far into the TimeoutExpired exception.221 process.wait()222 raise223 except: # Including KeyboardInterrupt, communicate handled that.224 process.kill()225 # We don't call process.wait() as .__exit__ does that for us.226 raise227 retcode = process.poll()228 if check and retcode:229> raise CalledProcessError(retcode, process.args,230 output=stdout, stderr=stderr)231E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.232233/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError234___________ ERROR at setup of test_permission_denied_records_reason ____________235[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14236237self = <Coroutine test_permission_denied_records_reason>238239 def setup(self) -> None:240 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"241 if runner_fixture_id not in self.fixturenames:242 self.fixturenames.append(runner_fixture_id)243 # When loop factories are configured, resolve the loop factory244 # fixture early so that a factory variant change cascades cache245 # invalidation before any async fixture checks its cache.246 hook_caller = self.config.hook.pytest_asyncio_loop_factories247 if hook_caller.get_hookimpls():248 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)249> return super().setup()250 ^^^^^^^^^^^^^^^251252/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 253_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 254nixbot/tests/conftest.py:33: in postgres_dsn255 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:256 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^257/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__258 return next(self.gen)259 ^^^^^^^^^^^^^^260nixbot/tests/support.py:299: in ephemeral_postgres261 subprocess.run( # noqa: S603262_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 263264input = None, capture_output = True, timeout = None, check = True265popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)266kwargs = {'stdout': -1, 'stderr': -1}267268 def run(*popenargs,269 input=None, capture_output=False, timeout=None, check=False, **kwargs):270 """Run command with arguments and return a CompletedProcess instance.271 272 The returned instance will have attributes args, returncode, stdout and273 stderr. By default, stdout and stderr are not captured, and those attributes274 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,275 or pass capture_output=True to capture both.276 277 If check is True and the exit code was non-zero, it raises a278 CalledProcessError. The CalledProcessError object will have the return code279 in the returncode attribute, and output & stderr attributes if those streams280 were captured.281 282 If timeout (seconds) is given and the process takes too long,283 a TimeoutExpired exception will be raised.284 285 There is an optional argument "input", allowing you to286 pass bytes or a string to the subprocess's stdin. If you use this argument287 you may not also use the Popen constructor's "stdin" argument, as288 it will be used internally.289 290 By default, all communication is in bytes, and therefore any "input" should291 be bytes, and the stdout and stderr will be bytes. If in text mode, any292 "input" should be a string, and stdout and stderr will be strings decoded293 according to locale encoding, or by "encoding" if set. Text mode is294 triggered by setting any of text, encoding, errors or universal_newlines.295 296 The other arguments are the same as for the Popen constructor.297 """298 if input is not None:299 if kwargs.get('stdin') is not None:300 raise ValueError('stdin and input arguments may not both be used.')301 kwargs['stdin'] = PIPE302 303 if capture_output:304 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:305 raise ValueError('stdout and stderr arguments may not be used '306 'with capture_output.')307 kwargs['stdout'] = PIPE308 kwargs['stderr'] = PIPE309 310 with Popen(*popenargs, **kwargs) as process:311 try:312 stdout, stderr = process.communicate(input, timeout=timeout)313 except TimeoutExpired as exc:314 process.kill()315 if _mswindows:316 # Windows accumulates the output in a single blocking317 # read() call run on child threads, with the timeout318 # being done in a join() on those threads. communicate()319 # _after_ kill() is required to collect that and add it320 # to the exception.321 exc.stdout, exc.stderr = process.communicate()322 else:323 # POSIX _communicate already populated the output so324 # far into the TimeoutExpired exception.325 process.wait()326 raise327 except: # Including KeyboardInterrupt, communicate handled that.328 process.kill()329 # We don't call process.wait() as .__exit__ does that for us.330 raise331 retcode = process.poll()332 if check and retcode:333> raise CalledProcessError(retcode, process.args,334 output=stdout, stderr=stderr)335E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.336337/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError338__________________ ERROR at setup of test_modified_files_gate __________________339[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14340341self = <Coroutine test_modified_files_gate>342343 def setup(self) -> None:344 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"345 if runner_fixture_id not in self.fixturenames:346 self.fixturenames.append(runner_fixture_id)347 # When loop factories are configured, resolve the loop factory348 # fixture early so that a factory variant change cascades cache349 # invalidation before any async fixture checks its cache.350 hook_caller = self.config.hook.pytest_asyncio_loop_factories351 if hook_caller.get_hookimpls():352 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)353> return super().setup()354 ^^^^^^^^^^^^^^^355356/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 357_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 358nixbot/tests/conftest.py:33: in postgres_dsn359 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:360 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^361/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__362 return next(self.gen)363 ^^^^^^^^^^^^^^364nixbot/tests/support.py:299: in ephemeral_postgres365 subprocess.run( # noqa: S603366_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 367368input = None, capture_output = True, timeout = None, check = True369popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)370kwargs = {'stdout': -1, 'stderr': -1}371372 def run(*popenargs,373 input=None, capture_output=False, timeout=None, check=False, **kwargs):374 """Run command with arguments and return a CompletedProcess instance.375 376 The returned instance will have attributes args, returncode, stdout and377 stderr. By default, stdout and stderr are not captured, and those attributes378 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,379 or pass capture_output=True to capture both.380 381 If check is True and the exit code was non-zero, it raises a382 CalledProcessError. The CalledProcessError object will have the return code383 in the returncode attribute, and output & stderr attributes if those streams384 were captured.385 386 If timeout (seconds) is given and the process takes too long,387 a TimeoutExpired exception will be raised.388 389 There is an optional argument "input", allowing you to390 pass bytes or a string to the subprocess's stdin. If you use this argument391 you may not also use the Popen constructor's "stdin" argument, as392 it will be used internally.393 394 By default, all communication is in bytes, and therefore any "input" should395 be bytes, and the stdout and stderr will be bytes. If in text mode, any396 "input" should be a string, and stdout and stderr will be strings decoded397 according to locale encoding, or by "encoding" if set. Text mode is398 triggered by setting any of text, encoding, errors or universal_newlines.399 400 The other arguments are the same as for the Popen constructor.401 """402 if input is not None:403 if kwargs.get('stdin') is not None:404 raise ValueError('stdin and input arguments may not both be used.')405 kwargs['stdin'] = PIPE406 407 if capture_output:408 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:409 raise ValueError('stdout and stderr arguments may not be used '410 'with capture_output.')411 kwargs['stdout'] = PIPE412 kwargs['stderr'] = PIPE413 414 with Popen(*popenargs, **kwargs) as process:415 try:416 stdout, stderr = process.communicate(input, timeout=timeout)417 except TimeoutExpired as exc:418 process.kill()419 if _mswindows:420 # Windows accumulates the output in a single blocking421 # read() call run on child threads, with the timeout422 # being done in a join() on those threads. communicate()423 # _after_ kill() is required to collect that and add it424 # to the exception.425 exc.stdout, exc.stderr = process.communicate()426 else:427 # POSIX _communicate already populated the output so428 # far into the TimeoutExpired exception.429 process.wait()430 raise431 except: # Including KeyboardInterrupt, communicate handled that.432 process.kill()433 # We don't call process.wait() as .__exit__ does that for us.434 raise435 retcode = process.poll()436 if check and retcode:437> raise CalledProcessError(retcode, process.args,438 output=stdout, stderr=stderr)439E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.440441/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError442________________ ERROR at setup of test_forge_outage_is_retried ________________443[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14444445self = <Coroutine test_forge_outage_is_retried>446447 def setup(self) -> None:448 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"449 if runner_fixture_id not in self.fixturenames:450 self.fixturenames.append(runner_fixture_id)451 # When loop factories are configured, resolve the loop factory452 # fixture early so that a factory variant change cascades cache453 # invalidation before any async fixture checks its cache.454 hook_caller = self.config.hook.pytest_asyncio_loop_factories455 if hook_caller.get_hookimpls():456 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)457> return super().setup()458 ^^^^^^^^^^^^^^^459460/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 461_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 462nixbot/tests/conftest.py:33: in postgres_dsn463 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:464 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^465/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__466 return next(self.gen)467 ^^^^^^^^^^^^^^468nixbot/tests/support.py:299: in ephemeral_postgres469 subprocess.run( # noqa: S603470_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 471472input = None, capture_output = True, timeout = None, check = True473popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)474kwargs = {'stdout': -1, 'stderr': -1}475476 def run(*popenargs,477 input=None, capture_output=False, timeout=None, check=False, **kwargs):478 """Run command with arguments and return a CompletedProcess instance.479 480 The returned instance will have attributes args, returncode, stdout and481 stderr. By default, stdout and stderr are not captured, and those attributes482 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,483 or pass capture_output=True to capture both.484 485 If check is True and the exit code was non-zero, it raises a486 CalledProcessError. The CalledProcessError object will have the return code487 in the returncode attribute, and output & stderr attributes if those streams488 were captured.489 490 If timeout (seconds) is given and the process takes too long,491 a TimeoutExpired exception will be raised.492 493 There is an optional argument "input", allowing you to494 pass bytes or a string to the subprocess's stdin. If you use this argument495 you may not also use the Popen constructor's "stdin" argument, as496 it will be used internally.497 498 By default, all communication is in bytes, and therefore any "input" should499 be bytes, and the stdout and stderr will be bytes. If in text mode, any500 "input" should be a string, and stdout and stderr will be strings decoded501 according to locale encoding, or by "encoding" if set. Text mode is502 triggered by setting any of text, encoding, errors or universal_newlines.503 504 The other arguments are the same as for the Popen constructor.505 """506 if input is not None:507 if kwargs.get('stdin') is not None:508 raise ValueError('stdin and input arguments may not both be used.')509 kwargs['stdin'] = PIPE510 511 if capture_output:512 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:513 raise ValueError('stdout and stderr arguments may not be used '514 'with capture_output.')515 kwargs['stdout'] = PIPE516 kwargs['stderr'] = PIPE517 518 with Popen(*popenargs, **kwargs) as process:519 try:520 stdout, stderr = process.communicate(input, timeout=timeout)521 except TimeoutExpired as exc:522 process.kill()523 if _mswindows:524 # Windows accumulates the output in a single blocking525 # read() call run on child threads, with the timeout526 # being done in a join() on those threads. communicate()527 # _after_ kill() is required to collect that and add it528 # to the exception.529 exc.stdout, exc.stderr = process.communicate()530 else:531 # POSIX _communicate already populated the output so532 # far into the TimeoutExpired exception.533 process.wait()534 raise535 except: # Including KeyboardInterrupt, communicate handled that.536 process.kill()537 # We don't call process.wait() as .__exit__ does that for us.538 raise539 retcode = process.poll()540 if check and retcode:541> raise CalledProcessError(retcode, process.args,542 output=stdout, stderr=stderr)543E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.544545/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError546_________________ ERROR at setup of test_forge_outage_gives_up _________________547[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14548549self = <Coroutine test_forge_outage_gives_up>550551 def setup(self) -> None:552 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"553 if runner_fixture_id not in self.fixturenames:554 self.fixturenames.append(runner_fixture_id)555 # When loop factories are configured, resolve the loop factory556 # fixture early so that a factory variant change cascades cache557 # invalidation before any async fixture checks its cache.558 hook_caller = self.config.hook.pytest_asyncio_loop_factories559 if hook_caller.get_hookimpls():560 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)561> return super().setup()562 ^^^^^^^^^^^^^^^563564/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 565_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 566nixbot/tests/conftest.py:33: in postgres_dsn567 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:568 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^569/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__570 return next(self.gen)571 ^^^^^^^^^^^^^^572nixbot/tests/support.py:299: in ephemeral_postgres573 subprocess.run( # noqa: S603574_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 575576input = None, capture_output = True, timeout = None, check = True577popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)578kwargs = {'stdout': -1, 'stderr': -1}579580 def run(*popenargs,581 input=None, capture_output=False, timeout=None, check=False, **kwargs):582 """Run command with arguments and return a CompletedProcess instance.583 584 The returned instance will have attributes args, returncode, stdout and585 stderr. By default, stdout and stderr are not captured, and those attributes586 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,587 or pass capture_output=True to capture both.588 589 If check is True and the exit code was non-zero, it raises a590 CalledProcessError. The CalledProcessError object will have the return code591 in the returncode attribute, and output & stderr attributes if those streams592 were captured.593 594 If timeout (seconds) is given and the process takes too long,595 a TimeoutExpired exception will be raised.596 597 There is an optional argument "input", allowing you to598 pass bytes or a string to the subprocess's stdin. If you use this argument599 you may not also use the Popen constructor's "stdin" argument, as600 it will be used internally.601 602 By default, all communication is in bytes, and therefore any "input" should603 be bytes, and the stdout and stderr will be bytes. If in text mode, any604 "input" should be a string, and stdout and stderr will be strings decoded605 according to locale encoding, or by "encoding" if set. Text mode is606 triggered by setting any of text, encoding, errors or universal_newlines.607 608 The other arguments are the same as for the Popen constructor.609 """610 if input is not None:611 if kwargs.get('stdin') is not None:612 raise ValueError('stdin and input arguments may not both be used.')613 kwargs['stdin'] = PIPE614 615 if capture_output:616 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:617 raise ValueError('stdout and stderr arguments may not be used '618 'with capture_output.')619 kwargs['stdout'] = PIPE620 kwargs['stderr'] = PIPE621 622 with Popen(*popenargs, **kwargs) as process:623 try:624 stdout, stderr = process.communicate(input, timeout=timeout)625 except TimeoutExpired as exc:626 process.kill()627 if _mswindows:628 # Windows accumulates the output in a single blocking629 # read() call run on child threads, with the timeout630 # being done in a join() on those threads. communicate()631 # _after_ kill() is required to collect that and add it632 # to the exception.633 exc.stdout, exc.stderr = process.communicate()634 else:635 # POSIX _communicate already populated the output so636 # far into the TimeoutExpired exception.637 process.wait()638 raise639 except: # Including KeyboardInterrupt, communicate handled that.640 process.kill()641 # We don't call process.wait() as .__exit__ does that for us.642 raise643 retcode = process.poll()644 if check and retcode:645> raise CalledProcessError(retcode, process.args,646 output=stdout, stderr=stderr)647E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.648649/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError650_____ ERROR at setup of test_lock_shared_with_push_effect_and_supersession _____651[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14652653self = <Coroutine test_lock_shared_with_push_effect_and_supersession>654655 def setup(self) -> None:656 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"657 if runner_fixture_id not in self.fixturenames:658 self.fixturenames.append(runner_fixture_id)659 # When loop factories are configured, resolve the loop factory660 # fixture early so that a factory variant change cascades cache661 # invalidation before any async fixture checks its cache.662 hook_caller = self.config.hook.pytest_asyncio_loop_factories663 if hook_caller.get_hookimpls():664 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)665> return super().setup()666 ^^^^^^^^^^^^^^^667668/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 669_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 670nixbot/tests/conftest.py:33: in postgres_dsn671 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:672 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^673/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__674 return next(self.gen)675 ^^^^^^^^^^^^^^676nixbot/tests/support.py:299: in ephemeral_postgres677 subprocess.run( # noqa: S603678_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 679680input = None, capture_output = True, timeout = None, check = True681popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)682kwargs = {'stdout': -1, 'stderr': -1}683684 def run(*popenargs,685 input=None, capture_output=False, timeout=None, check=False, **kwargs):686 """Run command with arguments and return a CompletedProcess instance.687 688 The returned instance will have attributes args, returncode, stdout and689 stderr. By default, stdout and stderr are not captured, and those attributes690 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,691 or pass capture_output=True to capture both.692 693 If check is True and the exit code was non-zero, it raises a694 CalledProcessError. The CalledProcessError object will have the return code695 in the returncode attribute, and output & stderr attributes if those streams696 were captured.697 698 If timeout (seconds) is given and the process takes too long,699 a TimeoutExpired exception will be raised.700 701 There is an optional argument "input", allowing you to702 pass bytes or a string to the subprocess's stdin. If you use this argument703 you may not also use the Popen constructor's "stdin" argument, as704 it will be used internally.705 706 By default, all communication is in bytes, and therefore any "input" should707 be bytes, and the stdout and stderr will be bytes. If in text mode, any708 "input" should be a string, and stdout and stderr will be strings decoded709 according to locale encoding, or by "encoding" if set. Text mode is710 triggered by setting any of text, encoding, errors or universal_newlines.711 712 The other arguments are the same as for the Popen constructor.713 """714 if input is not None:715 if kwargs.get('stdin') is not None:716 raise ValueError('stdin and input arguments may not both be used.')717 kwargs['stdin'] = PIPE718 719 if capture_output:720 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:721 raise ValueError('stdout and stderr arguments may not be used '722 'with capture_output.')723 kwargs['stdout'] = PIPE724 kwargs['stderr'] = PIPE725 726 with Popen(*popenargs, **kwargs) as process:727 try:728 stdout, stderr = process.communicate(input, timeout=timeout)729 except TimeoutExpired as exc:730 process.kill()731 if _mswindows:732 # Windows accumulates the output in a single blocking733 # read() call run on child threads, with the timeout734 # being done in a join() on those threads. communicate()735 # _after_ kill() is required to collect that and add it736 # to the exception.737 exc.stdout, exc.stderr = process.communicate()738 else:739 # POSIX _communicate already populated the output so740 # far into the TimeoutExpired exception.741 process.wait()742 raise743 except: # Including KeyboardInterrupt, communicate handled that.744 process.kill()745 # We don't call process.wait() as .__exit__ does that for us.746 raise747 retcode = process.poll()748 if check and retcode:749> raise CalledProcessError(retcode, process.args,750 output=stdout, stderr=stderr)751E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.752753/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError754___________ ERROR at setup of test_checkout_is_pr_head_without_token ___________755[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14756757self = <Coroutine test_checkout_is_pr_head_without_token>758759 def setup(self) -> None:760 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"761 if runner_fixture_id not in self.fixturenames:762 self.fixturenames.append(runner_fixture_id)763 # When loop factories are configured, resolve the loop factory764 # fixture early so that a factory variant change cascades cache765 # invalidation before any async fixture checks its cache.766 hook_caller = self.config.hook.pytest_asyncio_loop_factories767 if hook_caller.get_hookimpls():768 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)769> return super().setup()770 ^^^^^^^^^^^^^^^771772/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 773_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 774nixbot/tests/conftest.py:33: in postgres_dsn775 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:776 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^777/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__778 return next(self.gen)779 ^^^^^^^^^^^^^^780nixbot/tests/support.py:299: in ephemeral_postgres781 subprocess.run( # noqa: S603782_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 783784input = None, capture_output = True, timeout = None, check = True785popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)786kwargs = {'stdout': -1, 'stderr': -1}787788 def run(*popenargs,789 input=None, capture_output=False, timeout=None, check=False, **kwargs):790 """Run command with arguments and return a CompletedProcess instance.791 792 The returned instance will have attributes args, returncode, stdout and793 stderr. By default, stdout and stderr are not captured, and those attributes794 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,795 or pass capture_output=True to capture both.796 797 If check is True and the exit code was non-zero, it raises a798 CalledProcessError. The CalledProcessError object will have the return code799 in the returncode attribute, and output & stderr attributes if those streams800 were captured.801 802 If timeout (seconds) is given and the process takes too long,803 a TimeoutExpired exception will be raised.804 805 There is an optional argument "input", allowing you to806 pass bytes or a string to the subprocess's stdin. If you use this argument807 you may not also use the Popen constructor's "stdin" argument, as808 it will be used internally.809 810 By default, all communication is in bytes, and therefore any "input" should811 be bytes, and the stdout and stderr will be bytes. If in text mode, any812 "input" should be a string, and stdout and stderr will be strings decoded813 according to locale encoding, or by "encoding" if set. Text mode is814 triggered by setting any of text, encoding, errors or universal_newlines.815 816 The other arguments are the same as for the Popen constructor.817 """818 if input is not None:819 if kwargs.get('stdin') is not None:820 raise ValueError('stdin and input arguments may not both be used.')821 kwargs['stdin'] = PIPE822 823 if capture_output:824 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:825 raise ValueError('stdout and stderr arguments may not be used '826 'with capture_output.')827 kwargs['stdout'] = PIPE828 kwargs['stderr'] = PIPE829 830 with Popen(*popenargs, **kwargs) as process:831 try:832 stdout, stderr = process.communicate(input, timeout=timeout)833 except TimeoutExpired as exc:834 process.kill()835 if _mswindows:836 # Windows accumulates the output in a single blocking837 # read() call run on child threads, with the timeout838 # being done in a join() on those threads. communicate()839 # _after_ kill() is required to collect that and add it840 # to the exception.841 exc.stdout, exc.stderr = process.communicate()842 else:843 # POSIX _communicate already populated the output so844 # far into the TimeoutExpired exception.845 process.wait()846 raise847 except: # Including KeyboardInterrupt, communicate handled that.848 process.kill()849 # We don't call process.wait() as .__exit__ does that for us.850 raise851 retcode = process.poll()852 if check and retcode:853> raise CalledProcessError(retcode, process.args,854 output=stdout, stderr=stderr)855E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.856857/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError858____________ ERROR at setup of test_build_success_enqueues_delivery ____________859[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14860861self = <Coroutine test_build_success_enqueues_delivery>862863 def setup(self) -> None:864 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"865 if runner_fixture_id not in self.fixturenames:866 self.fixturenames.append(runner_fixture_id)867 # When loop factories are configured, resolve the loop factory868 # fixture early so that a factory variant change cascades cache869 # invalidation before any async fixture checks its cache.870 hook_caller = self.config.hook.pytest_asyncio_loop_factories871 if hook_caller.get_hookimpls():872 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)873> return super().setup()874 ^^^^^^^^^^^^^^^875876/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 877_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 878nixbot/tests/conftest.py:33: in postgres_dsn879 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:880 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^881/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__882 return next(self.gen)883 ^^^^^^^^^^^^^^884nixbot/tests/support.py:299: in ephemeral_postgres885 subprocess.run( # noqa: S603886_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 887888input = None, capture_output = True, timeout = None, check = True889popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)890kwargs = {'stdout': -1, 'stderr': -1}891892 def run(*popenargs,893 input=None, capture_output=False, timeout=None, check=False, **kwargs):894 """Run command with arguments and return a CompletedProcess instance.895 896 The returned instance will have attributes args, returncode, stdout and897 stderr. By default, stdout and stderr are not captured, and those attributes898 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,899 or pass capture_output=True to capture both.900 901 If check is True and the exit code was non-zero, it raises a902 CalledProcessError. The CalledProcessError object will have the return code903 in the returncode attribute, and output & stderr attributes if those streams904 were captured.905 906 If timeout (seconds) is given and the process takes too long,907 a TimeoutExpired exception will be raised.908 909 There is an optional argument "input", allowing you to910 pass bytes or a string to the subprocess's stdin. If you use this argument911 you may not also use the Popen constructor's "stdin" argument, as912 it will be used internally.913 914 By default, all communication is in bytes, and therefore any "input" should915 be bytes, and the stdout and stderr will be bytes. If in text mode, any916 "input" should be a string, and stdout and stderr will be strings decoded917 according to locale encoding, or by "encoding" if set. Text mode is918 triggered by setting any of text, encoding, errors or universal_newlines.919 920 The other arguments are the same as for the Popen constructor.921 """922 if input is not None:923 if kwargs.get('stdin') is not None:924 raise ValueError('stdin and input arguments may not both be used.')925 kwargs['stdin'] = PIPE926 927 if capture_output:928 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:929 raise ValueError('stdout and stderr arguments may not be used '930 'with capture_output.')931 kwargs['stdout'] = PIPE932 kwargs['stderr'] = PIPE933 934 with Popen(*popenargs, **kwargs) as process:935 try:936 stdout, stderr = process.communicate(input, timeout=timeout)937 except TimeoutExpired as exc:938 process.kill()939 if _mswindows:940 # Windows accumulates the output in a single blocking941 # read() call run on child threads, with the timeout942 # being done in a join() on those threads. communicate()943 # _after_ kill() is required to collect that and add it944 # to the exception.945 exc.stdout, exc.stderr = process.communicate()946 else:947 # POSIX _communicate already populated the output so948 # far into the TimeoutExpired exception.949 process.wait()950 raise951 except: # Including KeyboardInterrupt, communicate handled that.952 process.kill()953 # We don't call process.wait() as .__exit__ does that for us.954 raise955 retcode = process.poll()956 if check and retcode:957> raise CalledProcessError(retcode, process.args,958 output=stdout, stderr=stderr)959E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.960961/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError962__________ ERROR at setup of test_comment_and_close_webhooks_deliver ___________963[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14964965self = <Coroutine test_comment_and_close_webhooks_deliver>966967 def setup(self) -> None:968 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"969 if runner_fixture_id not in self.fixturenames:970 self.fixturenames.append(runner_fixture_id)971 # When loop factories are configured, resolve the loop factory972 # fixture early so that a factory variant change cascades cache973 # invalidation before any async fixture checks its cache.974 hook_caller = self.config.hook.pytest_asyncio_loop_factories975 if hook_caller.get_hookimpls():976 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)977> return super().setup()978 ^^^^^^^^^^^^^^^979980/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 981_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 982nixbot/tests/conftest.py:33: in postgres_dsn983 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:984 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^985/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__986 return next(self.gen)987 ^^^^^^^^^^^^^^988nixbot/tests/support.py:299: in ephemeral_postgres989 subprocess.run( # noqa: S603990_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 991992input = None, capture_output = True, timeout = None, check = True993popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)994kwargs = {'stdout': -1, 'stderr': -1}995996 def run(*popenargs,997 input=None, capture_output=False, timeout=None, check=False, **kwargs):998 """Run command with arguments and return a CompletedProcess instance.999 1000 The returned instance will have attributes args, returncode, stdout and1001 stderr. By default, stdout and stderr are not captured, and those attributes1002 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1003 or pass capture_output=True to capture both.1004 1005 If check is True and the exit code was non-zero, it raises a1006 CalledProcessError. The CalledProcessError object will have the return code1007 in the returncode attribute, and output & stderr attributes if those streams1008 were captured.1009 1010 If timeout (seconds) is given and the process takes too long,1011 a TimeoutExpired exception will be raised.1012 1013 There is an optional argument "input", allowing you to1014 pass bytes or a string to the subprocess's stdin. If you use this argument1015 you may not also use the Popen constructor's "stdin" argument, as1016 it will be used internally.1017 1018 By default, all communication is in bytes, and therefore any "input" should1019 be bytes, and the stdout and stderr will be bytes. If in text mode, any1020 "input" should be a string, and stdout and stderr will be strings decoded1021 according to locale encoding, or by "encoding" if set. Text mode is1022 triggered by setting any of text, encoding, errors or universal_newlines.1023 1024 The other arguments are the same as for the Popen constructor.1025 """1026 if input is not None:1027 if kwargs.get('stdin') is not None:1028 raise ValueError('stdin and input arguments may not both be used.')1029 kwargs['stdin'] = PIPE1030 1031 if capture_output:1032 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1033 raise ValueError('stdout and stderr arguments may not be used '1034 'with capture_output.')1035 kwargs['stdout'] = PIPE1036 kwargs['stderr'] = PIPE1037 1038 with Popen(*popenargs, **kwargs) as process:1039 try:1040 stdout, stderr = process.communicate(input, timeout=timeout)1041 except TimeoutExpired as exc:1042 process.kill()1043 if _mswindows:1044 # Windows accumulates the output in a single blocking1045 # read() call run on child threads, with the timeout1046 # being done in a join() on those threads. communicate()1047 # _after_ kill() is required to collect that and add it1048 # to the exception.1049 exc.stdout, exc.stderr = process.communicate()1050 else:1051 # POSIX _communicate already populated the output so1052 # far into the TimeoutExpired exception.1053 process.wait()1054 raise1055 except: # Including KeyboardInterrupt, communicate handled that.1056 process.kill()1057 # We don't call process.wait() as .__exit__ does that for us.1058 raise1059 retcode = process.poll()1060 if check and retcode:1061> raise CalledProcessError(retcode, process.args,1062 output=stdout, stderr=stderr)1063E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.10641065/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1066__________ ERROR at setup of test_close_after_merge_push_reused_build __________1067[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1410681069self = <Coroutine test_close_after_merge_push_reused_build>10701071 def setup(self) -> None:1072 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1073 if runner_fixture_id not in self.fixturenames:1074 self.fixturenames.append(runner_fixture_id)1075 # When loop factories are configured, resolve the loop factory1076 # fixture early so that a factory variant change cascades cache1077 # invalidation before any async fixture checks its cache.1078 hook_caller = self.config.hook.pytest_asyncio_loop_factories1079 if hook_caller.get_hookimpls():1080 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1081> return super().setup()1082 ^^^^^^^^^^^^^^^10831084/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1085_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1086nixbot/tests/conftest.py:33: in postgres_dsn1087 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1088 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1089/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1090 return next(self.gen)1091 ^^^^^^^^^^^^^^1092nixbot/tests/support.py:299: in ephemeral_postgres1093 subprocess.run( # noqa: S6031094_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10951096input = None, capture_output = True, timeout = None, check = True1097popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1098kwargs = {'stdout': -1, 'stderr': -1}10991100 def run(*popenargs,1101 input=None, capture_output=False, timeout=None, check=False, **kwargs):1102 """Run command with arguments and return a CompletedProcess instance.1103 1104 The returned instance will have attributes args, returncode, stdout and1105 stderr. By default, stdout and stderr are not captured, and those attributes1106 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1107 or pass capture_output=True to capture both.1108 1109 If check is True and the exit code was non-zero, it raises a1110 CalledProcessError. The CalledProcessError object will have the return code1111 in the returncode attribute, and output & stderr attributes if those streams1112 were captured.1113 1114 If timeout (seconds) is given and the process takes too long,1115 a TimeoutExpired exception will be raised.1116 1117 There is an optional argument "input", allowing you to1118 pass bytes or a string to the subprocess's stdin. If you use this argument1119 you may not also use the Popen constructor's "stdin" argument, as1120 it will be used internally.1121 1122 By default, all communication is in bytes, and therefore any "input" should1123 be bytes, and the stdout and stderr will be bytes. If in text mode, any1124 "input" should be a string, and stdout and stderr will be strings decoded1125 according to locale encoding, or by "encoding" if set. Text mode is1126 triggered by setting any of text, encoding, errors or universal_newlines.1127 1128 The other arguments are the same as for the Popen constructor.1129 """1130 if input is not None:1131 if kwargs.get('stdin') is not None:1132 raise ValueError('stdin and input arguments may not both be used.')1133 kwargs['stdin'] = PIPE1134 1135 if capture_output:1136 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1137 raise ValueError('stdout and stderr arguments may not be used '1138 'with capture_output.')1139 kwargs['stdout'] = PIPE1140 kwargs['stderr'] = PIPE1141 1142 with Popen(*popenargs, **kwargs) as process:1143 try:1144 stdout, stderr = process.communicate(input, timeout=timeout)1145 except TimeoutExpired as exc:1146 process.kill()1147 if _mswindows:1148 # Windows accumulates the output in a single blocking1149 # read() call run on child threads, with the timeout1150 # being done in a join() on those threads. communicate()1151 # _after_ kill() is required to collect that and add it1152 # to the exception.1153 exc.stdout, exc.stderr = process.communicate()1154 else:1155 # POSIX _communicate already populated the output so1156 # far into the TimeoutExpired exception.1157 process.wait()1158 raise1159 except: # Including KeyboardInterrupt, communicate handled that.1160 process.kill()1161 # We don't call process.wait() as .__exit__ does that for us.1162 raise1163 retcode = process.poll()1164 if check and retcode:1165> raise CalledProcessError(retcode, process.args,1166 output=stdout, stderr=stderr)1167E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.11681169/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1170______________ ERROR at setup of test_build_finished_transitions _______________1171[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1411721173self = <Coroutine test_build_finished_transitions>11741175 def setup(self) -> None:1176 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1177 if runner_fixture_id not in self.fixturenames:1178 self.fixturenames.append(runner_fixture_id)1179 # When loop factories are configured, resolve the loop factory1180 # fixture early so that a factory variant change cascades cache1181 # invalidation before any async fixture checks its cache.1182 hook_caller = self.config.hook.pytest_asyncio_loop_factories1183 if hook_caller.get_hookimpls():1184 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1185> return super().setup()1186 ^^^^^^^^^^^^^^^11871188/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1189_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1190nixbot/tests/conftest.py:33: in postgres_dsn1191 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1192 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1193/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1194 return next(self.gen)1195 ^^^^^^^^^^^^^^1196nixbot/tests/support.py:299: in ephemeral_postgres1197 subprocess.run( # noqa: S6031198_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 11991200input = None, capture_output = True, timeout = None, check = True1201popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1202kwargs = {'stdout': -1, 'stderr': -1}12031204 def run(*popenargs,1205 input=None, capture_output=False, timeout=None, check=False, **kwargs):1206 """Run command with arguments and return a CompletedProcess instance.1207 1208 The returned instance will have attributes args, returncode, stdout and1209 stderr. By default, stdout and stderr are not captured, and those attributes1210 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1211 or pass capture_output=True to capture both.1212 1213 If check is True and the exit code was non-zero, it raises a1214 CalledProcessError. The CalledProcessError object will have the return code1215 in the returncode attribute, and output & stderr attributes if those streams1216 were captured.1217 1218 If timeout (seconds) is given and the process takes too long,1219 a TimeoutExpired exception will be raised.1220 1221 There is an optional argument "input", allowing you to1222 pass bytes or a string to the subprocess's stdin. If you use this argument1223 you may not also use the Popen constructor's "stdin" argument, as1224 it will be used internally.1225 1226 By default, all communication is in bytes, and therefore any "input" should1227 be bytes, and the stdout and stderr will be bytes. If in text mode, any1228 "input" should be a string, and stdout and stderr will be strings decoded1229 according to locale encoding, or by "encoding" if set. Text mode is1230 triggered by setting any of text, encoding, errors or universal_newlines.1231 1232 The other arguments are the same as for the Popen constructor.1233 """1234 if input is not None:1235 if kwargs.get('stdin') is not None:1236 raise ValueError('stdin and input arguments may not both be used.')1237 kwargs['stdin'] = PIPE1238 1239 if capture_output:1240 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1241 raise ValueError('stdout and stderr arguments may not be used '1242 'with capture_output.')1243 kwargs['stdout'] = PIPE1244 kwargs['stderr'] = PIPE1245 1246 with Popen(*popenargs, **kwargs) as process:1247 try:1248 stdout, stderr = process.communicate(input, timeout=timeout)1249 except TimeoutExpired as exc:1250 process.kill()1251 if _mswindows:1252 # Windows accumulates the output in a single blocking1253 # read() call run on child threads, with the timeout1254 # being done in a join() on those threads. communicate()1255 # _after_ kill() is required to collect that and add it1256 # to the exception.1257 exc.stdout, exc.stderr = process.communicate()1258 else:1259 # POSIX _communicate already populated the output so1260 # far into the TimeoutExpired exception.1261 process.wait()1262 raise1263 except: # Including KeyboardInterrupt, communicate handled that.1264 process.kill()1265 # We don't call process.wait() as .__exit__ does that for us.1266 raise1267 retcode = process.poll()1268 if check and retcode:1269> raise CalledProcessError(retcode, process.args,1270 output=stdout, stderr=stderr)1271E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.12721273/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1274________ ERROR at setup of test_build_finished_names_the_pushed_commit _________1275[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1412761277self = <Coroutine test_build_finished_names_the_pushed_commit>12781279 def setup(self) -> None:1280 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1281 if runner_fixture_id not in self.fixturenames:1282 self.fixturenames.append(runner_fixture_id)1283 # When loop factories are configured, resolve the loop factory1284 # fixture early so that a factory variant change cascades cache1285 # invalidation before any async fixture checks its cache.1286 hook_caller = self.config.hook.pytest_asyncio_loop_factories1287 if hook_caller.get_hookimpls():1288 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1289> return super().setup()1290 ^^^^^^^^^^^^^^^12911292/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1293_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1294nixbot/tests/conftest.py:33: in postgres_dsn1295 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1296 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1297/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1298 return next(self.gen)1299 ^^^^^^^^^^^^^^1300nixbot/tests/support.py:299: in ephemeral_postgres1301 subprocess.run( # noqa: S6031302_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 13031304input = None, capture_output = True, timeout = None, check = True1305popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1306kwargs = {'stdout': -1, 'stderr': -1}13071308 def run(*popenargs,1309 input=None, capture_output=False, timeout=None, check=False, **kwargs):1310 """Run command with arguments and return a CompletedProcess instance.1311 1312 The returned instance will have attributes args, returncode, stdout and1313 stderr. By default, stdout and stderr are not captured, and those attributes1314 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1315 or pass capture_output=True to capture both.1316 1317 If check is True and the exit code was non-zero, it raises a1318 CalledProcessError. The CalledProcessError object will have the return code1319 in the returncode attribute, and output & stderr attributes if those streams1320 were captured.1321 1322 If timeout (seconds) is given and the process takes too long,1323 a TimeoutExpired exception will be raised.1324 1325 There is an optional argument "input", allowing you to1326 pass bytes or a string to the subprocess's stdin. If you use this argument1327 you may not also use the Popen constructor's "stdin" argument, as1328 it will be used internally.1329 1330 By default, all communication is in bytes, and therefore any "input" should1331 be bytes, and the stdout and stderr will be bytes. If in text mode, any1332 "input" should be a string, and stdout and stderr will be strings decoded1333 according to locale encoding, or by "encoding" if set. Text mode is1334 triggered by setting any of text, encoding, errors or universal_newlines.1335 1336 The other arguments are the same as for the Popen constructor.1337 """1338 if input is not None:1339 if kwargs.get('stdin') is not None:1340 raise ValueError('stdin and input arguments may not both be used.')1341 kwargs['stdin'] = PIPE1342 1343 if capture_output:1344 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1345 raise ValueError('stdout and stderr arguments may not be used '1346 'with capture_output.')1347 kwargs['stdout'] = PIPE1348 kwargs['stderr'] = PIPE1349 1350 with Popen(*popenargs, **kwargs) as process:1351 try:1352 stdout, stderr = process.communicate(input, timeout=timeout)1353 except TimeoutExpired as exc:1354 process.kill()1355 if _mswindows:1356 # Windows accumulates the output in a single blocking1357 # read() call run on child threads, with the timeout1358 # being done in a join() on those threads. communicate()1359 # _after_ kill() is required to collect that and add it1360 # to the exception.1361 exc.stdout, exc.stderr = process.communicate()1362 else:1363 # POSIX _communicate already populated the output so1364 # far into the TimeoutExpired exception.1365 process.wait()1366 raise1367 except: # Including KeyboardInterrupt, communicate handled that.1368 process.kill()1369 # We don't call process.wait() as .__exit__ does that for us.1370 raise1371 retcode = process.poll()1372 if check and retcode:1373> raise CalledProcessError(retcode, process.args,1374 output=stdout, stderr=stderr)1375E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.13761377/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1378___________ ERROR at setup of test_command_while_running_gets_notice ___________1379[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1413801381self = <Coroutine test_command_while_running_gets_notice>13821383 def setup(self) -> None:1384 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1385 if runner_fixture_id not in self.fixturenames:1386 self.fixturenames.append(runner_fixture_id)1387 # When loop factories are configured, resolve the loop factory1388 # fixture early so that a factory variant change cascades cache1389 # invalidation before any async fixture checks its cache.1390 hook_caller = self.config.hook.pytest_asyncio_loop_factories1391 if hook_caller.get_hookimpls():1392 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1393> return super().setup()1394 ^^^^^^^^^^^^^^^13951396/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1397_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1398nixbot/tests/conftest.py:33: in postgres_dsn1399 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1400 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1401/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1402 return next(self.gen)1403 ^^^^^^^^^^^^^^1404nixbot/tests/support.py:299: in ephemeral_postgres1405 subprocess.run( # noqa: S6031406_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14071408input = None, capture_output = True, timeout = None, check = True1409popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1410kwargs = {'stdout': -1, 'stderr': -1}14111412 def run(*popenargs,1413 input=None, capture_output=False, timeout=None, check=False, **kwargs):1414 """Run command with arguments and return a CompletedProcess instance.1415 1416 The returned instance will have attributes args, returncode, stdout and1417 stderr. By default, stdout and stderr are not captured, and those attributes1418 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1419 or pass capture_output=True to capture both.1420 1421 If check is True and the exit code was non-zero, it raises a1422 CalledProcessError. The CalledProcessError object will have the return code1423 in the returncode attribute, and output & stderr attributes if those streams1424 were captured.1425 1426 If timeout (seconds) is given and the process takes too long,1427 a TimeoutExpired exception will be raised.1428 1429 There is an optional argument "input", allowing you to1430 pass bytes or a string to the subprocess's stdin. If you use this argument1431 you may not also use the Popen constructor's "stdin" argument, as1432 it will be used internally.1433 1434 By default, all communication is in bytes, and therefore any "input" should1435 be bytes, and the stdout and stderr will be bytes. If in text mode, any1436 "input" should be a string, and stdout and stderr will be strings decoded1437 according to locale encoding, or by "encoding" if set. Text mode is1438 triggered by setting any of text, encoding, errors or universal_newlines.1439 1440 The other arguments are the same as for the Popen constructor.1441 """1442 if input is not None:1443 if kwargs.get('stdin') is not None:1444 raise ValueError('stdin and input arguments may not both be used.')1445 kwargs['stdin'] = PIPE1446 1447 if capture_output:1448 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1449 raise ValueError('stdout and stderr arguments may not be used '1450 'with capture_output.')1451 kwargs['stdout'] = PIPE1452 kwargs['stderr'] = PIPE1453 1454 with Popen(*popenargs, **kwargs) as process:1455 try:1456 stdout, stderr = process.communicate(input, timeout=timeout)1457 except TimeoutExpired as exc:1458 process.kill()1459 if _mswindows:1460 # Windows accumulates the output in a single blocking1461 # read() call run on child threads, with the timeout1462 # being done in a join() on those threads. communicate()1463 # _after_ kill() is required to collect that and add it1464 # to the exception.1465 exc.stdout, exc.stderr = process.communicate()1466 else:1467 # POSIX _communicate already populated the output so1468 # far into the TimeoutExpired exception.1469 process.wait()1470 raise1471 except: # Including KeyboardInterrupt, communicate handled that.1472 process.kill()1473 # We don't call process.wait() as .__exit__ does that for us.1474 raise1475 retcode = process.poll()1476 if check and retcode:1477> raise CalledProcessError(retcode, process.args,1478 output=stdout, stderr=stderr)1479E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.14801481/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1482___________ ERROR at setup of test_other_command_does_not_supersede ____________1483[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1414841485self = <Coroutine test_other_command_does_not_supersede>14861487 def setup(self) -> None:1488 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1489 if runner_fixture_id not in self.fixturenames:1490 self.fixturenames.append(runner_fixture_id)1491 # When loop factories are configured, resolve the loop factory1492 # fixture early so that a factory variant change cascades cache1493 # invalidation before any async fixture checks its cache.1494 hook_caller = self.config.hook.pytest_asyncio_loop_factories1495 if hook_caller.get_hookimpls():1496 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1497> return super().setup()1498 ^^^^^^^^^^^^^^^14991500/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1501_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1502nixbot/tests/conftest.py:33: in postgres_dsn1503 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1504 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1505/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1506 return next(self.gen)1507 ^^^^^^^^^^^^^^1508nixbot/tests/support.py:299: in ephemeral_postgres1509 subprocess.run( # noqa: S6031510_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 15111512input = None, capture_output = True, timeout = None, check = True1513popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1514kwargs = {'stdout': -1, 'stderr': -1}15151516 def run(*popenargs,1517 input=None, capture_output=False, timeout=None, check=False, **kwargs):1518 """Run command with arguments and return a CompletedProcess instance.1519 1520 The returned instance will have attributes args, returncode, stdout and1521 stderr. By default, stdout and stderr are not captured, and those attributes1522 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1523 or pass capture_output=True to capture both.1524 1525 If check is True and the exit code was non-zero, it raises a1526 CalledProcessError. The CalledProcessError object will have the return code1527 in the returncode attribute, and output & stderr attributes if those streams1528 were captured.1529 1530 If timeout (seconds) is given and the process takes too long,1531 a TimeoutExpired exception will be raised.1532 1533 There is an optional argument "input", allowing you to1534 pass bytes or a string to the subprocess's stdin. If you use this argument1535 you may not also use the Popen constructor's "stdin" argument, as1536 it will be used internally.1537 1538 By default, all communication is in bytes, and therefore any "input" should1539 be bytes, and the stdout and stderr will be bytes. If in text mode, any1540 "input" should be a string, and stdout and stderr will be strings decoded1541 according to locale encoding, or by "encoding" if set. Text mode is1542 triggered by setting any of text, encoding, errors or universal_newlines.1543 1544 The other arguments are the same as for the Popen constructor.1545 """1546 if input is not None:1547 if kwargs.get('stdin') is not None:1548 raise ValueError('stdin and input arguments may not both be used.')1549 kwargs['stdin'] = PIPE1550 1551 if capture_output:1552 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1553 raise ValueError('stdout and stderr arguments may not be used '1554 'with capture_output.')1555 kwargs['stdout'] = PIPE1556 kwargs['stderr'] = PIPE1557 1558 with Popen(*popenargs, **kwargs) as process:1559 try:1560 stdout, stderr = process.communicate(input, timeout=timeout)1561 except TimeoutExpired as exc:1562 process.kill()1563 if _mswindows:1564 # Windows accumulates the output in a single blocking1565 # read() call run on child threads, with the timeout1566 # being done in a join() on those threads. communicate()1567 # _after_ kill() is required to collect that and add it1568 # to the exception.1569 exc.stdout, exc.stderr = process.communicate()1570 else:1571 # POSIX _communicate already populated the output so1572 # far into the TimeoutExpired exception.1573 process.wait()1574 raise1575 except: # Including KeyboardInterrupt, communicate handled that.1576 process.kill()1577 # We don't call process.wait() as .__exit__ does that for us.1578 raise1579 retcode = process.poll()1580 if check and retcode:1581> raise CalledProcessError(retcode, process.args,1582 output=stdout, stderr=stderr)1583E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.15841585/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1586_________ ERROR at setup of test_label_change_redelivers_pull_request __________1587[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1415881589self = <Coroutine test_label_change_redelivers_pull_request>15901591 def setup(self) -> None:1592 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1593 if runner_fixture_id not in self.fixturenames:1594 self.fixturenames.append(runner_fixture_id)1595 # When loop factories are configured, resolve the loop factory1596 # fixture early so that a factory variant change cascades cache1597 # invalidation before any async fixture checks its cache.1598 hook_caller = self.config.hook.pytest_asyncio_loop_factories1599 if hook_caller.get_hookimpls():1600 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1601> return super().setup()1602 ^^^^^^^^^^^^^^^16031604/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1605_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1606nixbot/tests/conftest.py:33: in postgres_dsn1607 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1608 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1609/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1610 return next(self.gen)1611 ^^^^^^^^^^^^^^1612nixbot/tests/support.py:299: in ephemeral_postgres1613 subprocess.run( # noqa: S6031614_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 16151616input = None, capture_output = True, timeout = None, check = True1617popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1618kwargs = {'stdout': -1, 'stderr': -1}16191620 def run(*popenargs,1621 input=None, capture_output=False, timeout=None, check=False, **kwargs):1622 """Run command with arguments and return a CompletedProcess instance.1623 1624 The returned instance will have attributes args, returncode, stdout and1625 stderr. By default, stdout and stderr are not captured, and those attributes1626 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1627 or pass capture_output=True to capture both.1628 1629 If check is True and the exit code was non-zero, it raises a1630 CalledProcessError. The CalledProcessError object will have the return code1631 in the returncode attribute, and output & stderr attributes if those streams1632 were captured.1633 1634 If timeout (seconds) is given and the process takes too long,1635 a TimeoutExpired exception will be raised.1636 1637 There is an optional argument "input", allowing you to1638 pass bytes or a string to the subprocess's stdin. If you use this argument1639 you may not also use the Popen constructor's "stdin" argument, as1640 it will be used internally.1641 1642 By default, all communication is in bytes, and therefore any "input" should1643 be bytes, and the stdout and stderr will be bytes. If in text mode, any1644 "input" should be a string, and stdout and stderr will be strings decoded1645 according to locale encoding, or by "encoding" if set. Text mode is1646 triggered by setting any of text, encoding, errors or universal_newlines.1647 1648 The other arguments are the same as for the Popen constructor.1649 """1650 if input is not None:1651 if kwargs.get('stdin') is not None:1652 raise ValueError('stdin and input arguments may not both be used.')1653 kwargs['stdin'] = PIPE1654 1655 if capture_output:1656 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1657 raise ValueError('stdout and stderr arguments may not be used '1658 'with capture_output.')1659 kwargs['stdout'] = PIPE1660 kwargs['stderr'] = PIPE1661 1662 with Popen(*popenargs, **kwargs) as process:1663 try:1664 stdout, stderr = process.communicate(input, timeout=timeout)1665 except TimeoutExpired as exc:1666 process.kill()1667 if _mswindows:1668 # Windows accumulates the output in a single blocking1669 # read() call run on child threads, with the timeout1670 # being done in a join() on those threads. communicate()1671 # _after_ kill() is required to collect that and add it1672 # to the exception.1673 exc.stdout, exc.stderr = process.communicate()1674 else:1675 # POSIX _communicate already populated the output so1676 # far into the TimeoutExpired exception.1677 process.wait()1678 raise1679 except: # Including KeyboardInterrupt, communicate handled that.1680 process.kill()1681 # We don't call process.wait() as .__exit__ does that for us.1682 raise1683 retcode = process.poll()1684 if check and retcode:1685> raise CalledProcessError(retcode, process.args,1686 output=stdout, stderr=stderr)1687E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.16881689/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1690_____ ERROR at setup of test_build_outcome_and_restart_leave_event_history _____1691[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1416921693self = <Coroutine test_build_outcome_and_restart_leave_event_history>16941695 def setup(self) -> None:1696 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1697 if runner_fixture_id not in self.fixturenames:1698 self.fixturenames.append(runner_fixture_id)1699 # When loop factories are configured, resolve the loop factory1700 # fixture early so that a factory variant change cascades cache1701 # invalidation before any async fixture checks its cache.1702 hook_caller = self.config.hook.pytest_asyncio_loop_factories1703 if hook_caller.get_hookimpls():1704 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1705> return super().setup()1706 ^^^^^^^^^^^^^^^17071708/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1709_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1710nixbot/tests/conftest.py:33: in postgres_dsn1711 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1712 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1713/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1714 return next(self.gen)1715 ^^^^^^^^^^^^^^1716nixbot/tests/support.py:299: in ephemeral_postgres1717 subprocess.run( # noqa: S6031718_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 17191720input = None, capture_output = True, timeout = None, check = True1721popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1722kwargs = {'stdout': -1, 'stderr': -1}17231724 def run(*popenargs,1725 input=None, capture_output=False, timeout=None, check=False, **kwargs):1726 """Run command with arguments and return a CompletedProcess instance.1727 1728 The returned instance will have attributes args, returncode, stdout and1729 stderr. By default, stdout and stderr are not captured, and those attributes1730 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1731 or pass capture_output=True to capture both.1732 1733 If check is True and the exit code was non-zero, it raises a1734 CalledProcessError. The CalledProcessError object will have the return code1735 in the returncode attribute, and output & stderr attributes if those streams1736 were captured.1737 1738 If timeout (seconds) is given and the process takes too long,1739 a TimeoutExpired exception will be raised.1740 1741 There is an optional argument "input", allowing you to1742 pass bytes or a string to the subprocess's stdin. If you use this argument1743 you may not also use the Popen constructor's "stdin" argument, as1744 it will be used internally.1745 1746 By default, all communication is in bytes, and therefore any "input" should1747 be bytes, and the stdout and stderr will be bytes. If in text mode, any1748 "input" should be a string, and stdout and stderr will be strings decoded1749 according to locale encoding, or by "encoding" if set. Text mode is1750 triggered by setting any of text, encoding, errors or universal_newlines.1751 1752 The other arguments are the same as for the Popen constructor.1753 """1754 if input is not None:1755 if kwargs.get('stdin') is not None:1756 raise ValueError('stdin and input arguments may not both be used.')1757 kwargs['stdin'] = PIPE1758 1759 if capture_output:1760 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1761 raise ValueError('stdout and stderr arguments may not be used '1762 'with capture_output.')1763 kwargs['stdout'] = PIPE1764 kwargs['stderr'] = PIPE1765 1766 with Popen(*popenargs, **kwargs) as process:1767 try:1768 stdout, stderr = process.communicate(input, timeout=timeout)1769 except TimeoutExpired as exc:1770 process.kill()1771 if _mswindows:1772 # Windows accumulates the output in a single blocking1773 # read() call run on child threads, with the timeout1774 # being done in a join() on those threads. communicate()1775 # _after_ kill() is required to collect that and add it1776 # to the exception.1777 exc.stdout, exc.stderr = process.communicate()1778 else:1779 # POSIX _communicate already populated the output so1780 # far into the TimeoutExpired exception.1781 process.wait()1782 raise1783 except: # Including KeyboardInterrupt, communicate handled that.1784 process.kill()1785 # We don't call process.wait() as .__exit__ does that for us.1786 raise1787 retcode = process.poll()1788 if check and retcode:1789> raise CalledProcessError(retcode, process.args,1790 output=stdout, stderr=stderr)1791E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.17921793/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1794____ ERROR at setup of test_restart_event_effect_reruns_with_stored_payload ____1795[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1417961797self = <Coroutine test_restart_event_effect_reruns_with_stored_payload>17981799 def setup(self) -> None:1800 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1801 if runner_fixture_id not in self.fixturenames:1802 self.fixturenames.append(runner_fixture_id)1803 # When loop factories are configured, resolve the loop factory1804 # fixture early so that a factory variant change cascades cache1805 # invalidation before any async fixture checks its cache.1806 hook_caller = self.config.hook.pytest_asyncio_loop_factories1807 if hook_caller.get_hookimpls():1808 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1809> return super().setup()1810 ^^^^^^^^^^^^^^^18111812/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1813_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1814nixbot/tests/conftest.py:33: in postgres_dsn1815 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1816 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1817/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1818 return next(self.gen)1819 ^^^^^^^^^^^^^^1820nixbot/tests/support.py:299: in ephemeral_postgres1821 subprocess.run( # noqa: S6031822_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 18231824input = None, capture_output = True, timeout = None, check = True1825popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1826kwargs = {'stdout': -1, 'stderr': -1}18271828 def run(*popenargs,1829 input=None, capture_output=False, timeout=None, check=False, **kwargs):1830 """Run command with arguments and return a CompletedProcess instance.1831 1832 The returned instance will have attributes args, returncode, stdout and1833 stderr. By default, stdout and stderr are not captured, and those attributes1834 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1835 or pass capture_output=True to capture both.1836 1837 If check is True and the exit code was non-zero, it raises a1838 CalledProcessError. The CalledProcessError object will have the return code1839 in the returncode attribute, and output & stderr attributes if those streams1840 were captured.1841 1842 If timeout (seconds) is given and the process takes too long,1843 a TimeoutExpired exception will be raised.1844 1845 There is an optional argument "input", allowing you to1846 pass bytes or a string to the subprocess's stdin. If you use this argument1847 you may not also use the Popen constructor's "stdin" argument, as1848 it will be used internally.1849 1850 By default, all communication is in bytes, and therefore any "input" should1851 be bytes, and the stdout and stderr will be bytes. If in text mode, any1852 "input" should be a string, and stdout and stderr will be strings decoded1853 according to locale encoding, or by "encoding" if set. Text mode is1854 triggered by setting any of text, encoding, errors or universal_newlines.1855 1856 The other arguments are the same as for the Popen constructor.1857 """1858 if input is not None:1859 if kwargs.get('stdin') is not None:1860 raise ValueError('stdin and input arguments may not both be used.')1861 kwargs['stdin'] = PIPE1862 1863 if capture_output:1864 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1865 raise ValueError('stdout and stderr arguments may not be used '1866 'with capture_output.')1867 kwargs['stdout'] = PIPE1868 kwargs['stderr'] = PIPE1869 1870 with Popen(*popenargs, **kwargs) as process:1871 try:1872 stdout, stderr = process.communicate(input, timeout=timeout)1873 except TimeoutExpired as exc:1874 process.kill()1875 if _mswindows:1876 # Windows accumulates the output in a single blocking1877 # read() call run on child threads, with the timeout1878 # being done in a join() on those threads. communicate()1879 # _after_ kill() is required to collect that and add it1880 # to the exception.1881 exc.stdout, exc.stderr = process.communicate()1882 else:1883 # POSIX _communicate already populated the output so1884 # far into the TimeoutExpired exception.1885 process.wait()1886 raise1887 except: # Including KeyboardInterrupt, communicate handled that.1888 process.kill()1889 # We don't call process.wait() as .__exit__ does that for us.1890 raise1891 retcode = process.poll()1892 if check and retcode:1893> raise CalledProcessError(retcode, process.args,1894 output=stdout, stderr=stderr)1895E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.18961897/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError1898___________ ERROR at setup of test_listing_failure_recorded_on_build ___________1899[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1419001901self = <Coroutine test_listing_failure_recorded_on_build>19021903 def setup(self) -> None:1904 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1905 if runner_fixture_id not in self.fixturenames:1906 self.fixturenames.append(runner_fixture_id)1907 # When loop factories are configured, resolve the loop factory1908 # fixture early so that a factory variant change cascades cache1909 # invalidation before any async fixture checks its cache.1910 hook_caller = self.config.hook.pytest_asyncio_loop_factories1911 if hook_caller.get_hookimpls():1912 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1913> return super().setup()1914 ^^^^^^^^^^^^^^^19151916/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1917_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1918nixbot/tests/conftest.py:33: in postgres_dsn1919 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1920 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1921/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1922 return next(self.gen)1923 ^^^^^^^^^^^^^^1924nixbot/tests/support.py:299: in ephemeral_postgres1925 subprocess.run( # noqa: S6031926_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 19271928input = None, capture_output = True, timeout = None, check = True1929popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)1930kwargs = {'stdout': -1, 'stderr': -1}19311932 def run(*popenargs,1933 input=None, capture_output=False, timeout=None, check=False, **kwargs):1934 """Run command with arguments and return a CompletedProcess instance.1935 1936 The returned instance will have attributes args, returncode, stdout and1937 stderr. By default, stdout and stderr are not captured, and those attributes1938 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,1939 or pass capture_output=True to capture both.1940 1941 If check is True and the exit code was non-zero, it raises a1942 CalledProcessError. The CalledProcessError object will have the return code1943 in the returncode attribute, and output & stderr attributes if those streams1944 were captured.1945 1946 If timeout (seconds) is given and the process takes too long,1947 a TimeoutExpired exception will be raised.1948 1949 There is an optional argument "input", allowing you to1950 pass bytes or a string to the subprocess's stdin. If you use this argument1951 you may not also use the Popen constructor's "stdin" argument, as1952 it will be used internally.1953 1954 By default, all communication is in bytes, and therefore any "input" should1955 be bytes, and the stdout and stderr will be bytes. If in text mode, any1956 "input" should be a string, and stdout and stderr will be strings decoded1957 according to locale encoding, or by "encoding" if set. Text mode is1958 triggered by setting any of text, encoding, errors or universal_newlines.1959 1960 The other arguments are the same as for the Popen constructor.1961 """1962 if input is not None:1963 if kwargs.get('stdin') is not None:1964 raise ValueError('stdin and input arguments may not both be used.')1965 kwargs['stdin'] = PIPE1966 1967 if capture_output:1968 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:1969 raise ValueError('stdout and stderr arguments may not be used '1970 'with capture_output.')1971 kwargs['stdout'] = PIPE1972 kwargs['stderr'] = PIPE1973 1974 with Popen(*popenargs, **kwargs) as process:1975 try:1976 stdout, stderr = process.communicate(input, timeout=timeout)1977 except TimeoutExpired as exc:1978 process.kill()1979 if _mswindows:1980 # Windows accumulates the output in a single blocking1981 # read() call run on child threads, with the timeout1982 # being done in a join() on those threads. communicate()1983 # _after_ kill() is required to collect that and add it1984 # to the exception.1985 exc.stdout, exc.stderr = process.communicate()1986 else:1987 # POSIX _communicate already populated the output so1988 # far into the TimeoutExpired exception.1989 process.wait()1990 raise1991 except: # Including KeyboardInterrupt, communicate handled that.1992 process.kill()1993 # We don't call process.wait() as .__exit__ does that for us.1994 raise1995 retcode = process.poll()1996 if check and retcode:1997> raise CalledProcessError(retcode, process.args,1998 output=stdout, stderr=stderr)1999E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.20002001/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError2002___________ ERROR at setup of test_tag_runs_onpush_effects_with_tag ____________2003[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1420042005self = <Coroutine test_tag_runs_onpush_effects_with_tag>20062007 def setup(self) -> None:2008 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"2009 if runner_fixture_id not in self.fixturenames:2010 self.fixturenames.append(runner_fixture_id)2011 # When loop factories are configured, resolve the loop factory2012 # fixture early so that a factory variant change cascades cache2013 # invalidation before any async fixture checks its cache.2014 hook_caller = self.config.hook.pytest_asyncio_loop_factories2015 if hook_caller.get_hookimpls():2016 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)2017> return super().setup()2018 ^^^^^^^^^^^^^^^20192020/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 2021_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2022nixbot/tests/conftest.py:33: in postgres_dsn2023 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:2024 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2025/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__2026 return next(self.gen)2027 ^^^^^^^^^^^^^^2028nixbot/tests/support.py:299: in ephemeral_postgres2029 subprocess.run( # noqa: S6032030_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20312032input = None, capture_output = True, timeout = None, check = True2033popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)2034kwargs = {'stdout': -1, 'stderr': -1}20352036 def run(*popenargs,2037 input=None, capture_output=False, timeout=None, check=False, **kwargs):2038 """Run command with arguments and return a CompletedProcess instance.2039 2040 The returned instance will have attributes args, returncode, stdout and2041 stderr. By default, stdout and stderr are not captured, and those attributes2042 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,2043 or pass capture_output=True to capture both.2044 2045 If check is True and the exit code was non-zero, it raises a2046 CalledProcessError. The CalledProcessError object will have the return code2047 in the returncode attribute, and output & stderr attributes if those streams2048 were captured.2049 2050 If timeout (seconds) is given and the process takes too long,2051 a TimeoutExpired exception will be raised.2052 2053 There is an optional argument "input", allowing you to2054 pass bytes or a string to the subprocess's stdin. If you use this argument2055 you may not also use the Popen constructor's "stdin" argument, as2056 it will be used internally.2057 2058 By default, all communication is in bytes, and therefore any "input" should2059 be bytes, and the stdout and stderr will be bytes. If in text mode, any2060 "input" should be a string, and stdout and stderr will be strings decoded2061 according to locale encoding, or by "encoding" if set. Text mode is2062 triggered by setting any of text, encoding, errors or universal_newlines.2063 2064 The other arguments are the same as for the Popen constructor.2065 """2066 if input is not None:2067 if kwargs.get('stdin') is not None:2068 raise ValueError('stdin and input arguments may not both be used.')2069 kwargs['stdin'] = PIPE2070 2071 if capture_output:2072 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:2073 raise ValueError('stdout and stderr arguments may not be used '2074 'with capture_output.')2075 kwargs['stdout'] = PIPE2076 kwargs['stderr'] = PIPE2077 2078 with Popen(*popenargs, **kwargs) as process:2079 try:2080 stdout, stderr = process.communicate(input, timeout=timeout)2081 except TimeoutExpired as exc:2082 process.kill()2083 if _mswindows:2084 # Windows accumulates the output in a single blocking2085 # read() call run on child threads, with the timeout2086 # being done in a join() on those threads. communicate()2087 # _after_ kill() is required to collect that and add it2088 # to the exception.2089 exc.stdout, exc.stderr = process.communicate()2090 else:2091 # POSIX _communicate already populated the output so2092 # far into the TimeoutExpired exception.2093 process.wait()2094 raise2095 except: # Including KeyboardInterrupt, communicate handled that.2096 process.kill()2097 # We don't call process.wait() as .__exit__ does that for us.2098 raise2099 retcode = process.poll()2100 if check and retcode:2101> raise CalledProcessError(retcode, process.args,2102 output=stdout, stderr=stderr)2103E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.21042105/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError2106____________ ERROR at setup of test_tag_waits_for_a_running_release ____________2107[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1421082109self = <Coroutine test_tag_waits_for_a_running_release>21102111 def setup(self) -> None:2112 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"2113 if runner_fixture_id not in self.fixturenames:2114 self.fixturenames.append(runner_fixture_id)2115 # When loop factories are configured, resolve the loop factory2116 # fixture early so that a factory variant change cascades cache2117 # invalidation before any async fixture checks its cache.2118 hook_caller = self.config.hook.pytest_asyncio_loop_factories2119 if hook_caller.get_hookimpls():2120 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)2121> return super().setup()2122 ^^^^^^^^^^^^^^^21232124/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 2125_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2126nixbot/tests/conftest.py:33: in postgres_dsn2127 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:2128 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2129/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__2130 return next(self.gen)2131 ^^^^^^^^^^^^^^2132nixbot/tests/support.py:299: in ephemeral_postgres2133 subprocess.run( # noqa: S6032134_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21352136input = None, capture_output = True, timeout = None, check = True2137popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)2138kwargs = {'stdout': -1, 'stderr': -1}21392140 def run(*popenargs,2141 input=None, capture_output=False, timeout=None, check=False, **kwargs):2142 """Run command with arguments and return a CompletedProcess instance.2143 2144 The returned instance will have attributes args, returncode, stdout and2145 stderr. By default, stdout and stderr are not captured, and those attributes2146 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,2147 or pass capture_output=True to capture both.2148 2149 If check is True and the exit code was non-zero, it raises a2150 CalledProcessError. The CalledProcessError object will have the return code2151 in the returncode attribute, and output & stderr attributes if those streams2152 were captured.2153 2154 If timeout (seconds) is given and the process takes too long,2155 a TimeoutExpired exception will be raised.2156 2157 There is an optional argument "input", allowing you to2158 pass bytes or a string to the subprocess's stdin. If you use this argument2159 you may not also use the Popen constructor's "stdin" argument, as2160 it will be used internally.2161 2162 By default, all communication is in bytes, and therefore any "input" should2163 be bytes, and the stdout and stderr will be bytes. If in text mode, any2164 "input" should be a string, and stdout and stderr will be strings decoded2165 according to locale encoding, or by "encoding" if set. Text mode is2166 triggered by setting any of text, encoding, errors or universal_newlines.2167 2168 The other arguments are the same as for the Popen constructor.2169 """2170 if input is not None:2171 if kwargs.get('stdin') is not None:2172 raise ValueError('stdin and input arguments may not both be used.')2173 kwargs['stdin'] = PIPE2174 2175 if capture_output:2176 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:2177 raise ValueError('stdout and stderr arguments may not be used '2178 'with capture_output.')2179 kwargs['stdout'] = PIPE2180 kwargs['stderr'] = PIPE2181 2182 with Popen(*popenargs, **kwargs) as process:2183 try:2184 stdout, stderr = process.communicate(input, timeout=timeout)2185 except TimeoutExpired as exc:2186 process.kill()2187 if _mswindows:2188 # Windows accumulates the output in a single blocking2189 # read() call run on child threads, with the timeout2190 # being done in a join() on those threads. communicate()2191 # _after_ kill() is required to collect that and add it2192 # to the exception.2193 exc.stdout, exc.stderr = process.communicate()2194 else:2195 # POSIX _communicate already populated the output so2196 # far into the TimeoutExpired exception.2197 process.wait()2198 raise2199 except: # Including KeyboardInterrupt, communicate handled that.2200 process.kill()2201 # We don't call process.wait() as .__exit__ does that for us.2202 raise2203 retcode = process.poll()2204 if check and retcode:2205> raise CalledProcessError(retcode, process.args,2206 output=stdout, stderr=stderr)2207E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.22082209/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError2210_ ERROR at setup of test_tag_listing_failure_recorded_apart_from_build_effects _2211[gw15] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1422122213self = <Coroutine test_tag_listing_failure_recorded_apart_from_build_effects>22142215 def setup(self) -> None:2216 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"2217 if runner_fixture_id not in self.fixturenames:2218 self.fixturenames.append(runner_fixture_id)2219 # When loop factories are configured, resolve the loop factory2220 # fixture early so that a factory variant change cascades cache2221 # invalidation before any async fixture checks its cache.2222 hook_caller = self.config.hook.pytest_asyncio_loop_factories2223 if hook_caller.get_hookimpls():2224 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)2225> return super().setup()2226 ^^^^^^^^^^^^^^^22272228/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 2229_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2230nixbot/tests/conftest.py:33: in postgres_dsn2231 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:2232 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^2233/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__2234 return next(self.gen)2235 ^^^^^^^^^^^^^^2236nixbot/tests/support.py:299: in ephemeral_postgres2237 subprocess.run( # noqa: S6032238_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22392240input = None, capture_output = True, timeout = None, check = True2241popenargs = (['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust'],)2242kwargs = {'stdout': -1, 'stderr': -1}22432244 def run(*popenargs,2245 input=None, capture_output=False, timeout=None, check=False, **kwargs):2246 """Run command with arguments and return a CompletedProcess instance.2247 2248 The returned instance will have attributes args, returncode, stdout and2249 stderr. By default, stdout and stderr are not captured, and those attributes2250 will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them,2251 or pass capture_output=True to capture both.2252 2253 If check is True and the exit code was non-zero, it raises a2254 CalledProcessError. The CalledProcessError object will have the return code2255 in the returncode attribute, and output & stderr attributes if those streams2256 were captured.2257 2258 If timeout (seconds) is given and the process takes too long,2259 a TimeoutExpired exception will be raised.2260 2261 There is an optional argument "input", allowing you to2262 pass bytes or a string to the subprocess's stdin. If you use this argument2263 you may not also use the Popen constructor's "stdin" argument, as2264 it will be used internally.2265 2266 By default, all communication is in bytes, and therefore any "input" should2267 be bytes, and the stdout and stderr will be bytes. If in text mode, any2268 "input" should be a string, and stdout and stderr will be strings decoded2269 according to locale encoding, or by "encoding" if set. Text mode is2270 triggered by setting any of text, encoding, errors or universal_newlines.2271 2272 The other arguments are the same as for the Popen constructor.2273 """2274 if input is not None:2275 if kwargs.get('stdin') is not None:2276 raise ValueError('stdin and input arguments may not both be used.')2277 kwargs['stdin'] = PIPE2278 2279 if capture_output:2280 if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:2281 raise ValueError('stdout and stderr arguments may not be used '2282 'with capture_output.')2283 kwargs['stdout'] = PIPE2284 kwargs['stderr'] = PIPE2285 2286 with Popen(*popenargs, **kwargs) as process:2287 try:2288 stdout, stderr = process.communicate(input, timeout=timeout)2289 except TimeoutExpired as exc:2290 process.kill()2291 if _mswindows:2292 # Windows accumulates the output in a single blocking2293 # read() call run on child threads, with the timeout2294 # being done in a join() on those threads. communicate()2295 # _after_ kill() is required to collect that and add it2296 # to the exception.2297 exc.stdout, exc.stderr = process.communicate()2298 else:2299 # POSIX _communicate already populated the output so2300 # far into the TimeoutExpired exception.2301 process.wait()2302 raise2303 except: # Including KeyboardInterrupt, communicate handled that.2304 process.kill()2305 # We don't call process.wait() as .__exit__ does that for us.2306 raise2307 retcode = process.poll()2308 if check and retcode:2309> raise CalledProcessError(retcode, process.args,2310 output=stdout, stderr=stderr)2311E subprocess.CalledProcessError: Command '['initdb', '-D', '/private/var/tb/3/scratch/8553cd82fca206c3/build/pytest-of-_tribuchetbld3/pytest-0/popen-gw15/pgdata0', '-U', 'test', '--auth=trust']' returned non-zero exit status 1.23122313/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/subprocess.py:578: CalledProcessError2314=========================== short test summary info ============================2315ERROR nixbot/tests/test_deliver.py::test_match_skip_and_run - subprocess.Call...2316ERROR nixbot/tests/test_deliver.py::test_permission_denied_records_reason - s...2317ERROR nixbot/tests/test_deliver.py::test_modified_files_gate - subprocess.Cal...2318ERROR nixbot/tests/test_deliver.py::test_forge_outage_is_retried - subprocess...2319ERROR nixbot/tests/test_deliver.py::test_forge_outage_gives_up - subprocess.C...2320ERROR nixbot/tests/test_deliver.py::test_lock_shared_with_push_effect_and_supersession2321ERROR nixbot/tests/test_deliver.py::test_checkout_is_pr_head_without_token - ...2322ERROR nixbot/tests/test_deliver.py::test_build_success_enqueues_delivery - su...2323ERROR nixbot/tests/test_deliver.py::test_comment_and_close_webhooks_deliver2324ERROR nixbot/tests/test_deliver.py::test_close_after_merge_push_reused_build2325ERROR nixbot/tests/test_deliver.py::test_build_finished_transitions - subproc...2326ERROR nixbot/tests/test_deliver.py::test_build_finished_names_the_pushed_commit2327ERROR nixbot/tests/test_deliver.py::test_command_while_running_gets_notice - ...2328ERROR nixbot/tests/test_deliver.py::test_other_command_does_not_supersede - s...2329ERROR nixbot/tests/test_deliver.py::test_label_change_redelivers_pull_request2330ERROR nixbot/tests/test_deliver.py::test_build_outcome_and_restart_leave_event_history2331ERROR nixbot/tests/test_deliver.py::test_restart_event_effect_reruns_with_stored_payload2332ERROR nixbot/tests/test_deliver.py::test_listing_failure_recorded_on_build - ...2333ERROR nixbot/tests/test_deliver.py::test_tag_runs_onpush_effects_with_tag - s...2334ERROR nixbot/tests/test_deliver.py::test_tag_waits_for_a_running_release - su...2335ERROR nixbot/tests/test_deliver.py::test_tag_listing_failure_recorded_apart_from_build_effects2336============ 820 passed, 29 skipped, 21 errors in 119.77s (0:01:59) ============