python3.14-nixbot-tests
checks.aarch64-darwin.nixbot-tests
· build #445
· 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/s3xvhv4yqpdrzymilmmzl402lvdw6vmw-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/7/scratch/2b789fb6a6081568/build/ in /nix/store/m24m6dwrxwj5qmc4nnp9q627nb372qcs-python3.14-nixbot-tests...38patching script interpreter paths in /nix/store/m24m6dwrxwj5qmc4nnp9q627nb372qcs-python3.14-nixbot-tests39stripping (with command strip and flags -S) in /nix/store/m24m6dwrxwj5qmc4nnp9q627nb372qcs-python3.14-nixbot-tests/lib /nix/store/m24m6dwrxwj5qmc4nnp9q627nb372qcs-python3.14-nixbot-tests/bin40checking for references to /private/var/tb/7/scratch/2b789fb6a6081568/build/ in /nix/store/pd39765jqhpi55d24z9d7zjhxf2qpcg1-python3.14-nixbot-tests-dist...41patching script interpreter paths in /nix/store/pd39765jqhpi55d24z9d7zjhxf2qpcg1-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/m24m6dwrxwj5qmc4nnp9q627nb372qcs-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/7/scratch/2b789fb6a6081568/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 [861 items]112113....s....sssss.ssssssss.ssssss.........................s................ [ 8%]114........................................................................ [ 16%]115........................................................................ [ 25%]116........................................................................ [ 33%]117...............................................................s........ [ 41%]118................Loop <_UnixSelectorEventLoop running=False closed=True debug=False> that handles pid 61514 is closed119..ssss.................................................. [ 50%]120..............................sEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 58%]121EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE...EEEE..E......EEEEEEE [ 66%]122EE.EEEE.EEEEE.EEEEEEEEEEE.EEEEEEEEE.EE...sEEEEEEEEEEEEEEEEEEEEE.EEE.E.EE [ 75%]123EE.E.EEEEEEEEE.E..EEEEEEEEEEEEEEEEs.E.EE.EEEEE.....EE.EEEEEEE.EEEEEEEEEE [ 83%]124EEEEEEEEEEEEE.EEEEEEEEEEEEEE.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [ 91%]125..EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [100%]126==================================== ERRORS ====================================127_______ ERROR at setup of test_control_buttons_hidden_without_permission _______128[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14129130fixturedef = <FixtureDef argname='postgres_dsn' scope='module' baseid='nixbot/tests'>131request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>132133 @pytest.hookimpl(wrapper=True)134 def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None:135 if (136 fixturedef.argname == "event_loop_policy"137 and fixturedef.func.__module__ != __name__138 ):139 warnings.warn(140 PytestDeprecationWarning(_EVENT_LOOP_POLICY_FIXTURE_DEPRECATION_WARNING),141 )142 asyncio_mode = _get_asyncio_mode(request.config)143 if not _is_asyncio_fixture_function(fixturedef.func):144 if asyncio_mode == Mode.STRICT:145 # Ignore async fixtures without explicit asyncio mark in strict mode146 # This applies to pytest_trio fixtures, for example147 return (yield)148 if not _is_coroutine_or_asyncgen(fixturedef.func):149> return (yield)150 ^^^^^151152/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:926: 153_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 154nixbot/tests/conftest.py:33: in postgres_dsn155 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:156 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^157/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__158 return next(self.gen)159 ^^^^^^^^^^^^^^160_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 161162tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')163dbname = 'control'164165 @contextlib.contextmanager166 def ephemeral_postgres(167 tmp_path_factory: pytest.TempPathFactory, dbname: str168 ) -> Iterator[str]:169 """Throwaway Postgres on a unix socket with migrations applied."""170 datadir = tmp_path_factory.mktemp("pgdata")171 sockdir = tmp_path_factory.mktemp("pgsock")172 subprocess.run( # noqa: S603173 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],174 check=True,175 capture_output=True,176 )177 proc = subprocess.Popen( # noqa: S603178 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],179 stdout=subprocess.DEVNULL,180 stderr=subprocess.DEVNULL,181 )182 try:183 deadline = time.monotonic() + 30184 while (185 subprocess.run( # noqa: S603186 ["pg_isready", "-h", str(sockdir), "-U", "test"],187 check=False,188 capture_output=True,189 ).returncode190 != 0191 ):192 # The socket appears before recovery finishes; createdb would193 # fail with "the database system is starting up".194 if time.monotonic() > deadline:195 msg = "postgres did not start"196> raise RuntimeError(msg)197E RuntimeError: postgres did not start198199nixbot/tests/support.py:319: RuntimeError200___________________ ERROR at setup of test_html_error_pages ____________________201[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14202203fixturedef = <FixtureDef argname='postgres_dsn' scope='module' baseid='nixbot/tests'>204request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>205206 @pytest.hookimpl(wrapper=True)207 def pytest_fixture_setup(fixturedef: FixtureDef, request) -> object | None:208 if (209 fixturedef.argname == "event_loop_policy"210 and fixturedef.func.__module__ != __name__211 ):212 warnings.warn(213 PytestDeprecationWarning(_EVENT_LOOP_POLICY_FIXTURE_DEPRECATION_WARNING),214 )215 asyncio_mode = _get_asyncio_mode(request.config)216 if not _is_asyncio_fixture_function(fixturedef.func):217 if asyncio_mode == Mode.STRICT:218 # Ignore async fixtures without explicit asyncio mark in strict mode219 # This applies to pytest_trio fixtures, for example220 return (yield)221 if not _is_coroutine_or_asyncgen(fixturedef.func):222> return (yield)223 ^^^^^224225/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:926: 226_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 227nixbot/tests/conftest.py:33: in postgres_dsn228 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:229 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^230/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__231 return next(self.gen)232 ^^^^^^^^^^^^^^233_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 234235tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')236dbname = 'web'237238 @contextlib.contextmanager239 def ephemeral_postgres(240 tmp_path_factory: pytest.TempPathFactory, dbname: str241 ) -> Iterator[str]:242 """Throwaway Postgres on a unix socket with migrations applied."""243 datadir = tmp_path_factory.mktemp("pgdata")244 sockdir = tmp_path_factory.mktemp("pgsock")245 subprocess.run( # noqa: S603246 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],247 check=True,248 capture_output=True,249 )250 proc = subprocess.Popen( # noqa: S603251 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],252 stdout=subprocess.DEVNULL,253 stderr=subprocess.DEVNULL,254 )255 try:256 deadline = time.monotonic() + 30257 while (258 subprocess.run( # noqa: S603259 ["pg_isready", "-h", str(sockdir), "-U", "test"],260 check=False,261 capture_output=True,262 ).returncode263 != 0264 ):265 # The socket appears before recovery finishes; createdb would266 # fail with "the database system is starting up".267 if time.monotonic() > deadline:268 msg = "postgres did not start"269> raise RuntimeError(msg)270E RuntimeError: postgres did not start271272nixbot/tests/support.py:319: RuntimeError273_________________ ERROR at setup of test_migrations_idempotent _________________274[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14275276self = <Coroutine test_migrations_idempotent>277278 def setup(self) -> None:279 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"280 if runner_fixture_id not in self.fixturenames:281 self.fixturenames.append(runner_fixture_id)282 # When loop factories are configured, resolve the loop factory283 # fixture early so that a factory variant change cascades cache284 # invalidation before any async fixture checks its cache.285 hook_caller = self.config.hook.pytest_asyncio_loop_factories286 if hook_caller.get_hookimpls():287 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)288> return super().setup()289 ^^^^^^^^^^^^^^^290291/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 292_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 293/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:926: in pytest_fixture_setup294 return (yield)295 ^^^^^296nixbot/tests/conftest.py:33: in postgres_dsn297 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:298 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^299/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__300 return next(self.gen)301 ^^^^^^^^^^^^^^302_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 303304tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')305dbname = 'db'306307 @contextlib.contextmanager308 def ephemeral_postgres(309 tmp_path_factory: pytest.TempPathFactory, dbname: str310 ) -> Iterator[str]:311 """Throwaway Postgres on a unix socket with migrations applied."""312 datadir = tmp_path_factory.mktemp("pgdata")313 sockdir = tmp_path_factory.mktemp("pgsock")314 subprocess.run( # noqa: S603315 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],316 check=True,317 capture_output=True,318 )319 proc = subprocess.Popen( # noqa: S603320 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],321 stdout=subprocess.DEVNULL,322 stderr=subprocess.DEVNULL,323 )324 try:325 deadline = time.monotonic() + 30326 while (327 subprocess.run( # noqa: S603328 ["pg_isready", "-h", str(sockdir), "-U", "test"],329 check=False,330 capture_output=True,331 ).returncode332 != 0333 ):334 # The socket appears before recovery finishes; createdb would335 # fail with "the database system is starting up".336 if time.monotonic() > deadline:337 msg = "postgres did not start"338> raise RuntimeError(msg)339E RuntimeError: postgres did not start340341nixbot/tests/support.py:319: RuntimeError342_____________ ERROR at setup of test_admin_can_restart_and_cancel ______________343[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14344345request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>346tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')347348 @pytest.fixture(scope="module")349 def postgres_dsn(350 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory351 ) -> Iterator[str]:352 if shutil.which("initdb") is None:353 pytest.skip("postgresql not available")354 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")355> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:356 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^357358nixbot/tests/conftest.py:33: 359_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 360/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__361 return next(self.gen)362 ^^^^^^^^^^^^^^363_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 364365tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')366dbname = 'control'367368 @contextlib.contextmanager369 def ephemeral_postgres(370 tmp_path_factory: pytest.TempPathFactory, dbname: str371 ) -> Iterator[str]:372 """Throwaway Postgres on a unix socket with migrations applied."""373 datadir = tmp_path_factory.mktemp("pgdata")374 sockdir = tmp_path_factory.mktemp("pgsock")375 subprocess.run( # noqa: S603376 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],377 check=True,378 capture_output=True,379 )380 proc = subprocess.Popen( # noqa: S603381 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],382 stdout=subprocess.DEVNULL,383 stderr=subprocess.DEVNULL,384 )385 try:386 deadline = time.monotonic() + 30387 while (388 subprocess.run( # noqa: S603389 ["pg_isready", "-h", str(sockdir), "-U", "test"],390 check=False,391 capture_output=True,392 ).returncode393 != 0394 ):395 # The socket appears before recovery finishes; createdb would396 # fail with "the database system is starting up".397 if time.monotonic() > deadline:398 msg = "postgres did not start"399> raise RuntimeError(msg)400E RuntimeError: postgres did not start401402nixbot/tests/support.py:319: RuntimeError403______________ ERROR at setup of test_api_strips_ansi_from_errors ______________404[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14405406request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>407tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')408409 @pytest.fixture(scope="module")410 def postgres_dsn(411 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory412 ) -> Iterator[str]:413 if shutil.which("initdb") is None:414 pytest.skip("postgresql not available")415 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")416> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:417 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^418419nixbot/tests/conftest.py:33: 420_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 421/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__422 return next(self.gen)423 ^^^^^^^^^^^^^^424_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 425426tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')427dbname = 'web'428429 @contextlib.contextmanager430 def ephemeral_postgres(431 tmp_path_factory: pytest.TempPathFactory, dbname: str432 ) -> Iterator[str]:433 """Throwaway Postgres on a unix socket with migrations applied."""434 datadir = tmp_path_factory.mktemp("pgdata")435 sockdir = tmp_path_factory.mktemp("pgsock")436 subprocess.run( # noqa: S603437 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],438 check=True,439 capture_output=True,440 )441 proc = subprocess.Popen( # noqa: S603442 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],443 stdout=subprocess.DEVNULL,444 stderr=subprocess.DEVNULL,445 )446 try:447 deadline = time.monotonic() + 30448 while (449 subprocess.run( # noqa: S603450 ["pg_isready", "-h", str(sockdir), "-U", "test"],451 check=False,452 capture_output=True,453 ).returncode454 != 0455 ):456 # The socket appears before recovery finishes; createdb would457 # fail with "the database system is starting up".458 if time.monotonic() > deadline:459 msg = "postgres did not start"460> raise RuntimeError(msg)461E RuntimeError: postgres did not start462463nixbot/tests/support.py:319: RuntimeError464_____________ ERROR at setup of test_pr_author_can_control_own_pr ______________465[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14466467request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>468tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')469470 @pytest.fixture(scope="module")471 def postgres_dsn(472 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory473 ) -> Iterator[str]:474 if shutil.which("initdb") is None:475 pytest.skip("postgresql not available")476 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")477> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^479480nixbot/tests/conftest.py:33: 481_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 482/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__483 return next(self.gen)484 ^^^^^^^^^^^^^^485_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 486487tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')488dbname = 'control'489490 @contextlib.contextmanager491 def ephemeral_postgres(492 tmp_path_factory: pytest.TempPathFactory, dbname: str493 ) -> Iterator[str]:494 """Throwaway Postgres on a unix socket with migrations applied."""495 datadir = tmp_path_factory.mktemp("pgdata")496 sockdir = tmp_path_factory.mktemp("pgsock")497 subprocess.run( # noqa: S603498 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],499 check=True,500 capture_output=True,501 )502 proc = subprocess.Popen( # noqa: S603503 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],504 stdout=subprocess.DEVNULL,505 stderr=subprocess.DEVNULL,506 )507 try:508 deadline = time.monotonic() + 30509 while (510 subprocess.run( # noqa: S603511 ["pg_isready", "-h", str(sockdir), "-U", "test"],512 check=False,513 capture_output=True,514 ).returncode515 != 0516 ):517 # The socket appears before recovery finishes; createdb would518 # fail with "the database system is starting up".519 if time.monotonic() > deadline:520 msg = "postgres did not start"521> raise RuntimeError(msg)522E RuntimeError: postgres did not start523524nixbot/tests/support.py:319: RuntimeError525___________ ERROR at setup of test_failed_migration_error_not_masked ___________526[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14527528self = <Coroutine test_failed_migration_error_not_masked>529530 def setup(self) -> None:531 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"532 if runner_fixture_id not in self.fixturenames:533 self.fixturenames.append(runner_fixture_id)534 # When loop factories are configured, resolve the loop factory535 # fixture early so that a factory variant change cascades cache536 # invalidation before any async fixture checks its cache.537 hook_caller = self.config.hook.pytest_asyncio_loop_factories538 if hook_caller.get_hookimpls():539 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)540> return super().setup()541 ^^^^^^^^^^^^^^^542543/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 544_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 545nixbot/tests/conftest.py:33: in postgres_dsn546 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:547 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^548/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__549 return next(self.gen)550 ^^^^^^^^^^^^^^551_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 552553tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')554dbname = 'db'555556 @contextlib.contextmanager557 def ephemeral_postgres(558 tmp_path_factory: pytest.TempPathFactory, dbname: str559 ) -> Iterator[str]:560 """Throwaway Postgres on a unix socket with migrations applied."""561 datadir = tmp_path_factory.mktemp("pgdata")562 sockdir = tmp_path_factory.mktemp("pgsock")563 subprocess.run( # noqa: S603564 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],565 check=True,566 capture_output=True,567 )568 proc = subprocess.Popen( # noqa: S603569 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],570 stdout=subprocess.DEVNULL,571 stderr=subprocess.DEVNULL,572 )573 try:574 deadline = time.monotonic() + 30575 while (576 subprocess.run( # noqa: S603577 ["pg_isready", "-h", str(sockdir), "-U", "test"],578 check=False,579 capture_output=True,580 ).returncode581 != 0582 ):583 # The socket appears before recovery finishes; createdb would584 # fail with "the database system is starting up".585 if time.monotonic() > deadline:586 msg = "postgres did not start"587> raise RuntimeError(msg)588E RuntimeError: postgres did not start589590nixbot/tests/support.py:319: RuntimeError591_______________________ ERROR at setup of test_homepage ________________________592[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14593594request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>595tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')596597 @pytest.fixture(scope="module")598 def postgres_dsn(599 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory600 ) -> Iterator[str]:601 if shutil.which("initdb") is None:602 pytest.skip("postgresql not available")603 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")604> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:605 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^606607nixbot/tests/conftest.py:33: 608_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 609/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__610 return next(self.gen)611 ^^^^^^^^^^^^^^612_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 613614tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')615dbname = 'web'616617 @contextlib.contextmanager618 def ephemeral_postgres(619 tmp_path_factory: pytest.TempPathFactory, dbname: str620 ) -> Iterator[str]:621 """Throwaway Postgres on a unix socket with migrations applied."""622 datadir = tmp_path_factory.mktemp("pgdata")623 sockdir = tmp_path_factory.mktemp("pgsock")624 subprocess.run( # noqa: S603625 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],626 check=True,627 capture_output=True,628 )629 proc = subprocess.Popen( # noqa: S603630 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],631 stdout=subprocess.DEVNULL,632 stderr=subprocess.DEVNULL,633 )634 try:635 deadline = time.monotonic() + 30636 while (637 subprocess.run( # noqa: S603638 ["pg_isready", "-h", str(sockdir), "-U", "test"],639 check=False,640 capture_output=True,641 ).returncode642 != 0643 ):644 # The socket appears before recovery finishes; createdb would645 # fail with "the database system is starting up".646 if time.monotonic() > deadline:647 msg = "postgres did not start"648> raise RuntimeError(msg)649E RuntimeError: postgres did not start650651nixbot/tests/support.py:319: RuntimeError652_______________ ERROR at setup of test_project_page_with_filters _______________653[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14654655request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>656tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')657658 @pytest.fixture(scope="module")659 def postgres_dsn(660 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory661 ) -> Iterator[str]:662 if shutil.which("initdb") is None:663 pytest.skip("postgresql not available")664 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")665> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:666 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^667668nixbot/tests/conftest.py:33: 669_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 670/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__671 return next(self.gen)672 ^^^^^^^^^^^^^^673_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 674675tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')676dbname = 'web'677678 @contextlib.contextmanager679 def ephemeral_postgres(680 tmp_path_factory: pytest.TempPathFactory, dbname: str681 ) -> Iterator[str]:682 """Throwaway Postgres on a unix socket with migrations applied."""683 datadir = tmp_path_factory.mktemp("pgdata")684 sockdir = tmp_path_factory.mktemp("pgsock")685 subprocess.run( # noqa: S603686 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],687 check=True,688 capture_output=True,689 )690 proc = subprocess.Popen( # noqa: S603691 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],692 stdout=subprocess.DEVNULL,693 stderr=subprocess.DEVNULL,694 )695 try:696 deadline = time.monotonic() + 30697 while (698 subprocess.run( # noqa: S603699 ["pg_isready", "-h", str(sockdir), "-U", "test"],700 check=False,701 capture_output=True,702 ).returncode703 != 0704 ):705 # The socket appears before recovery finishes; createdb would706 # fail with "the database system is starting up".707 if time.monotonic() > deadline:708 msg = "postgres did not start"709> raise RuntimeError(msg)710E RuntimeError: postgres did not start711712nixbot/tests/support.py:319: RuntimeError713_______________ ERROR at setup of test_edited_migration_rejected _______________714[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14715716self = <Coroutine test_edited_migration_rejected>717718 def setup(self) -> None:719 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"720 if runner_fixture_id not in self.fixturenames:721 self.fixturenames.append(runner_fixture_id)722 # When loop factories are configured, resolve the loop factory723 # fixture early so that a factory variant change cascades cache724 # invalidation before any async fixture checks its cache.725 hook_caller = self.config.hook.pytest_asyncio_loop_factories726 if hook_caller.get_hookimpls():727 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)728> return super().setup()729 ^^^^^^^^^^^^^^^730731/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 732_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 733nixbot/tests/conftest.py:33: in postgres_dsn734 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:735 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^736/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__737 return next(self.gen)738 ^^^^^^^^^^^^^^739_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 740741tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')742dbname = 'db'743744 @contextlib.contextmanager745 def ephemeral_postgres(746 tmp_path_factory: pytest.TempPathFactory, dbname: str747 ) -> Iterator[str]:748 """Throwaway Postgres on a unix socket with migrations applied."""749 datadir = tmp_path_factory.mktemp("pgdata")750 sockdir = tmp_path_factory.mktemp("pgsock")751 subprocess.run( # noqa: S603752 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],753 check=True,754 capture_output=True,755 )756 proc = subprocess.Popen( # noqa: S603757 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],758 stdout=subprocess.DEVNULL,759 stderr=subprocess.DEVNULL,760 )761 try:762 deadline = time.monotonic() + 30763 while (764 subprocess.run( # noqa: S603765 ["pg_isready", "-h", str(sockdir), "-U", "test"],766 check=False,767 capture_output=True,768 ).returncode769 != 0770 ):771 # The socket appears before recovery finishes; createdb would772 # fail with "the database system is starting up".773 if time.monotonic() > deadline:774 msg = "postgres did not start"775> raise RuntimeError(msg)776E RuntimeError: postgres did not start777778nixbot/tests/support.py:319: RuntimeError779___________________ ERROR at setup of test_status_badge_urls ___________________780[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14781782request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>783tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')784785 @pytest.fixture(scope="module")786 def postgres_dsn(787 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory788 ) -> Iterator[str]:789 if shutil.which("initdb") is None:790 pytest.skip("postgresql not available")791 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")792> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:793 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^794795nixbot/tests/conftest.py:33: 796_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 797/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__798 return next(self.gen)799 ^^^^^^^^^^^^^^800_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 801802tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')803dbname = 'web'804805 @contextlib.contextmanager806 def ephemeral_postgres(807 tmp_path_factory: pytest.TempPathFactory, dbname: str808 ) -> Iterator[str]:809 """Throwaway Postgres on a unix socket with migrations applied."""810 datadir = tmp_path_factory.mktemp("pgdata")811 sockdir = tmp_path_factory.mktemp("pgsock")812 subprocess.run( # noqa: S603813 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],814 check=True,815 capture_output=True,816 )817 proc = subprocess.Popen( # noqa: S603818 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],819 stdout=subprocess.DEVNULL,820 stderr=subprocess.DEVNULL,821 )822 try:823 deadline = time.monotonic() + 30824 while (825 subprocess.run( # noqa: S603826 ["pg_isready", "-h", str(sockdir), "-U", "test"],827 check=False,828 capture_output=True,829 ).returncode830 != 0831 ):832 # The socket appears before recovery finishes; createdb would833 # fail with "the database system is starting up".834 if time.monotonic() > deadline:835 msg = "postgres did not start"836> raise RuntimeError(msg)837E RuntimeError: postgres did not start838839nixbot/tests/support.py:319: RuntimeError840____________ ERROR at setup of test_all_digit_branch_is_filterable _____________841[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14842843request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>844tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')845846 @pytest.fixture(scope="module")847 def postgres_dsn(848 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory849 ) -> Iterator[str]:850 if shutil.which("initdb") is None:851 pytest.skip("postgresql not available")852 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")853> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:854 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^855856nixbot/tests/conftest.py:33: 857_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 858/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__859 return next(self.gen)860 ^^^^^^^^^^^^^^861_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 862863tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')864dbname = 'web'865866 @contextlib.contextmanager867 def ephemeral_postgres(868 tmp_path_factory: pytest.TempPathFactory, dbname: str869 ) -> Iterator[str]:870 """Throwaway Postgres on a unix socket with migrations applied."""871 datadir = tmp_path_factory.mktemp("pgdata")872 sockdir = tmp_path_factory.mktemp("pgsock")873 subprocess.run( # noqa: S603874 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],875 check=True,876 capture_output=True,877 )878 proc = subprocess.Popen( # noqa: S603879 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],880 stdout=subprocess.DEVNULL,881 stderr=subprocess.DEVNULL,882 )883 try:884 deadline = time.monotonic() + 30885 while (886 subprocess.run( # noqa: S603887 ["pg_isready", "-h", str(sockdir), "-U", "test"],888 check=False,889 capture_output=True,890 ).returncode891 != 0892 ):893 # The socket appears before recovery finishes; createdb would894 # fail with "the database system is starting up".895 if time.monotonic() > deadline:896 msg = "postgres did not start"897> raise RuntimeError(msg)898E RuntimeError: postgres did not start899900nixbot/tests/support.py:319: RuntimeError901__ ERROR at setup of test_repo_writer_can_control_without_admin_or_authorship __902[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14903904request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>905tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')906907 @pytest.fixture(scope="module")908 def postgres_dsn(909 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory910 ) -> Iterator[str]:911 if shutil.which("initdb") is None:912 pytest.skip("postgresql not available")913 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")914> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:915 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^916917nixbot/tests/conftest.py:33: 918_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 919/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__920 return next(self.gen)921 ^^^^^^^^^^^^^^922_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 923924tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')925dbname = 'control'926927 @contextlib.contextmanager928 def ephemeral_postgres(929 tmp_path_factory: pytest.TempPathFactory, dbname: str930 ) -> Iterator[str]:931 """Throwaway Postgres on a unix socket with migrations applied."""932 datadir = tmp_path_factory.mktemp("pgdata")933 sockdir = tmp_path_factory.mktemp("pgsock")934 subprocess.run( # noqa: S603935 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],936 check=True,937 capture_output=True,938 )939 proc = subprocess.Popen( # noqa: S603940 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],941 stdout=subprocess.DEVNULL,942 stderr=subprocess.DEVNULL,943 )944 try:945 deadline = time.monotonic() + 30946 while (947 subprocess.run( # noqa: S603948 ["pg_isready", "-h", str(sockdir), "-U", "test"],949 check=False,950 capture_output=True,951 ).returncode952 != 0953 ):954 # The socket appears before recovery finishes; createdb would955 # fail with "the database system is starting up".956 if time.monotonic() > deadline:957 msg = "postgres did not start"958> raise RuntimeError(msg)959E RuntimeError: postgres did not start960961nixbot/tests/support.py:319: RuntimeError962_______ ERROR at setup of test_catchup_migration_repairs_pre_0033_schema _______963[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.14964965self = <Coroutine test_catchup_migration_repairs_pre_0033_schema>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 ^^^^^^^^^^^^^^988_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 989990tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')991dbname = 'db'992993 @contextlib.contextmanager994 def ephemeral_postgres(995 tmp_path_factory: pytest.TempPathFactory, dbname: str996 ) -> Iterator[str]:997 """Throwaway Postgres on a unix socket with migrations applied."""998 datadir = tmp_path_factory.mktemp("pgdata")999 sockdir = tmp_path_factory.mktemp("pgsock")1000 subprocess.run( # noqa: S6031001 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1002 check=True,1003 capture_output=True,1004 )1005 proc = subprocess.Popen( # noqa: S6031006 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1007 stdout=subprocess.DEVNULL,1008 stderr=subprocess.DEVNULL,1009 )1010 try:1011 deadline = time.monotonic() + 301012 while (1013 subprocess.run( # noqa: S6031014 ["pg_isready", "-h", str(sockdir), "-U", "test"],1015 check=False,1016 capture_output=True,1017 ).returncode1018 != 01019 ):1020 # The socket appears before recovery finishes; createdb would1021 # fail with "the database system is starting up".1022 if time.monotonic() > deadline:1023 msg = "postgres did not start"1024> raise RuntimeError(msg)1025E RuntimeError: postgres did not start10261027nixbot/tests/support.py:319: RuntimeError1028______________________ ERROR at setup of test_build_page _______________________1029[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1410301031request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1032tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')10331034 @pytest.fixture(scope="module")1035 def postgres_dsn(1036 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1037 ) -> Iterator[str]:1038 if shutil.which("initdb") is None:1039 pytest.skip("postgresql not available")1040 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1041> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1042 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^10431044nixbot/tests/conftest.py:33: 1045_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1046/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1047 return next(self.gen)1048 ^^^^^^^^^^^^^^1049_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10501051tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1052dbname = 'web'10531054 @contextlib.contextmanager1055 def ephemeral_postgres(1056 tmp_path_factory: pytest.TempPathFactory, dbname: str1057 ) -> Iterator[str]:1058 """Throwaway Postgres on a unix socket with migrations applied."""1059 datadir = tmp_path_factory.mktemp("pgdata")1060 sockdir = tmp_path_factory.mktemp("pgsock")1061 subprocess.run( # noqa: S6031062 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1063 check=True,1064 capture_output=True,1065 )1066 proc = subprocess.Popen( # noqa: S6031067 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1068 stdout=subprocess.DEVNULL,1069 stderr=subprocess.DEVNULL,1070 )1071 try:1072 deadline = time.monotonic() + 301073 while (1074 subprocess.run( # noqa: S6031075 ["pg_isready", "-h", str(sockdir), "-U", "test"],1076 check=False,1077 capture_output=True,1078 ).returncode1079 != 01080 ):1081 # The socket appears before recovery finishes; createdb would1082 # fail with "the database system is starting up".1083 if time.monotonic() > deadline:1084 msg = "postgres did not start"1085> raise RuntimeError(msg)1086E RuntimeError: postgres did not start10871088nixbot/tests/support.py:319: RuntimeError1089_________ ERROR at setup of test_approve_pr_requires_writer_not_author _________1090[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1410911092request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>1093tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')10941095 @pytest.fixture(scope="module")1096 def postgres_dsn(1097 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1098 ) -> Iterator[str]:1099 if shutil.which("initdb") is None:1100 pytest.skip("postgresql not available")1101 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1102> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1103 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^11041105nixbot/tests/conftest.py:33: 1106_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1107/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1108 return next(self.gen)1109 ^^^^^^^^^^^^^^1110_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 11111112tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')1113dbname = 'control'11141115 @contextlib.contextmanager1116 def ephemeral_postgres(1117 tmp_path_factory: pytest.TempPathFactory, dbname: str1118 ) -> Iterator[str]:1119 """Throwaway Postgres on a unix socket with migrations applied."""1120 datadir = tmp_path_factory.mktemp("pgdata")1121 sockdir = tmp_path_factory.mktemp("pgsock")1122 subprocess.run( # noqa: S6031123 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1124 check=True,1125 capture_output=True,1126 )1127 proc = subprocess.Popen( # noqa: S6031128 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1129 stdout=subprocess.DEVNULL,1130 stderr=subprocess.DEVNULL,1131 )1132 try:1133 deadline = time.monotonic() + 301134 while (1135 subprocess.run( # noqa: S6031136 ["pg_isready", "-h", str(sockdir), "-U", "test"],1137 check=False,1138 capture_output=True,1139 ).returncode1140 != 01141 ):1142 # The socket appears before recovery finishes; createdb would1143 # fail with "the database system is starting up".1144 if time.monotonic() > deadline:1145 msg = "postgres did not start"1146> raise RuntimeError(msg)1147E RuntimeError: postgres did not start11481149nixbot/tests/support.py:319: RuntimeError1150___________ ERROR at setup of test_attribute_rows_fragment_paginates ___________1151[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1411521153request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1154tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')11551156 @pytest.fixture(scope="module")1157 def postgres_dsn(1158 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1159 ) -> Iterator[str]:1160 if shutil.which("initdb") is None:1161 pytest.skip("postgresql not available")1162 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1163> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1164 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^11651166nixbot/tests/conftest.py:33: 1167_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1168/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1169 return next(self.gen)1170 ^^^^^^^^^^^^^^1171_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 11721173tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1174dbname = 'web'11751176 @contextlib.contextmanager1177 def ephemeral_postgres(1178 tmp_path_factory: pytest.TempPathFactory, dbname: str1179 ) -> Iterator[str]:1180 """Throwaway Postgres on a unix socket with migrations applied."""1181 datadir = tmp_path_factory.mktemp("pgdata")1182 sockdir = tmp_path_factory.mktemp("pgsock")1183 subprocess.run( # noqa: S6031184 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1185 check=True,1186 capture_output=True,1187 )1188 proc = subprocess.Popen( # noqa: S6031189 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1190 stdout=subprocess.DEVNULL,1191 stderr=subprocess.DEVNULL,1192 )1193 try:1194 deadline = time.monotonic() + 301195 while (1196 subprocess.run( # noqa: S6031197 ["pg_isready", "-h", str(sockdir), "-U", "test"],1198 check=False,1199 capture_output=True,1200 ).returncode1201 != 01202 ):1203 # The socket appears before recovery finishes; createdb would1204 # fail with "the database system is starting up".1205 if time.monotonic() > deadline:1206 msg = "postgres did not start"1207> raise RuntimeError(msg)1208E RuntimeError: postgres did not start12091210nixbot/tests/support.py:319: RuntimeError1211_____ ERROR at setup of test_huge_attr_name_does_not_break_notify_trigger ______1212[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1412131214self = <Coroutine test_huge_attr_name_does_not_break_notify_trigger>12151216 def setup(self) -> None:1217 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1218 if runner_fixture_id not in self.fixturenames:1219 self.fixturenames.append(runner_fixture_id)1220 # When loop factories are configured, resolve the loop factory1221 # fixture early so that a factory variant change cascades cache1222 # invalidation before any async fixture checks its cache.1223 hook_caller = self.config.hook.pytest_asyncio_loop_factories1224 if hook_caller.get_hookimpls():1225 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1226> return super().setup()1227 ^^^^^^^^^^^^^^^12281229/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1230_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1231nixbot/tests/conftest.py:33: in postgres_dsn1232 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1233 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1234/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1235 return next(self.gen)1236 ^^^^^^^^^^^^^^1237_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12381239tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')1240dbname = 'db'12411242 @contextlib.contextmanager1243 def ephemeral_postgres(1244 tmp_path_factory: pytest.TempPathFactory, dbname: str1245 ) -> Iterator[str]:1246 """Throwaway Postgres on a unix socket with migrations applied."""1247 datadir = tmp_path_factory.mktemp("pgdata")1248 sockdir = tmp_path_factory.mktemp("pgsock")1249 subprocess.run( # noqa: S6031250 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1251 check=True,1252 capture_output=True,1253 )1254 proc = subprocess.Popen( # noqa: S6031255 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1256 stdout=subprocess.DEVNULL,1257 stderr=subprocess.DEVNULL,1258 )1259 try:1260 deadline = time.monotonic() + 301261 while (1262 subprocess.run( # noqa: S6031263 ["pg_isready", "-h", str(sockdir), "-U", "test"],1264 check=False,1265 capture_output=True,1266 ).returncode1267 != 01268 ):1269 # The socket appears before recovery finishes; createdb would1270 # fail with "the database system is starting up".1271 if time.monotonic() > deadline:1272 msg = "postgres did not start"1273> raise RuntimeError(msg)1274E RuntimeError: postgres did not start12751276nixbot/tests/support.py:319: RuntimeError1277_______________ ERROR at setup of test_cancel_all_requires_admin _______________1278[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1412791280request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>1281tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')12821283 @pytest.fixture(scope="module")1284 def postgres_dsn(1285 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1286 ) -> Iterator[str]:1287 if shutil.which("initdb") is None:1288 pytest.skip("postgresql not available")1289 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1290> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1291 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^12921293nixbot/tests/conftest.py:33: 1294_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1295/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1296 return next(self.gen)1297 ^^^^^^^^^^^^^^1298_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12991300tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')1301dbname = 'control'13021303 @contextlib.contextmanager1304 def ephemeral_postgres(1305 tmp_path_factory: pytest.TempPathFactory, dbname: str1306 ) -> Iterator[str]:1307 """Throwaway Postgres on a unix socket with migrations applied."""1308 datadir = tmp_path_factory.mktemp("pgdata")1309 sockdir = tmp_path_factory.mktemp("pgsock")1310 subprocess.run( # noqa: S6031311 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1312 check=True,1313 capture_output=True,1314 )1315 proc = subprocess.Popen( # noqa: S6031316 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1317 stdout=subprocess.DEVNULL,1318 stderr=subprocess.DEVNULL,1319 )1320 try:1321 deadline = time.monotonic() + 301322 while (1323 subprocess.run( # noqa: S6031324 ["pg_isready", "-h", str(sockdir), "-U", "test"],1325 check=False,1326 capture_output=True,1327 ).returncode1328 != 01329 ):1330 # The socket appears before recovery finishes; createdb would1331 # fail with "the database system is starting up".1332 if time.monotonic() > deadline:1333 msg = "postgres did not start"1334> raise RuntimeError(msg)1335E RuntimeError: postgres did not start13361337nixbot/tests/support.py:319: RuntimeError1338_________ ERROR at setup of test_build_page_shows_eval_warning_groups __________1339[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1413401341request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1342tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')13431344 @pytest.fixture(scope="module")1345 def postgres_dsn(1346 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1347 ) -> Iterator[str]:1348 if shutil.which("initdb") is None:1349 pytest.skip("postgresql not available")1350 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1351> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1352 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^13531354nixbot/tests/conftest.py:33: 1355_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1356/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1357 return next(self.gen)1358 ^^^^^^^^^^^^^^1359_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 13601361tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1362dbname = 'web'13631364 @contextlib.contextmanager1365 def ephemeral_postgres(1366 tmp_path_factory: pytest.TempPathFactory, dbname: str1367 ) -> Iterator[str]:1368 """Throwaway Postgres on a unix socket with migrations applied."""1369 datadir = tmp_path_factory.mktemp("pgdata")1370 sockdir = tmp_path_factory.mktemp("pgsock")1371 subprocess.run( # noqa: S6031372 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1373 check=True,1374 capture_output=True,1375 )1376 proc = subprocess.Popen( # noqa: S6031377 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1378 stdout=subprocess.DEVNULL,1379 stderr=subprocess.DEVNULL,1380 )1381 try:1382 deadline = time.monotonic() + 301383 while (1384 subprocess.run( # noqa: S6031385 ["pg_isready", "-h", str(sockdir), "-U", "test"],1386 check=False,1387 capture_output=True,1388 ).returncode1389 != 01390 ):1391 # The socket appears before recovery finishes; createdb would1392 # fail with "the database system is starting up".1393 if time.monotonic() > deadline:1394 msg = "postgres did not start"1395> raise RuntimeError(msg)1396E RuntimeError: postgres did not start13971398nixbot/tests/support.py:319: RuntimeError1399_____ ERROR at setup of test_cancel_all_cancels_pending_and_running_builds _____1400[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1414011402request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>1403tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')14041405 @pytest.fixture(scope="module")1406 def postgres_dsn(1407 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1408 ) -> Iterator[str]:1409 if shutil.which("initdb") is None:1410 pytest.skip("postgresql not available")1411 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1412> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1413 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^14141415nixbot/tests/conftest.py:33: 1416_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1417/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1418 return next(self.gen)1419 ^^^^^^^^^^^^^^1420_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14211422tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')1423dbname = 'control'14241425 @contextlib.contextmanager1426 def ephemeral_postgres(1427 tmp_path_factory: pytest.TempPathFactory, dbname: str1428 ) -> Iterator[str]:1429 """Throwaway Postgres on a unix socket with migrations applied."""1430 datadir = tmp_path_factory.mktemp("pgdata")1431 sockdir = tmp_path_factory.mktemp("pgsock")1432 subprocess.run( # noqa: S6031433 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1434 check=True,1435 capture_output=True,1436 )1437 proc = subprocess.Popen( # noqa: S6031438 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1439 stdout=subprocess.DEVNULL,1440 stderr=subprocess.DEVNULL,1441 )1442 try:1443 deadline = time.monotonic() + 301444 while (1445 subprocess.run( # noqa: S6031446 ["pg_isready", "-h", str(sockdir), "-U", "test"],1447 check=False,1448 capture_output=True,1449 ).returncode1450 != 01451 ):1452 # The socket appears before recovery finishes; createdb would1453 # fail with "the database system is starting up".1454 if time.monotonic() > deadline:1455 msg = "postgres did not start"1456> raise RuntimeError(msg)1457E RuntimeError: postgres did not start14581459nixbot/tests/support.py:319: RuntimeError1460__________________ ERROR at setup of test_schema_constraints ___________________1461[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1414621463self = <Coroutine test_schema_constraints>14641465 def setup(self) -> None:1466 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1467 if runner_fixture_id not in self.fixturenames:1468 self.fixturenames.append(runner_fixture_id)1469 # When loop factories are configured, resolve the loop factory1470 # fixture early so that a factory variant change cascades cache1471 # invalidation before any async fixture checks its cache.1472 hook_caller = self.config.hook.pytest_asyncio_loop_factories1473 if hook_caller.get_hookimpls():1474 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1475> return super().setup()1476 ^^^^^^^^^^^^^^^14771478/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1479_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1480nixbot/tests/conftest.py:33: in postgres_dsn1481 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1482 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1483/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1484 return next(self.gen)1485 ^^^^^^^^^^^^^^1486_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 14871488tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')1489dbname = 'db'14901491 @contextlib.contextmanager1492 def ephemeral_postgres(1493 tmp_path_factory: pytest.TempPathFactory, dbname: str1494 ) -> Iterator[str]:1495 """Throwaway Postgres on a unix socket with migrations applied."""1496 datadir = tmp_path_factory.mktemp("pgdata")1497 sockdir = tmp_path_factory.mktemp("pgsock")1498 subprocess.run( # noqa: S6031499 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1500 check=True,1501 capture_output=True,1502 )1503 proc = subprocess.Popen( # noqa: S6031504 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1505 stdout=subprocess.DEVNULL,1506 stderr=subprocess.DEVNULL,1507 )1508 try:1509 deadline = time.monotonic() + 301510 while (1511 subprocess.run( # noqa: S6031512 ["pg_isready", "-h", str(sockdir), "-U", "test"],1513 check=False,1514 capture_output=True,1515 ).returncode1516 != 01517 ):1518 # The socket appears before recovery finishes; createdb would1519 # fail with "the database system is starting up".1520 if time.monotonic() > deadline:1521 msg = "postgres did not start"1522> raise RuntimeError(msg)1523E RuntimeError: postgres did not start15241525nixbot/tests/support.py:319: RuntimeError1526_____ ERROR at setup of test_build_page_shows_per_attribute_eval_warnings ______1527[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1415281529request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1530tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')15311532 @pytest.fixture(scope="module")1533 def postgres_dsn(1534 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1535 ) -> Iterator[str]:1536 if shutil.which("initdb") is None:1537 pytest.skip("postgresql not available")1538 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1539> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^15411542nixbot/tests/conftest.py:33: 1543_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1544/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1545 return next(self.gen)1546 ^^^^^^^^^^^^^^1547_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 15481549tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1550dbname = 'web'15511552 @contextlib.contextmanager1553 def ephemeral_postgres(1554 tmp_path_factory: pytest.TempPathFactory, dbname: str1555 ) -> Iterator[str]:1556 """Throwaway Postgres on a unix socket with migrations applied."""1557 datadir = tmp_path_factory.mktemp("pgdata")1558 sockdir = tmp_path_factory.mktemp("pgsock")1559 subprocess.run( # noqa: S6031560 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1561 check=True,1562 capture_output=True,1563 )1564 proc = subprocess.Popen( # noqa: S6031565 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1566 stdout=subprocess.DEVNULL,1567 stderr=subprocess.DEVNULL,1568 )1569 try:1570 deadline = time.monotonic() + 301571 while (1572 subprocess.run( # noqa: S6031573 ["pg_isready", "-h", str(sockdir), "-U", "test"],1574 check=False,1575 capture_output=True,1576 ).returncode1577 != 01578 ):1579 # The socket appears before recovery finishes; createdb would1580 # fail with "the database system is starting up".1581 if time.monotonic() > deadline:1582 msg = "postgres did not start"1583> raise RuntimeError(msg)1584E RuntimeError: postgres did not start15851586nixbot/tests/support.py:319: RuntimeError1587_____________ ERROR at setup of test_cancel_all_button_admin_only ______________1588[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1415891590request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>1591tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')15921593 @pytest.fixture(scope="module")1594 def postgres_dsn(1595 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1596 ) -> Iterator[str]:1597 if shutil.which("initdb") is None:1598 pytest.skip("postgresql not available")1599 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1600> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1601 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^16021603nixbot/tests/conftest.py:33: 1604_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1605/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1606 return next(self.gen)1607 ^^^^^^^^^^^^^^1608_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 16091610tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')1611dbname = 'control'16121613 @contextlib.contextmanager1614 def ephemeral_postgres(1615 tmp_path_factory: pytest.TempPathFactory, dbname: str1616 ) -> Iterator[str]:1617 """Throwaway Postgres on a unix socket with migrations applied."""1618 datadir = tmp_path_factory.mktemp("pgdata")1619 sockdir = tmp_path_factory.mktemp("pgsock")1620 subprocess.run( # noqa: S6031621 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1622 check=True,1623 capture_output=True,1624 )1625 proc = subprocess.Popen( # noqa: S6031626 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1627 stdout=subprocess.DEVNULL,1628 stderr=subprocess.DEVNULL,1629 )1630 try:1631 deadline = time.monotonic() + 301632 while (1633 subprocess.run( # noqa: S6031634 ["pg_isready", "-h", str(sockdir), "-U", "test"],1635 check=False,1636 capture_output=True,1637 ).returncode1638 != 01639 ):1640 # The socket appears before recovery finishes; createdb would1641 # fail with "the database system is starting up".1642 if time.monotonic() > deadline:1643 msg = "postgres did not start"1644> raise RuntimeError(msg)1645E RuntimeError: postgres did not start16461647nixbot/tests/support.py:319: RuntimeError1648___________ ERROR at setup of test_build_page_renders_ansi_in_error ____________1649[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1416501651request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1652tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')16531654 @pytest.fixture(scope="module")1655 def postgres_dsn(1656 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1657 ) -> Iterator[str]:1658 if shutil.which("initdb") is None:1659 pytest.skip("postgresql not available")1660 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1661> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1662 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^16631664nixbot/tests/conftest.py:33: 1665_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1666/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1667 return next(self.gen)1668 ^^^^^^^^^^^^^^1669_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 16701671tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1672dbname = 'web'16731674 @contextlib.contextmanager1675 def ephemeral_postgres(1676 tmp_path_factory: pytest.TempPathFactory, dbname: str1677 ) -> Iterator[str]:1678 """Throwaway Postgres on a unix socket with migrations applied."""1679 datadir = tmp_path_factory.mktemp("pgdata")1680 sockdir = tmp_path_factory.mktemp("pgsock")1681 subprocess.run( # noqa: S6031682 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1683 check=True,1684 capture_output=True,1685 )1686 proc = subprocess.Popen( # noqa: S6031687 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1688 stdout=subprocess.DEVNULL,1689 stderr=subprocess.DEVNULL,1690 )1691 try:1692 deadline = time.monotonic() + 301693 while (1694 subprocess.run( # noqa: S6031695 ["pg_isready", "-h", str(sockdir), "-U", "test"],1696 check=False,1697 capture_output=True,1698 ).returncode1699 != 01700 ):1701 # The socket appears before recovery finishes; createdb would1702 # fail with "the database system is starting up".1703 if time.monotonic() > deadline:1704 msg = "postgres did not start"1705> raise RuntimeError(msg)1706E RuntimeError: postgres did not start17071708nixbot/tests/support.py:319: RuntimeError1709______________ ERROR at setup of test_csrf_cross_origin_rejected _______________1710[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1417111712request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>1713tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')17141715 @pytest.fixture(scope="module")1716 def postgres_dsn(1717 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1718 ) -> Iterator[str]:1719 if shutil.which("initdb") is None:1720 pytest.skip("postgresql not available")1721 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1722> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1723 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^17241725nixbot/tests/conftest.py:33: 1726_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1727/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1728 return next(self.gen)1729 ^^^^^^^^^^^^^^1730_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 17311732tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')1733dbname = 'control'17341735 @contextlib.contextmanager1736 def ephemeral_postgres(1737 tmp_path_factory: pytest.TempPathFactory, dbname: str1738 ) -> Iterator[str]:1739 """Throwaway Postgres on a unix socket with migrations applied."""1740 datadir = tmp_path_factory.mktemp("pgdata")1741 sockdir = tmp_path_factory.mktemp("pgsock")1742 subprocess.run( # noqa: S6031743 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1744 check=True,1745 capture_output=True,1746 )1747 proc = subprocess.Popen( # noqa: S6031748 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1749 stdout=subprocess.DEVNULL,1750 stderr=subprocess.DEVNULL,1751 )1752 try:1753 deadline = time.monotonic() + 301754 while (1755 subprocess.run( # noqa: S6031756 ["pg_isready", "-h", str(sockdir), "-U", "test"],1757 check=False,1758 capture_output=True,1759 ).returncode1760 != 01761 ):1762 # The socket appears before recovery finishes; createdb would1763 # fail with "the database system is starting up".1764 if time.monotonic() > deadline:1765 msg = "postgres did not start"1766> raise RuntimeError(msg)1767E RuntimeError: postgres did not start17681769nixbot/tests/support.py:319: RuntimeError1770______________ ERROR at setup of test_check_run_store_round_trip _______________1771[gw11] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1417721773self = <Coroutine test_check_run_store_round_trip>17741775 def setup(self) -> None:1776 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"1777 if runner_fixture_id not in self.fixturenames:1778 self.fixturenames.append(runner_fixture_id)1779 # When loop factories are configured, resolve the loop factory1780 # fixture early so that a factory variant change cascades cache1781 # invalidation before any async fixture checks its cache.1782 hook_caller = self.config.hook.pytest_asyncio_loop_factories1783 if hook_caller.get_hookimpls():1784 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)1785> return super().setup()1786 ^^^^^^^^^^^^^^^17871788/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 1789_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1790nixbot/tests/conftest.py:33: in postgres_dsn1791 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1792 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^1793/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1794 return next(self.gen)1795 ^^^^^^^^^^^^^^1796_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 17971798tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...tch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw11'), _retention_count=3, _retention_policy='all')1799dbname = 'db'18001801 @contextlib.contextmanager1802 def ephemeral_postgres(1803 tmp_path_factory: pytest.TempPathFactory, dbname: str1804 ) -> Iterator[str]:1805 """Throwaway Postgres on a unix socket with migrations applied."""1806 datadir = tmp_path_factory.mktemp("pgdata")1807 sockdir = tmp_path_factory.mktemp("pgsock")1808 subprocess.run( # noqa: S6031809 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1810 check=True,1811 capture_output=True,1812 )1813 proc = subprocess.Popen( # noqa: S6031814 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1815 stdout=subprocess.DEVNULL,1816 stderr=subprocess.DEVNULL,1817 )1818 try:1819 deadline = time.monotonic() + 301820 while (1821 subprocess.run( # noqa: S6031822 ["pg_isready", "-h", str(sockdir), "-U", "test"],1823 check=False,1824 capture_output=True,1825 ).returncode1826 != 01827 ):1828 # The socket appears before recovery finishes; createdb would1829 # fail with "the database system is starting up".1830 if time.monotonic() > deadline:1831 msg = "postgres did not start"1832> raise RuntimeError(msg)1833E RuntimeError: postgres did not start18341835nixbot/tests/support.py:319: RuntimeError1836_____________ ERROR at setup of test_running_build_shows_progress ______________1837[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1418381839request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1840tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')18411842 @pytest.fixture(scope="module")1843 def postgres_dsn(1844 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1845 ) -> Iterator[str]:1846 if shutil.which("initdb") is None:1847 pytest.skip("postgresql not available")1848 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1849> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1850 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^18511852nixbot/tests/conftest.py:33: 1853_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1854/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1855 return next(self.gen)1856 ^^^^^^^^^^^^^^1857_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 18581859tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1860dbname = 'web'18611862 @contextlib.contextmanager1863 def ephemeral_postgres(1864 tmp_path_factory: pytest.TempPathFactory, dbname: str1865 ) -> Iterator[str]:1866 """Throwaway Postgres on a unix socket with migrations applied."""1867 datadir = tmp_path_factory.mktemp("pgdata")1868 sockdir = tmp_path_factory.mktemp("pgsock")1869 subprocess.run( # noqa: S6031870 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1871 check=True,1872 capture_output=True,1873 )1874 proc = subprocess.Popen( # noqa: S6031875 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1876 stdout=subprocess.DEVNULL,1877 stderr=subprocess.DEVNULL,1878 )1879 try:1880 deadline = time.monotonic() + 301881 while (1882 subprocess.run( # noqa: S6031883 ["pg_isready", "-h", str(sockdir), "-U", "test"],1884 check=False,1885 capture_output=True,1886 ).returncode1887 != 01888 ):1889 # The socket appears before recovery finishes; createdb would1890 # fail with "the database system is starting up".1891 if time.monotonic() > deadline:1892 msg = "postgres did not start"1893> raise RuntimeError(msg)1894E RuntimeError: postgres did not start18951896nixbot/tests/support.py:319: RuntimeError1897_______________ ERROR at setup of test_restart_single_attribute ________________1898[gw4] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1418991900request = <SubRequest 'postgres_dsn' for <Function test_control_buttons_hidden_without_permission>>1901tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')19021903 @pytest.fixture(scope="module")1904 def postgres_dsn(1905 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1906 ) -> Iterator[str]:1907 if shutil.which("initdb") is None:1908 pytest.skip("postgresql not available")1909 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1910> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1911 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^19121913nixbot/tests/conftest.py:33: 1914_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1915/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1916 return next(self.gen)1917 ^^^^^^^^^^^^^^1918_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 19191920tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw4'), _retention_count=3, _retention_policy='all')1921dbname = 'control'19221923 @contextlib.contextmanager1924 def ephemeral_postgres(1925 tmp_path_factory: pytest.TempPathFactory, dbname: str1926 ) -> Iterator[str]:1927 """Throwaway Postgres on a unix socket with migrations applied."""1928 datadir = tmp_path_factory.mktemp("pgdata")1929 sockdir = tmp_path_factory.mktemp("pgsock")1930 subprocess.run( # noqa: S6031931 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1932 check=True,1933 capture_output=True,1934 )1935 proc = subprocess.Popen( # noqa: S6031936 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1937 stdout=subprocess.DEVNULL,1938 stderr=subprocess.DEVNULL,1939 )1940 try:1941 deadline = time.monotonic() + 301942 while (1943 subprocess.run( # noqa: S6031944 ["pg_isready", "-h", str(sockdir), "-U", "test"],1945 check=False,1946 capture_output=True,1947 ).returncode1948 != 01949 ):1950 # The socket appears before recovery finishes; createdb would1951 # fail with "the database system is starting up".1952 if time.monotonic() > deadline:1953 msg = "postgres did not start"1954> raise RuntimeError(msg)1955E RuntimeError: postgres did not start19561957nixbot/tests/support.py:319: RuntimeError1958________________ ERROR at setup of test_build_page_live_markers ________________1959[gw0] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.1419601961request = <SubRequest 'postgres_dsn' for <Function test_html_error_pages>>1962tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')19631964 @pytest.fixture(scope="module")1965 def postgres_dsn(1966 request: pytest.FixtureRequest, tmp_path_factory: pytest.TempPathFactory1967 ) -> Iterator[str]:1968 if shutil.which("initdb") is None:1969 pytest.skip("postgresql not available")1970 dbname = request.module.__name__.rsplit(".", 1)[-1].removeprefix("test_")1971> with ephemeral_postgres(tmp_path_factory, dbname) as dsn:1972 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^19731974nixbot/tests/conftest.py:33: 1975_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1976/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__1977 return next(self.gen)1978 ^^^^^^^^^^^^^^1979_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 19801981tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw0'), _retention_count=3, _retention_policy='all')1982dbname = 'web'19831984 @contextlib.contextmanager1985 def ephemeral_postgres(1986 tmp_path_factory: pytest.TempPathFactory, dbname: str1987 ) -> Iterator[str]:1988 """Throwaway Postgres on a unix socket with migrations applied."""1989 datadir = tmp_path_factory.mktemp("pgdata")1990 sockdir = tmp_path_factory.mktemp("pgsock")1991 subprocess.run( # noqa: S6031992 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],1993 check=True,1994 capture_output=True,1995 )1996 proc = subprocess.Popen( # noqa: S6031997 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],1998 stdout=subprocess.DEVNULL,1999 stderr=subprocess.DEVNULL,2000 )loading 18,248 hidden lines…
20249E RuntimeError: postgres did not start2025020251nixbot/tests/support.py:319: RuntimeError20252________ ERROR at setup of test_pr_worktree_config_cannot_grant_effects ________20253[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142025420255self = <Coroutine test_pr_worktree_config_cannot_grant_effects>2025620257 def setup(self) -> None:20258 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20259 if runner_fixture_id not in self.fixturenames:20260 self.fixturenames.append(runner_fixture_id)20261 # When loop factories are configured, resolve the loop factory20262 # fixture early so that a factory variant change cascades cache20263 # invalidation before any async fixture checks its cache.20264 hook_caller = self.config.hook.pytest_asyncio_loop_factories20265 if hook_caller.get_hookimpls():20266 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20267> return super().setup()20268 ^^^^^^^^^^^^^^^2026920270/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20271_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20272nixbot/tests/conftest.py:33: in postgres_dsn20273 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20274 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20275/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20276 return next(self.gen)20277 ^^^^^^^^^^^^^^20278_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2027920280tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20281dbname = 'orchestrator'2028220283 @contextlib.contextmanager20284 def ephemeral_postgres(20285 tmp_path_factory: pytest.TempPathFactory, dbname: str20286 ) -> Iterator[str]:20287 """Throwaway Postgres on a unix socket with migrations applied."""20288 datadir = tmp_path_factory.mktemp("pgdata")20289 sockdir = tmp_path_factory.mktemp("pgsock")20290 subprocess.run( # noqa: S60320291 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20292 check=True,20293 capture_output=True,20294 )20295 proc = subprocess.Popen( # noqa: S60320296 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20297 stdout=subprocess.DEVNULL,20298 stderr=subprocess.DEVNULL,20299 )20300 try:20301 deadline = time.monotonic() + 3020302 while (20303 subprocess.run( # noqa: S60320304 ["pg_isready", "-h", str(sockdir), "-U", "test"],20305 check=False,20306 capture_output=True,20307 ).returncode20308 != 020309 ):20310 # The socket appears before recovery finishes; createdb would20311 # fail with "the database system is starting up".20312 if time.monotonic() > deadline:20313 msg = "postgres did not start"20314> raise RuntimeError(msg)20315E RuntimeError: postgres did not start2031620317nixbot/tests/support.py:319: RuntimeError20318___________ ERROR at setup of test_rerun_effects_runs_effects_again ____________20319[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142032020321self = <Coroutine test_rerun_effects_runs_effects_again>2032220323 def setup(self) -> None:20324 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20325 if runner_fixture_id not in self.fixturenames:20326 self.fixturenames.append(runner_fixture_id)20327 # When loop factories are configured, resolve the loop factory20328 # fixture early so that a factory variant change cascades cache20329 # invalidation before any async fixture checks its cache.20330 hook_caller = self.config.hook.pytest_asyncio_loop_factories20331 if hook_caller.get_hookimpls():20332 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20333> return super().setup()20334 ^^^^^^^^^^^^^^^2033520336/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20337_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20338nixbot/tests/conftest.py:33: in postgres_dsn20339 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20340 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20341/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20342 return next(self.gen)20343 ^^^^^^^^^^^^^^20344_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2034520346tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20347dbname = 'orchestrator'2034820349 @contextlib.contextmanager20350 def ephemeral_postgres(20351 tmp_path_factory: pytest.TempPathFactory, dbname: str20352 ) -> Iterator[str]:20353 """Throwaway Postgres on a unix socket with migrations applied."""20354 datadir = tmp_path_factory.mktemp("pgdata")20355 sockdir = tmp_path_factory.mktemp("pgsock")20356 subprocess.run( # noqa: S60320357 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20358 check=True,20359 capture_output=True,20360 )20361 proc = subprocess.Popen( # noqa: S60320362 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20363 stdout=subprocess.DEVNULL,20364 stderr=subprocess.DEVNULL,20365 )20366 try:20367 deadline = time.monotonic() + 3020368 while (20369 subprocess.run( # noqa: S60320370 ["pg_isready", "-h", str(sockdir), "-U", "test"],20371 check=False,20372 capture_output=True,20373 ).returncode20374 != 020375 ):20376 # The socket appears before recovery finishes; createdb would20377 # fail with "the database system is starting up".20378 if time.monotonic() > deadline:20379 msg = "postgres did not start"20380> raise RuntimeError(msg)20381E RuntimeError: postgres did not start2038220383nixbot/tests/support.py:319: RuntimeError20384___________ ERROR at setup of test_rerun_effects_cancels_hung_effect ___________20385[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142038620387self = <Coroutine test_rerun_effects_cancels_hung_effect>2038820389 def setup(self) -> None:20390 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20391 if runner_fixture_id not in self.fixturenames:20392 self.fixturenames.append(runner_fixture_id)20393 # When loop factories are configured, resolve the loop factory20394 # fixture early so that a factory variant change cascades cache20395 # invalidation before any async fixture checks its cache.20396 hook_caller = self.config.hook.pytest_asyncio_loop_factories20397 if hook_caller.get_hookimpls():20398 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20399> return super().setup()20400 ^^^^^^^^^^^^^^^2040120402/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20403_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20404nixbot/tests/conftest.py:33: in postgres_dsn20405 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20406 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20407/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20408 return next(self.gen)20409 ^^^^^^^^^^^^^^20410_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2041120412tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20413dbname = 'orchestrator'2041420415 @contextlib.contextmanager20416 def ephemeral_postgres(20417 tmp_path_factory: pytest.TempPathFactory, dbname: str20418 ) -> Iterator[str]:20419 """Throwaway Postgres on a unix socket with migrations applied."""20420 datadir = tmp_path_factory.mktemp("pgdata")20421 sockdir = tmp_path_factory.mktemp("pgsock")20422 subprocess.run( # noqa: S60320423 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20424 check=True,20425 capture_output=True,20426 )20427 proc = subprocess.Popen( # noqa: S60320428 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20429 stdout=subprocess.DEVNULL,20430 stderr=subprocess.DEVNULL,20431 )20432 try:20433 deadline = time.monotonic() + 3020434 while (20435 subprocess.run( # noqa: S60320436 ["pg_isready", "-h", str(sockdir), "-U", "test"],20437 check=False,20438 capture_output=True,20439 ).returncode20440 != 020441 ):20442 # The socket appears before recovery finishes; createdb would20443 # fail with "the database system is starting up".20444 if time.monotonic() > deadline:20445 msg = "postgres did not start"20446> raise RuntimeError(msg)20447E RuntimeError: postgres did not start2044820449nixbot/tests/support.py:319: RuntimeError20450__________________ ERROR at setup of test_cancel_hung_effect ___________________20451[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142045220453self = <Coroutine test_cancel_hung_effect>2045420455 def setup(self) -> None:20456 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20457 if runner_fixture_id not in self.fixturenames:20458 self.fixturenames.append(runner_fixture_id)20459 # When loop factories are configured, resolve the loop factory20460 # fixture early so that a factory variant change cascades cache20461 # invalidation before any async fixture checks its cache.20462 hook_caller = self.config.hook.pytest_asyncio_loop_factories20463 if hook_caller.get_hookimpls():20464 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20465> return super().setup()20466 ^^^^^^^^^^^^^^^2046720468/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20469_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20470nixbot/tests/conftest.py:33: in postgres_dsn20471 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20472 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20473/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20474 return next(self.gen)20475 ^^^^^^^^^^^^^^20476_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2047720478tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20479dbname = 'orchestrator'2048020481 @contextlib.contextmanager20482 def ephemeral_postgres(20483 tmp_path_factory: pytest.TempPathFactory, dbname: str20484 ) -> Iterator[str]:20485 """Throwaway Postgres on a unix socket with migrations applied."""20486 datadir = tmp_path_factory.mktemp("pgdata")20487 sockdir = tmp_path_factory.mktemp("pgsock")20488 subprocess.run( # noqa: S60320489 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20490 check=True,20491 capture_output=True,20492 )20493 proc = subprocess.Popen( # noqa: S60320494 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20495 stdout=subprocess.DEVNULL,20496 stderr=subprocess.DEVNULL,20497 )20498 try:20499 deadline = time.monotonic() + 3020500 while (20501 subprocess.run( # noqa: S60320502 ["pg_isready", "-h", str(sockdir), "-U", "test"],20503 check=False,20504 capture_output=True,20505 ).returncode20506 != 020507 ):20508 # The socket appears before recovery finishes; createdb would20509 # fail with "the database system is starting up".20510 if time.monotonic() > deadline:20511 msg = "postgres did not start"20512> raise RuntimeError(msg)20513E RuntimeError: postgres did not start2051420515nixbot/tests/support.py:319: RuntimeError20516__________________ ERROR at setup of test_rerun_single_effect __________________20517[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142051820519self = <Coroutine test_rerun_single_effect>2052020521 def setup(self) -> None:20522 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20523 if runner_fixture_id not in self.fixturenames:20524 self.fixturenames.append(runner_fixture_id)20525 # When loop factories are configured, resolve the loop factory20526 # fixture early so that a factory variant change cascades cache20527 # invalidation before any async fixture checks its cache.20528 hook_caller = self.config.hook.pytest_asyncio_loop_factories20529 if hook_caller.get_hookimpls():20530 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20531> return super().setup()20532 ^^^^^^^^^^^^^^^2053320534/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20535_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20536nixbot/tests/conftest.py:33: in postgres_dsn20537 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20538 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20539/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20540 return next(self.gen)20541 ^^^^^^^^^^^^^^20542_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2054320544tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20545dbname = 'orchestrator'2054620547 @contextlib.contextmanager20548 def ephemeral_postgres(20549 tmp_path_factory: pytest.TempPathFactory, dbname: str20550 ) -> Iterator[str]:20551 """Throwaway Postgres on a unix socket with migrations applied."""20552 datadir = tmp_path_factory.mktemp("pgdata")20553 sockdir = tmp_path_factory.mktemp("pgsock")20554 subprocess.run( # noqa: S60320555 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20556 check=True,20557 capture_output=True,20558 )20559 proc = subprocess.Popen( # noqa: S60320560 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20561 stdout=subprocess.DEVNULL,20562 stderr=subprocess.DEVNULL,20563 )20564 try:20565 deadline = time.monotonic() + 3020566 while (20567 subprocess.run( # noqa: S60320568 ["pg_isready", "-h", str(sockdir), "-U", "test"],20569 check=False,20570 capture_output=True,20571 ).returncode20572 != 020573 ):20574 # The socket appears before recovery finishes; createdb would20575 # fail with "the database system is starting up".20576 if time.monotonic() > deadline:20577 msg = "postgres did not start"20578> raise RuntimeError(msg)20579E RuntimeError: postgres did not start2058020581nixbot/tests/support.py:319: RuntimeError20582______________ ERROR at setup of test_recovery_rerun_runs_effects ______________20583[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142058420585self = <Coroutine test_recovery_rerun_runs_effects>2058620587 def setup(self) -> None:20588 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20589 if runner_fixture_id not in self.fixturenames:20590 self.fixturenames.append(runner_fixture_id)20591 # When loop factories are configured, resolve the loop factory20592 # fixture early so that a factory variant change cascades cache20593 # invalidation before any async fixture checks its cache.20594 hook_caller = self.config.hook.pytest_asyncio_loop_factories20595 if hook_caller.get_hookimpls():20596 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20597> return super().setup()20598 ^^^^^^^^^^^^^^^2059920600/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20601_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20602nixbot/tests/conftest.py:33: in postgres_dsn20603 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20604 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20605/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20606 return next(self.gen)20607 ^^^^^^^^^^^^^^20608_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2060920610tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20611dbname = 'orchestrator'2061220613 @contextlib.contextmanager20614 def ephemeral_postgres(20615 tmp_path_factory: pytest.TempPathFactory, dbname: str20616 ) -> Iterator[str]:20617 """Throwaway Postgres on a unix socket with migrations applied."""20618 datadir = tmp_path_factory.mktemp("pgdata")20619 sockdir = tmp_path_factory.mktemp("pgsock")20620 subprocess.run( # noqa: S60320621 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20622 check=True,20623 capture_output=True,20624 )20625 proc = subprocess.Popen( # noqa: S60320626 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20627 stdout=subprocess.DEVNULL,20628 stderr=subprocess.DEVNULL,20629 )20630 try:20631 deadline = time.monotonic() + 3020632 while (20633 subprocess.run( # noqa: S60320634 ["pg_isready", "-h", str(sockdir), "-U", "test"],20635 check=False,20636 capture_output=True,20637 ).returncode20638 != 020639 ):20640 # The socket appears before recovery finishes; createdb would20641 # fail with "the database system is starting up".20642 if time.monotonic() > deadline:20643 msg = "postgres did not start"20644> raise RuntimeError(msg)20645E RuntimeError: postgres did not start2064620647nixbot/tests/support.py:319: RuntimeError20648__ ERROR at setup of test_unsupported_system_attr_does_not_block_aggregation ___20649[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142065020651self = <Coroutine test_unsupported_system_attr_does_not_block_aggregation>2065220653 def setup(self) -> None:20654 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20655 if runner_fixture_id not in self.fixturenames:20656 self.fixturenames.append(runner_fixture_id)20657 # When loop factories are configured, resolve the loop factory20658 # fixture early so that a factory variant change cascades cache20659 # invalidation before any async fixture checks its cache.20660 hook_caller = self.config.hook.pytest_asyncio_loop_factories20661 if hook_caller.get_hookimpls():20662 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20663> return super().setup()20664 ^^^^^^^^^^^^^^^2066520666/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20667_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20668nixbot/tests/conftest.py:33: in postgres_dsn20669 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20670 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20671/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20672 return next(self.gen)20673 ^^^^^^^^^^^^^^20674_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2067520676tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20677dbname = 'orchestrator'2067820679 @contextlib.contextmanager20680 def ephemeral_postgres(20681 tmp_path_factory: pytest.TempPathFactory, dbname: str20682 ) -> Iterator[str]:20683 """Throwaway Postgres on a unix socket with migrations applied."""20684 datadir = tmp_path_factory.mktemp("pgdata")20685 sockdir = tmp_path_factory.mktemp("pgsock")20686 subprocess.run( # noqa: S60320687 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20688 check=True,20689 capture_output=True,20690 )20691 proc = subprocess.Popen( # noqa: S60320692 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20693 stdout=subprocess.DEVNULL,20694 stderr=subprocess.DEVNULL,20695 )20696 try:20697 deadline = time.monotonic() + 3020698 while (20699 subprocess.run( # noqa: S60320700 ["pg_isready", "-h", str(sockdir), "-U", "test"],20701 check=False,20702 capture_output=True,20703 ).returncode20704 != 020705 ):20706 # The socket appears before recovery finishes; createdb would20707 # fail with "the database system is starting up".20708 if time.monotonic() > deadline:20709 msg = "postgres did not start"20710> raise RuntimeError(msg)20711E RuntimeError: postgres did not start2071220713nixbot/tests/support.py:319: RuntimeError20714________ ERROR at setup of test_linked_context_reported_on_eval_failure ________20715[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142071620717self = <Coroutine test_linked_context_reported_on_eval_failure>2071820719 def setup(self) -> None:20720 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20721 if runner_fixture_id not in self.fixturenames:20722 self.fixturenames.append(runner_fixture_id)20723 # When loop factories are configured, resolve the loop factory20724 # fixture early so that a factory variant change cascades cache20725 # invalidation before any async fixture checks its cache.20726 hook_caller = self.config.hook.pytest_asyncio_loop_factories20727 if hook_caller.get_hookimpls():20728 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20729> return super().setup()20730 ^^^^^^^^^^^^^^^2073120732/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20733_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20734nixbot/tests/conftest.py:33: in postgres_dsn20735 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20736 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20737/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20738 return next(self.gen)20739 ^^^^^^^^^^^^^^20740_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2074120742tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20743dbname = 'orchestrator'2074420745 @contextlib.contextmanager20746 def ephemeral_postgres(20747 tmp_path_factory: pytest.TempPathFactory, dbname: str20748 ) -> Iterator[str]:20749 """Throwaway Postgres on a unix socket with migrations applied."""20750 datadir = tmp_path_factory.mktemp("pgdata")20751 sockdir = tmp_path_factory.mktemp("pgsock")20752 subprocess.run( # noqa: S60320753 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20754 check=True,20755 capture_output=True,20756 )20757 proc = subprocess.Popen( # noqa: S60320758 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20759 stdout=subprocess.DEVNULL,20760 stderr=subprocess.DEVNULL,20761 )20762 try:20763 deadline = time.monotonic() + 3020764 while (20765 subprocess.run( # noqa: S60320766 ["pg_isready", "-h", str(sockdir), "-U", "test"],20767 check=False,20768 capture_output=True,20769 ).returncode20770 != 020771 ):20772 # The socket appears before recovery finishes; createdb would20773 # fail with "the database system is starting up".20774 if time.monotonic() > deadline:20775 msg = "postgres did not start"20776> raise RuntimeError(msg)20777E RuntimeError: postgres did not start2077820779nixbot/tests/support.py:319: RuntimeError20780_______ ERROR at setup of test_eval_failure_settles_streamed_attributes ________20781[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142078220783self = <Coroutine test_eval_failure_settles_streamed_attributes>2078420785 def setup(self) -> None:20786 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20787 if runner_fixture_id not in self.fixturenames:20788 self.fixturenames.append(runner_fixture_id)20789 # When loop factories are configured, resolve the loop factory20790 # fixture early so that a factory variant change cascades cache20791 # invalidation before any async fixture checks its cache.20792 hook_caller = self.config.hook.pytest_asyncio_loop_factories20793 if hook_caller.get_hookimpls():20794 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20795> return super().setup()20796 ^^^^^^^^^^^^^^^2079720798/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20799_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20800nixbot/tests/conftest.py:33: in postgres_dsn20801 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20802 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20803/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20804 return next(self.gen)20805 ^^^^^^^^^^^^^^20806_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2080720808tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20809dbname = 'orchestrator'2081020811 @contextlib.contextmanager20812 def ephemeral_postgres(20813 tmp_path_factory: pytest.TempPathFactory, dbname: str20814 ) -> Iterator[str]:20815 """Throwaway Postgres on a unix socket with migrations applied."""20816 datadir = tmp_path_factory.mktemp("pgdata")20817 sockdir = tmp_path_factory.mktemp("pgsock")20818 subprocess.run( # noqa: S60320819 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20820 check=True,20821 capture_output=True,20822 )20823 proc = subprocess.Popen( # noqa: S60320824 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20825 stdout=subprocess.DEVNULL,20826 stderr=subprocess.DEVNULL,20827 )20828 try:20829 deadline = time.monotonic() + 3020830 while (20831 subprocess.run( # noqa: S60320832 ["pg_isready", "-h", str(sockdir), "-U", "test"],20833 check=False,20834 capture_output=True,20835 ).returncode20836 != 020837 ):20838 # The socket appears before recovery finishes; createdb would20839 # fail with "the database system is starting up".20840 if time.monotonic() > deadline:20841 msg = "postgres did not start"20842> raise RuntimeError(msg)20843E RuntimeError: postgres did not start2084420845nixbot/tests/support.py:319: RuntimeError20846_________________ ERROR at setup of test_effect_rows_roundtrip _________________20847[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142084820849self = <Coroutine test_effect_rows_roundtrip>2085020851 def setup(self) -> None:20852 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20853 if runner_fixture_id not in self.fixturenames:20854 self.fixturenames.append(runner_fixture_id)20855 # When loop factories are configured, resolve the loop factory20856 # fixture early so that a factory variant change cascades cache20857 # invalidation before any async fixture checks its cache.20858 hook_caller = self.config.hook.pytest_asyncio_loop_factories20859 if hook_caller.get_hookimpls():20860 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20861> return super().setup()20862 ^^^^^^^^^^^^^^^2086320864/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20865_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20866nixbot/tests/conftest.py:33: in postgres_dsn20867 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20868 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20869/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20870 return next(self.gen)20871 ^^^^^^^^^^^^^^20872_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2087320874tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20875dbname = 'orchestrator'2087620877 @contextlib.contextmanager20878 def ephemeral_postgres(20879 tmp_path_factory: pytest.TempPathFactory, dbname: str20880 ) -> Iterator[str]:20881 """Throwaway Postgres on a unix socket with migrations applied."""20882 datadir = tmp_path_factory.mktemp("pgdata")20883 sockdir = tmp_path_factory.mktemp("pgsock")20884 subprocess.run( # noqa: S60320885 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20886 check=True,20887 capture_output=True,20888 )20889 proc = subprocess.Popen( # noqa: S60320890 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20891 stdout=subprocess.DEVNULL,20892 stderr=subprocess.DEVNULL,20893 )20894 try:20895 deadline = time.monotonic() + 3020896 while (20897 subprocess.run( # noqa: S60320898 ["pg_isready", "-h", str(sockdir), "-U", "test"],20899 check=False,20900 capture_output=True,20901 ).returncode20902 != 020903 ):20904 # The socket appears before recovery finishes; createdb would20905 # fail with "the database system is starting up".20906 if time.monotonic() > deadline:20907 msg = "postgres did not start"20908> raise RuntimeError(msg)20909E RuntimeError: postgres did not start2091020911nixbot/tests/support.py:319: RuntimeError20912_________ ERROR at setup of test_pending_effects_replace_skipped_rows __________20913[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142091420915self = <Coroutine test_pending_effects_replace_skipped_rows>2091620917 def setup(self) -> None:20918 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20919 if runner_fixture_id not in self.fixturenames:20920 self.fixturenames.append(runner_fixture_id)20921 # When loop factories are configured, resolve the loop factory20922 # fixture early so that a factory variant change cascades cache20923 # invalidation before any async fixture checks its cache.20924 hook_caller = self.config.hook.pytest_asyncio_loop_factories20925 if hook_caller.get_hookimpls():20926 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20927> return super().setup()20928 ^^^^^^^^^^^^^^^2092920930/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20931_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20932nixbot/tests/conftest.py:33: in postgres_dsn20933 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:20934 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^20935/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__20936 return next(self.gen)20937 ^^^^^^^^^^^^^^20938_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2093920940tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')20941dbname = 'orchestrator'2094220943 @contextlib.contextmanager20944 def ephemeral_postgres(20945 tmp_path_factory: pytest.TempPathFactory, dbname: str20946 ) -> Iterator[str]:20947 """Throwaway Postgres on a unix socket with migrations applied."""20948 datadir = tmp_path_factory.mktemp("pgdata")20949 sockdir = tmp_path_factory.mktemp("pgsock")20950 subprocess.run( # noqa: S60320951 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],20952 check=True,20953 capture_output=True,20954 )20955 proc = subprocess.Popen( # noqa: S60320956 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],20957 stdout=subprocess.DEVNULL,20958 stderr=subprocess.DEVNULL,20959 )20960 try:20961 deadline = time.monotonic() + 3020962 while (20963 subprocess.run( # noqa: S60320964 ["pg_isready", "-h", str(sockdir), "-U", "test"],20965 check=False,20966 capture_output=True,20967 ).returncode20968 != 020969 ):20970 # The socket appears before recovery finishes; createdb would20971 # fail with "the database system is starting up".20972 if time.monotonic() > deadline:20973 msg = "postgres did not start"20974> raise RuntimeError(msg)20975E RuntimeError: postgres did not start2097620977nixbot/tests/support.py:319: RuntimeError20978___________ ERROR at setup of test_effect_items_resume_only_pending ____________20979[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142098020981self = <Coroutine test_effect_items_resume_only_pending>2098220983 def setup(self) -> None:20984 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"20985 if runner_fixture_id not in self.fixturenames:20986 self.fixturenames.append(runner_fixture_id)20987 # When loop factories are configured, resolve the loop factory20988 # fixture early so that a factory variant change cascades cache20989 # invalidation before any async fixture checks its cache.20990 hook_caller = self.config.hook.pytest_asyncio_loop_factories20991 if hook_caller.get_hookimpls():20992 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)20993> return super().setup()20994 ^^^^^^^^^^^^^^^2099520996/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 20997_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 20998nixbot/tests/conftest.py:33: in postgres_dsn20999 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21000 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21001/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21002 return next(self.gen)21003 ^^^^^^^^^^^^^^21004_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2100521006tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21007dbname = 'orchestrator'2100821009 @contextlib.contextmanager21010 def ephemeral_postgres(21011 tmp_path_factory: pytest.TempPathFactory, dbname: str21012 ) -> Iterator[str]:21013 """Throwaway Postgres on a unix socket with migrations applied."""21014 datadir = tmp_path_factory.mktemp("pgdata")21015 sockdir = tmp_path_factory.mktemp("pgsock")21016 subprocess.run( # noqa: S60321017 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21018 check=True,21019 capture_output=True,21020 )21021 proc = subprocess.Popen( # noqa: S60321022 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21023 stdout=subprocess.DEVNULL,21024 stderr=subprocess.DEVNULL,21025 )21026 try:21027 deadline = time.monotonic() + 3021028 while (21029 subprocess.run( # noqa: S60321030 ["pg_isready", "-h", str(sockdir), "-U", "test"],21031 check=False,21032 capture_output=True,21033 ).returncode21034 != 021035 ):21036 # The socket appears before recovery finishes; createdb would21037 # fail with "the database system is starting up".21038 if time.monotonic() > deadline:21039 msg = "postgres did not start"21040> raise RuntimeError(msg)21041E RuntimeError: postgres did not start2104221043nixbot/tests/support.py:319: RuntimeError21044_____________ ERROR at setup of test_effect_crash_settles_the_row ______________21045[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142104621047self = <Coroutine test_effect_crash_settles_the_row>2104821049 def setup(self) -> None:21050 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21051 if runner_fixture_id not in self.fixturenames:21052 self.fixturenames.append(runner_fixture_id)21053 # When loop factories are configured, resolve the loop factory21054 # fixture early so that a factory variant change cascades cache21055 # invalidation before any async fixture checks its cache.21056 hook_caller = self.config.hook.pytest_asyncio_loop_factories21057 if hook_caller.get_hookimpls():21058 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21059> return super().setup()21060 ^^^^^^^^^^^^^^^2106121062/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21063_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21064nixbot/tests/conftest.py:33: in postgres_dsn21065 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21066 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21067/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21068 return next(self.gen)21069 ^^^^^^^^^^^^^^21070_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2107121072tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21073dbname = 'orchestrator'2107421075 @contextlib.contextmanager21076 def ephemeral_postgres(21077 tmp_path_factory: pytest.TempPathFactory, dbname: str21078 ) -> Iterator[str]:21079 """Throwaway Postgres on a unix socket with migrations applied."""21080 datadir = tmp_path_factory.mktemp("pgdata")21081 sockdir = tmp_path_factory.mktemp("pgsock")21082 subprocess.run( # noqa: S60321083 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21084 check=True,21085 capture_output=True,21086 )21087 proc = subprocess.Popen( # noqa: S60321088 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21089 stdout=subprocess.DEVNULL,21090 stderr=subprocess.DEVNULL,21091 )21092 try:21093 deadline = time.monotonic() + 3021094 while (21095 subprocess.run( # noqa: S60321096 ["pg_isready", "-h", str(sockdir), "-U", "test"],21097 check=False,21098 capture_output=True,21099 ).returncode21100 != 021101 ):21102 # The socket appears before recovery finishes; createdb would21103 # fail with "the database system is starting up".21104 if time.monotonic() > deadline:21105 msg = "postgres did not start"21106> raise RuntimeError(msg)21107E RuntimeError: postgres did not start2110821109nixbot/tests/support.py:319: RuntimeError21110_____ ERROR at setup of test_concurrent_effects_use_independent_worktrees ______21111[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142111221113self = <Coroutine test_concurrent_effects_use_independent_worktrees>2111421115 def setup(self) -> None:21116 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21117 if runner_fixture_id not in self.fixturenames:21118 self.fixturenames.append(runner_fixture_id)21119 # When loop factories are configured, resolve the loop factory21120 # fixture early so that a factory variant change cascades cache21121 # invalidation before any async fixture checks its cache.21122 hook_caller = self.config.hook.pytest_asyncio_loop_factories21123 if hook_caller.get_hookimpls():21124 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21125> return super().setup()21126 ^^^^^^^^^^^^^^^2112721128/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21129_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21130nixbot/tests/conftest.py:33: in postgres_dsn21131 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21132 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21133/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21134 return next(self.gen)21135 ^^^^^^^^^^^^^^21136_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2113721138tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21139dbname = 'orchestrator'2114021141 @contextlib.contextmanager21142 def ephemeral_postgres(21143 tmp_path_factory: pytest.TempPathFactory, dbname: str21144 ) -> Iterator[str]:21145 """Throwaway Postgres on a unix socket with migrations applied."""21146 datadir = tmp_path_factory.mktemp("pgdata")21147 sockdir = tmp_path_factory.mktemp("pgsock")21148 subprocess.run( # noqa: S60321149 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21150 check=True,21151 capture_output=True,21152 )21153 proc = subprocess.Popen( # noqa: S60321154 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21155 stdout=subprocess.DEVNULL,21156 stderr=subprocess.DEVNULL,21157 )21158 try:21159 deadline = time.monotonic() + 3021160 while (21161 subprocess.run( # noqa: S60321162 ["pg_isready", "-h", str(sockdir), "-U", "test"],21163 check=False,21164 capture_output=True,21165 ).returncode21166 != 021167 ):21168 # The socket appears before recovery finishes; createdb would21169 # fail with "the database system is starting up".21170 if time.monotonic() > deadline:21171 msg = "postgres did not start"21172> raise RuntimeError(msg)21173E RuntimeError: postgres did not start2117421175nixbot/tests/support.py:319: RuntimeError21176__________ ERROR at setup of test_locked_effect_gets_shared_dedup_key __________21177[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142117821179self = <Coroutine test_locked_effect_gets_shared_dedup_key>2118021181 def setup(self) -> None:21182 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21183 if runner_fixture_id not in self.fixturenames:21184 self.fixturenames.append(runner_fixture_id)21185 # When loop factories are configured, resolve the loop factory21186 # fixture early so that a factory variant change cascades cache21187 # invalidation before any async fixture checks its cache.21188 hook_caller = self.config.hook.pytest_asyncio_loop_factories21189 if hook_caller.get_hookimpls():21190 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21191> return super().setup()21192 ^^^^^^^^^^^^^^^2119321194/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21195_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21196nixbot/tests/conftest.py:33: in postgres_dsn21197 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21198 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21199/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21200 return next(self.gen)21201 ^^^^^^^^^^^^^^21202_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2120321204tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21205dbname = 'orchestrator'2120621207 @contextlib.contextmanager21208 def ephemeral_postgres(21209 tmp_path_factory: pytest.TempPathFactory, dbname: str21210 ) -> Iterator[str]:21211 """Throwaway Postgres on a unix socket with migrations applied."""21212 datadir = tmp_path_factory.mktemp("pgdata")21213 sockdir = tmp_path_factory.mktemp("pgsock")21214 subprocess.run( # noqa: S60321215 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21216 check=True,21217 capture_output=True,21218 )21219 proc = subprocess.Popen( # noqa: S60321220 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21221 stdout=subprocess.DEVNULL,21222 stderr=subprocess.DEVNULL,21223 )21224 try:21225 deadline = time.monotonic() + 3021226 while (21227 subprocess.run( # noqa: S60321228 ["pg_isready", "-h", str(sockdir), "-U", "test"],21229 check=False,21230 capture_output=True,21231 ).returncode21232 != 021233 ):21234 # The socket appears before recovery finishes; createdb would21235 # fail with "the database system is starting up".21236 if time.monotonic() > deadline:21237 msg = "postgres did not start"21238> raise RuntimeError(msg)21239E RuntimeError: postgres did not start2124021241nixbot/tests/support.py:319: RuntimeError21242______ ERROR at setup of test_effect_item_not_claimable_until_dep_settles ______21243[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142124421245self = <Coroutine test_effect_item_not_claimable_until_dep_settles>2124621247 def setup(self) -> None:21248 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21249 if runner_fixture_id not in self.fixturenames:21250 self.fixturenames.append(runner_fixture_id)21251 # When loop factories are configured, resolve the loop factory21252 # fixture early so that a factory variant change cascades cache21253 # invalidation before any async fixture checks its cache.21254 hook_caller = self.config.hook.pytest_asyncio_loop_factories21255 if hook_caller.get_hookimpls():21256 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21257> return super().setup()21258 ^^^^^^^^^^^^^^^2125921260/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21261_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21262nixbot/tests/conftest.py:33: in postgres_dsn21263 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21264 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21265/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21266 return next(self.gen)21267 ^^^^^^^^^^^^^^21268_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2126921270tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21271dbname = 'orchestrator'2127221273 @contextlib.contextmanager21274 def ephemeral_postgres(21275 tmp_path_factory: pytest.TempPathFactory, dbname: str21276 ) -> Iterator[str]:21277 """Throwaway Postgres on a unix socket with migrations applied."""21278 datadir = tmp_path_factory.mktemp("pgdata")21279 sockdir = tmp_path_factory.mktemp("pgsock")21280 subprocess.run( # noqa: S60321281 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21282 check=True,21283 capture_output=True,21284 )21285 proc = subprocess.Popen( # noqa: S60321286 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21287 stdout=subprocess.DEVNULL,21288 stderr=subprocess.DEVNULL,21289 )21290 try:21291 deadline = time.monotonic() + 3021292 while (21293 subprocess.run( # noqa: S60321294 ["pg_isready", "-h", str(sockdir), "-U", "test"],21295 check=False,21296 capture_output=True,21297 ).returncode21298 != 021299 ):21300 # The socket appears before recovery finishes; createdb would21301 # fail with "the database system is starting up".21302 if time.monotonic() > deadline:21303 msg = "postgres did not start"21304> raise RuntimeError(msg)21305E RuntimeError: postgres did not start2130621307nixbot/tests/support.py:319: RuntimeError21308__________ ERROR at setup of test_effect_dep_failure_skips_dependent ___________21309[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142131021311self = <Coroutine test_effect_dep_failure_skips_dependent>2131221313 def setup(self) -> None:21314 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21315 if runner_fixture_id not in self.fixturenames:21316 self.fixturenames.append(runner_fixture_id)21317 # When loop factories are configured, resolve the loop factory21318 # fixture early so that a factory variant change cascades cache21319 # invalidation before any async fixture checks its cache.21320 hook_caller = self.config.hook.pytest_asyncio_loop_factories21321 if hook_caller.get_hookimpls():21322 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21323> return super().setup()21324 ^^^^^^^^^^^^^^^2132521326/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21327_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21328nixbot/tests/conftest.py:33: in postgres_dsn21329 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21330 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21331/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21332 return next(self.gen)21333 ^^^^^^^^^^^^^^21334_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2133521336tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21337dbname = 'orchestrator'2133821339 @contextlib.contextmanager21340 def ephemeral_postgres(21341 tmp_path_factory: pytest.TempPathFactory, dbname: str21342 ) -> Iterator[str]:21343 """Throwaway Postgres on a unix socket with migrations applied."""21344 datadir = tmp_path_factory.mktemp("pgdata")21345 sockdir = tmp_path_factory.mktemp("pgsock")21346 subprocess.run( # noqa: S60321347 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21348 check=True,21349 capture_output=True,21350 )21351 proc = subprocess.Popen( # noqa: S60321352 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21353 stdout=subprocess.DEVNULL,21354 stderr=subprocess.DEVNULL,21355 )21356 try:21357 deadline = time.monotonic() + 3021358 while (21359 subprocess.run( # noqa: S60321360 ["pg_isready", "-h", str(sockdir), "-U", "test"],21361 check=False,21362 capture_output=True,21363 ).returncode21364 != 021365 ):21366 # The socket appears before recovery finishes; createdb would21367 # fail with "the database system is starting up".21368 if time.monotonic() > deadline:21369 msg = "postgres did not start"21370> raise RuntimeError(msg)21371E RuntimeError: postgres did not start2137221373nixbot/tests/support.py:319: RuntimeError21374______ ERROR at setup of test_lock_serializes_builds_without_interleaving ______21375[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142137621377self = <Coroutine test_lock_serializes_builds_without_interleaving>2137821379 def setup(self) -> None:21380 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21381 if runner_fixture_id not in self.fixturenames:21382 self.fixturenames.append(runner_fixture_id)21383 # When loop factories are configured, resolve the loop factory21384 # fixture early so that a factory variant change cascades cache21385 # invalidation before any async fixture checks its cache.21386 hook_caller = self.config.hook.pytest_asyncio_loop_factories21387 if hook_caller.get_hookimpls():21388 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21389> return super().setup()21390 ^^^^^^^^^^^^^^^2139121392/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21393_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21394nixbot/tests/conftest.py:33: in postgres_dsn21395 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21396 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21397/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21398 return next(self.gen)21399 ^^^^^^^^^^^^^^21400_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2140121402tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21403dbname = 'orchestrator'2140421405 @contextlib.contextmanager21406 def ephemeral_postgres(21407 tmp_path_factory: pytest.TempPathFactory, dbname: str21408 ) -> Iterator[str]:21409 """Throwaway Postgres on a unix socket with migrations applied."""21410 datadir = tmp_path_factory.mktemp("pgdata")21411 sockdir = tmp_path_factory.mktemp("pgsock")21412 subprocess.run( # noqa: S60321413 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21414 check=True,21415 capture_output=True,21416 )21417 proc = subprocess.Popen( # noqa: S60321418 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21419 stdout=subprocess.DEVNULL,21420 stderr=subprocess.DEVNULL,21421 )21422 try:21423 deadline = time.monotonic() + 3021424 while (21425 subprocess.run( # noqa: S60321426 ["pg_isready", "-h", str(sockdir), "-U", "test"],21427 check=False,21428 capture_output=True,21429 ).returncode21430 != 021431 ):21432 # The socket appears before recovery finishes; createdb would21433 # fail with "the database system is starting up".21434 if time.monotonic() > deadline:21435 msg = "postgres did not start"21436> raise RuntimeError(msg)21437E RuntimeError: postgres did not start2143821439nixbot/tests/support.py:319: RuntimeError21440___________ ERROR at setup of test_effect_dep_cycle_fails_discovery ____________21441[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142144221443self = <Coroutine test_effect_dep_cycle_fails_discovery>2144421445 def setup(self) -> None:21446 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21447 if runner_fixture_id not in self.fixturenames:21448 self.fixturenames.append(runner_fixture_id)21449 # When loop factories are configured, resolve the loop factory21450 # fixture early so that a factory variant change cascades cache21451 # invalidation before any async fixture checks its cache.21452 hook_caller = self.config.hook.pytest_asyncio_loop_factories21453 if hook_caller.get_hookimpls():21454 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21455> return super().setup()21456 ^^^^^^^^^^^^^^^2145721458/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21459_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21460nixbot/tests/conftest.py:33: in postgres_dsn21461 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21462 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21463/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21464 return next(self.gen)21465 ^^^^^^^^^^^^^^21466_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2146721468tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21469dbname = 'orchestrator'2147021471 @contextlib.contextmanager21472 def ephemeral_postgres(21473 tmp_path_factory: pytest.TempPathFactory, dbname: str21474 ) -> Iterator[str]:21475 """Throwaway Postgres on a unix socket with migrations applied."""21476 datadir = tmp_path_factory.mktemp("pgdata")21477 sockdir = tmp_path_factory.mktemp("pgsock")21478 subprocess.run( # noqa: S60321479 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21480 check=True,21481 capture_output=True,21482 )21483 proc = subprocess.Popen( # noqa: S60321484 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21485 stdout=subprocess.DEVNULL,21486 stderr=subprocess.DEVNULL,21487 )21488 try:21489 deadline = time.monotonic() + 3021490 while (21491 subprocess.run( # noqa: S60321492 ["pg_isready", "-h", str(sockdir), "-U", "test"],21493 check=False,21494 capture_output=True,21495 ).returncode21496 != 021497 ):21498 # The socket appears before recovery finishes; createdb would21499 # fail with "the database system is starting up".21500 if time.monotonic() > deadline:21501 msg = "postgres did not start"21502> raise RuntimeError(msg)21503E RuntimeError: postgres did not start2150421505nixbot/tests/support.py:319: RuntimeError21506_________ ERROR at setup of test_failed_effect_reports_failure_status __________21507[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142150821509self = <Coroutine test_failed_effect_reports_failure_status>2151021511 def setup(self) -> None:21512 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21513 if runner_fixture_id not in self.fixturenames:21514 self.fixturenames.append(runner_fixture_id)21515 # When loop factories are configured, resolve the loop factory21516 # fixture early so that a factory variant change cascades cache21517 # invalidation before any async fixture checks its cache.21518 hook_caller = self.config.hook.pytest_asyncio_loop_factories21519 if hook_caller.get_hookimpls():21520 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21521> return super().setup()21522 ^^^^^^^^^^^^^^^2152321524/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21525_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21526nixbot/tests/conftest.py:33: in postgres_dsn21527 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21528 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21529/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21530 return next(self.gen)21531 ^^^^^^^^^^^^^^21532_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2153321534tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21535dbname = 'orchestrator'2153621537 @contextlib.contextmanager21538 def ephemeral_postgres(21539 tmp_path_factory: pytest.TempPathFactory, dbname: str21540 ) -> Iterator[str]:21541 """Throwaway Postgres on a unix socket with migrations applied."""21542 datadir = tmp_path_factory.mktemp("pgdata")21543 sockdir = tmp_path_factory.mktemp("pgsock")21544 subprocess.run( # noqa: S60321545 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21546 check=True,21547 capture_output=True,21548 )21549 proc = subprocess.Popen( # noqa: S60321550 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21551 stdout=subprocess.DEVNULL,21552 stderr=subprocess.DEVNULL,21553 )21554 try:21555 deadline = time.monotonic() + 3021556 while (21557 subprocess.run( # noqa: S60321558 ["pg_isready", "-h", str(sockdir), "-U", "test"],21559 check=False,21560 capture_output=True,21561 ).returncode21562 != 021563 ):21564 # The socket appears before recovery finishes; createdb would21565 # fail with "the database system is starting up".21566 if time.monotonic() > deadline:21567 msg = "postgres did not start"21568> raise RuntimeError(msg)21569E RuntimeError: postgres did not start2157021571nixbot/tests/support.py:319: RuntimeError21572________ ERROR at setup of test_post_process_error_does_not_wedge_build ________21573[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142157421575self = <Coroutine test_post_process_error_does_not_wedge_build>2157621577 def setup(self) -> None:21578 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21579 if runner_fixture_id not in self.fixturenames:21580 self.fixturenames.append(runner_fixture_id)21581 # When loop factories are configured, resolve the loop factory21582 # fixture early so that a factory variant change cascades cache21583 # invalidation before any async fixture checks its cache.21584 hook_caller = self.config.hook.pytest_asyncio_loop_factories21585 if hook_caller.get_hookimpls():21586 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21587> return super().setup()21588 ^^^^^^^^^^^^^^^2158921590/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21591_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21592nixbot/tests/conftest.py:33: in postgres_dsn21593 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21594 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21595/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21596 return next(self.gen)21597 ^^^^^^^^^^^^^^21598_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2159921600tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21601dbname = 'orchestrator'2160221603 @contextlib.contextmanager21604 def ephemeral_postgres(21605 tmp_path_factory: pytest.TempPathFactory, dbname: str21606 ) -> Iterator[str]:21607 """Throwaway Postgres on a unix socket with migrations applied."""21608 datadir = tmp_path_factory.mktemp("pgdata")21609 sockdir = tmp_path_factory.mktemp("pgsock")21610 subprocess.run( # noqa: S60321611 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21612 check=True,21613 capture_output=True,21614 )21615 proc = subprocess.Popen( # noqa: S60321616 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21617 stdout=subprocess.DEVNULL,21618 stderr=subprocess.DEVNULL,21619 )21620 try:21621 deadline = time.monotonic() + 3021622 while (21623 subprocess.run( # noqa: S60321624 ["pg_isready", "-h", str(sockdir), "-U", "test"],21625 check=False,21626 capture_output=True,21627 ).returncode21628 != 021629 ):21630 # The socket appears before recovery finishes; createdb would21631 # fail with "the database system is starting up".21632 if time.monotonic() > deadline:21633 msg = "postgres did not start"21634> raise RuntimeError(msg)21635E RuntimeError: postgres did not start2163621637nixbot/tests/support.py:319: RuntimeError21638_______ ERROR at setup of test_unexpected_eval_path_error_settles_build ________21639[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142164021641self = <Coroutine test_unexpected_eval_path_error_settles_build>2164221643 def setup(self) -> None:21644 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21645 if runner_fixture_id not in self.fixturenames:21646 self.fixturenames.append(runner_fixture_id)21647 # When loop factories are configured, resolve the loop factory21648 # fixture early so that a factory variant change cascades cache21649 # invalidation before any async fixture checks its cache.21650 hook_caller = self.config.hook.pytest_asyncio_loop_factories21651 if hook_caller.get_hookimpls():21652 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21653> return super().setup()21654 ^^^^^^^^^^^^^^^2165521656/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21657_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21658nixbot/tests/conftest.py:33: in postgres_dsn21659 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21660 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21661/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21662 return next(self.gen)21663 ^^^^^^^^^^^^^^21664_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2166521666tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21667dbname = 'orchestrator'2166821669 @contextlib.contextmanager21670 def ephemeral_postgres(21671 tmp_path_factory: pytest.TempPathFactory, dbname: str21672 ) -> Iterator[str]:21673 """Throwaway Postgres on a unix socket with migrations applied."""21674 datadir = tmp_path_factory.mktemp("pgdata")21675 sockdir = tmp_path_factory.mktemp("pgsock")21676 subprocess.run( # noqa: S60321677 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21678 check=True,21679 capture_output=True,21680 )21681 proc = subprocess.Popen( # noqa: S60321682 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21683 stdout=subprocess.DEVNULL,21684 stderr=subprocess.DEVNULL,21685 )21686 try:21687 deadline = time.monotonic() + 3021688 while (21689 subprocess.run( # noqa: S60321690 ["pg_isready", "-h", str(sockdir), "-U", "test"],21691 check=False,21692 capture_output=True,21693 ).returncode21694 != 021695 ):21696 # The socket appears before recovery finishes; createdb would21697 # fail with "the database system is starting up".21698 if time.monotonic() > deadline:21699 msg = "postgres did not start"21700> raise RuntimeError(msg)21701E RuntimeError: postgres did not start2170221703nixbot/tests/support.py:319: RuntimeError21704____ ERROR at setup of test_reuse_empty_succeeded_build_posts_eval_success _____21705[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142170621707self = <Coroutine test_reuse_empty_succeeded_build_posts_eval_success>2170821709 def setup(self) -> None:21710 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21711 if runner_fixture_id not in self.fixturenames:21712 self.fixturenames.append(runner_fixture_id)21713 # When loop factories are configured, resolve the loop factory21714 # fixture early so that a factory variant change cascades cache21715 # invalidation before any async fixture checks its cache.21716 hook_caller = self.config.hook.pytest_asyncio_loop_factories21717 if hook_caller.get_hookimpls():21718 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21719> return super().setup()21720 ^^^^^^^^^^^^^^^2172121722/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21723_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21724nixbot/tests/conftest.py:33: in postgres_dsn21725 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21726 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21727/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21728 return next(self.gen)21729 ^^^^^^^^^^^^^^21730_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2173121732tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21733dbname = 'orchestrator'2173421735 @contextlib.contextmanager21736 def ephemeral_postgres(21737 tmp_path_factory: pytest.TempPathFactory, dbname: str21738 ) -> Iterator[str]:21739 """Throwaway Postgres on a unix socket with migrations applied."""21740 datadir = tmp_path_factory.mktemp("pgdata")21741 sockdir = tmp_path_factory.mktemp("pgsock")21742 subprocess.run( # noqa: S60321743 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21744 check=True,21745 capture_output=True,21746 )21747 proc = subprocess.Popen( # noqa: S60321748 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21749 stdout=subprocess.DEVNULL,21750 stderr=subprocess.DEVNULL,21751 )21752 try:21753 deadline = time.monotonic() + 3021754 while (21755 subprocess.run( # noqa: S60321756 ["pg_isready", "-h", str(sockdir), "-U", "test"],21757 check=False,21758 capture_output=True,21759 ).returncode21760 != 021761 ):21762 # The socket appears before recovery finishes; createdb would21763 # fail with "the database system is starting up".21764 if time.monotonic() > deadline:21765 msg = "postgres did not start"21766> raise RuntimeError(msg)21767E RuntimeError: postgres did not start2176821769nixbot/tests/support.py:319: RuntimeError21770__ ERROR at setup of test_stale_event_reusing_old_build_does_not_cancel_newer __21771[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142177221773self = <Coroutine test_stale_event_reusing_old_build_does_not_cancel_newer>2177421775 def setup(self) -> None:21776 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21777 if runner_fixture_id not in self.fixturenames:21778 self.fixturenames.append(runner_fixture_id)21779 # When loop factories are configured, resolve the loop factory21780 # fixture early so that a factory variant change cascades cache21781 # invalidation before any async fixture checks its cache.21782 hook_caller = self.config.hook.pytest_asyncio_loop_factories21783 if hook_caller.get_hookimpls():21784 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21785> return super().setup()21786 ^^^^^^^^^^^^^^^2178721788/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21789_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21790nixbot/tests/conftest.py:33: in postgres_dsn21791 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21792 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21793/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21794 return next(self.gen)21795 ^^^^^^^^^^^^^^21796_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2179721798tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21799dbname = 'orchestrator'2180021801 @contextlib.contextmanager21802 def ephemeral_postgres(21803 tmp_path_factory: pytest.TempPathFactory, dbname: str21804 ) -> Iterator[str]:21805 """Throwaway Postgres on a unix socket with migrations applied."""21806 datadir = tmp_path_factory.mktemp("pgdata")21807 sockdir = tmp_path_factory.mktemp("pgsock")21808 subprocess.run( # noqa: S60321809 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21810 check=True,21811 capture_output=True,21812 )21813 proc = subprocess.Popen( # noqa: S60321814 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21815 stdout=subprocess.DEVNULL,21816 stderr=subprocess.DEVNULL,21817 )21818 try:21819 deadline = time.monotonic() + 3021820 while (21821 subprocess.run( # noqa: S60321822 ["pg_isready", "-h", str(sockdir), "-U", "test"],21823 check=False,21824 capture_output=True,21825 ).returncode21826 != 021827 ):21828 # The socket appears before recovery finishes; createdb would21829 # fail with "the database system is starting up".21830 if time.monotonic() > deadline:21831 msg = "postgres did not start"21832> raise RuntimeError(msg)21833E RuntimeError: postgres did not start2183421835nixbot/tests/support.py:319: RuntimeError21836______ ERROR at setup of test_reuse_for_default_branch_push_runs_effects _______21837[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142183821839self = <Coroutine test_reuse_for_default_branch_push_runs_effects>2184021841 def setup(self) -> None:21842 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21843 if runner_fixture_id not in self.fixturenames:21844 self.fixturenames.append(runner_fixture_id)21845 # When loop factories are configured, resolve the loop factory21846 # fixture early so that a factory variant change cascades cache21847 # invalidation before any async fixture checks its cache.21848 hook_caller = self.config.hook.pytest_asyncio_loop_factories21849 if hook_caller.get_hookimpls():21850 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21851> return super().setup()21852 ^^^^^^^^^^^^^^^2185321854/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21855_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21856nixbot/tests/conftest.py:33: in postgres_dsn21857 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21858 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21859/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21860 return next(self.gen)21861 ^^^^^^^^^^^^^^21862_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2186321864tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21865dbname = 'orchestrator'2186621867 @contextlib.contextmanager21868 def ephemeral_postgres(21869 tmp_path_factory: pytest.TempPathFactory, dbname: str21870 ) -> Iterator[str]:21871 """Throwaway Postgres on a unix socket with migrations applied."""21872 datadir = tmp_path_factory.mktemp("pgdata")21873 sockdir = tmp_path_factory.mktemp("pgsock")21874 subprocess.run( # noqa: S60321875 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21876 check=True,21877 capture_output=True,21878 )21879 proc = subprocess.Popen( # noqa: S60321880 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21881 stdout=subprocess.DEVNULL,21882 stderr=subprocess.DEVNULL,21883 )21884 try:21885 deadline = time.monotonic() + 3021886 while (21887 subprocess.run( # noqa: S60321888 ["pg_isready", "-h", str(sockdir), "-U", "test"],21889 check=False,21890 capture_output=True,21891 ).returncode21892 != 021893 ):21894 # The socket appears before recovery finishes; createdb would21895 # fail with "the database system is starting up".21896 if time.monotonic() > deadline:21897 msg = "postgres did not start"21898> raise RuntimeError(msg)21899E RuntimeError: postgres did not start2190021901nixbot/tests/support.py:319: RuntimeError21902__ ERROR at setup of test_tag_reusing_deployed_build_delivers_its_own_effects __21903[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142190421905self = <Coroutine test_tag_reusing_deployed_build_delivers_its_own_effects>2190621907 def setup(self) -> None:21908 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21909 if runner_fixture_id not in self.fixturenames:21910 self.fixturenames.append(runner_fixture_id)21911 # When loop factories are configured, resolve the loop factory21912 # fixture early so that a factory variant change cascades cache21913 # invalidation before any async fixture checks its cache.21914 hook_caller = self.config.hook.pytest_asyncio_loop_factories21915 if hook_caller.get_hookimpls():21916 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21917> return super().setup()21918 ^^^^^^^^^^^^^^^2191921920/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21921_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21922nixbot/tests/conftest.py:33: in postgres_dsn21923 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21924 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21925/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21926 return next(self.gen)21927 ^^^^^^^^^^^^^^21928_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2192921930tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21931dbname = 'orchestrator'2193221933 @contextlib.contextmanager21934 def ephemeral_postgres(21935 tmp_path_factory: pytest.TempPathFactory, dbname: str21936 ) -> Iterator[str]:21937 """Throwaway Postgres on a unix socket with migrations applied."""21938 datadir = tmp_path_factory.mktemp("pgdata")21939 sockdir = tmp_path_factory.mktemp("pgsock")21940 subprocess.run( # noqa: S60321941 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],21942 check=True,21943 capture_output=True,21944 )21945 proc = subprocess.Popen( # noqa: S60321946 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],21947 stdout=subprocess.DEVNULL,21948 stderr=subprocess.DEVNULL,21949 )21950 try:21951 deadline = time.monotonic() + 3021952 while (21953 subprocess.run( # noqa: S60321954 ["pg_isready", "-h", str(sockdir), "-U", "test"],21955 check=False,21956 capture_output=True,21957 ).returncode21958 != 021959 ):21960 # The socket appears before recovery finishes; createdb would21961 # fail with "the database system is starting up".21962 if time.monotonic() > deadline:21963 msg = "postgres did not start"21964> raise RuntimeError(msg)21965E RuntimeError: postgres did not start2196621967nixbot/tests/support.py:319: RuntimeError21968__ ERROR at setup of test_tag_attached_to_in_flight_build_delivers_on_success __21969[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142197021971self = <Coroutine test_tag_attached_to_in_flight_build_delivers_on_success>2197221973 def setup(self) -> None:21974 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"21975 if runner_fixture_id not in self.fixturenames:21976 self.fixturenames.append(runner_fixture_id)21977 # When loop factories are configured, resolve the loop factory21978 # fixture early so that a factory variant change cascades cache21979 # invalidation before any async fixture checks its cache.21980 hook_caller = self.config.hook.pytest_asyncio_loop_factories21981 if hook_caller.get_hookimpls():21982 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)21983> return super().setup()21984 ^^^^^^^^^^^^^^^2198521986/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 21987_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21988nixbot/tests/conftest.py:33: in postgres_dsn21989 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:21990 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^21991/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__21992 return next(self.gen)21993 ^^^^^^^^^^^^^^21994_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2199521996tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')21997dbname = 'orchestrator'2199821999 @contextlib.contextmanager22000 def ephemeral_postgres(22001 tmp_path_factory: pytest.TempPathFactory, dbname: str22002 ) -> Iterator[str]:22003 """Throwaway Postgres on a unix socket with migrations applied."""22004 datadir = tmp_path_factory.mktemp("pgdata")22005 sockdir = tmp_path_factory.mktemp("pgsock")22006 subprocess.run( # noqa: S60322007 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22008 check=True,22009 capture_output=True,22010 )22011 proc = subprocess.Popen( # noqa: S60322012 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22013 stdout=subprocess.DEVNULL,22014 stderr=subprocess.DEVNULL,22015 )22016 try:22017 deadline = time.monotonic() + 3022018 while (22019 subprocess.run( # noqa: S60322020 ["pg_isready", "-h", str(sockdir), "-U", "test"],22021 check=False,22022 capture_output=True,22023 ).returncode22024 != 022025 ):22026 # The socket appears before recovery finishes; createdb would22027 # fail with "the database system is starting up".22028 if time.monotonic() > deadline:22029 msg = "postgres did not start"22030> raise RuntimeError(msg)22031E RuntimeError: postgres did not start2203222033nixbot/tests/support.py:319: RuntimeError22034______ ERROR at setup of test_restart_of_gated_build_settles_effect_rows _______22035[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142203622037self = <Coroutine test_restart_of_gated_build_settles_effect_rows>2203822039 def setup(self) -> None:22040 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22041 if runner_fixture_id not in self.fixturenames:22042 self.fixturenames.append(runner_fixture_id)22043 # When loop factories are configured, resolve the loop factory22044 # fixture early so that a factory variant change cascades cache22045 # invalidation before any async fixture checks its cache.22046 hook_caller = self.config.hook.pytest_asyncio_loop_factories22047 if hook_caller.get_hookimpls():22048 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22049> return super().setup()22050 ^^^^^^^^^^^^^^^2205122052/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22053_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22054nixbot/tests/conftest.py:33: in postgres_dsn22055 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22056 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22057/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22058 return next(self.gen)22059 ^^^^^^^^^^^^^^22060_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2206122062tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22063dbname = 'orchestrator'2206422065 @contextlib.contextmanager22066 def ephemeral_postgres(22067 tmp_path_factory: pytest.TempPathFactory, dbname: str22068 ) -> Iterator[str]:22069 """Throwaway Postgres on a unix socket with migrations applied."""22070 datadir = tmp_path_factory.mktemp("pgdata")22071 sockdir = tmp_path_factory.mktemp("pgsock")22072 subprocess.run( # noqa: S60322073 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22074 check=True,22075 capture_output=True,22076 )22077 proc = subprocess.Popen( # noqa: S60322078 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22079 stdout=subprocess.DEVNULL,22080 stderr=subprocess.DEVNULL,22081 )22082 try:22083 deadline = time.monotonic() + 3022084 while (22085 subprocess.run( # noqa: S60322086 ["pg_isready", "-h", str(sockdir), "-U", "test"],22087 check=False,22088 capture_output=True,22089 ).returncode22090 != 022091 ):22092 # The socket appears before recovery finishes; createdb would22093 # fail with "the database system is starting up".22094 if time.monotonic() > deadline:22095 msg = "postgres did not start"22096> raise RuntimeError(msg)22097E RuntimeError: postgres did not start2209822099nixbot/tests/support.py:319: RuntimeError22100________ ERROR at setup of test_restart_build_drops_queued_effect_items ________22101[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142210222103self = <Coroutine test_restart_build_drops_queued_effect_items>2210422105 def setup(self) -> None:22106 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22107 if runner_fixture_id not in self.fixturenames:22108 self.fixturenames.append(runner_fixture_id)22109 # When loop factories are configured, resolve the loop factory22110 # fixture early so that a factory variant change cascades cache22111 # invalidation before any async fixture checks its cache.22112 hook_caller = self.config.hook.pytest_asyncio_loop_factories22113 if hook_caller.get_hookimpls():22114 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22115> return super().setup()22116 ^^^^^^^^^^^^^^^2211722118/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22119_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22120nixbot/tests/conftest.py:33: in postgres_dsn22121 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22122 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22123/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22124 return next(self.gen)22125 ^^^^^^^^^^^^^^22126_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2212722128tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22129dbname = 'orchestrator'2213022131 @contextlib.contextmanager22132 def ephemeral_postgres(22133 tmp_path_factory: pytest.TempPathFactory, dbname: str22134 ) -> Iterator[str]:22135 """Throwaway Postgres on a unix socket with migrations applied."""22136 datadir = tmp_path_factory.mktemp("pgdata")22137 sockdir = tmp_path_factory.mktemp("pgsock")22138 subprocess.run( # noqa: S60322139 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22140 check=True,22141 capture_output=True,22142 )22143 proc = subprocess.Popen( # noqa: S60322144 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22145 stdout=subprocess.DEVNULL,22146 stderr=subprocess.DEVNULL,22147 )22148 try:22149 deadline = time.monotonic() + 3022150 while (22151 subprocess.run( # noqa: S60322152 ["pg_isready", "-h", str(sockdir), "-U", "test"],22153 check=False,22154 capture_output=True,22155 ).returncode22156 != 022157 ):22158 # The socket appears before recovery finishes; createdb would22159 # fail with "the database system is starting up".22160 if time.monotonic() > deadline:22161 msg = "postgres did not start"22162> raise RuntimeError(msg)22163E RuntimeError: postgres did not start2216422165nixbot/tests/support.py:319: RuntimeError22166___ ERROR at setup of test_restart_effects_after_pr_attach_keeps_effects_ref ___22167[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142216822169self = <Coroutine test_restart_effects_after_pr_attach_keeps_effects_ref>2217022171 def setup(self) -> None:22172 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22173 if runner_fixture_id not in self.fixturenames:22174 self.fixturenames.append(runner_fixture_id)22175 # When loop factories are configured, resolve the loop factory22176 # fixture early so that a factory variant change cascades cache22177 # invalidation before any async fixture checks its cache.22178 hook_caller = self.config.hook.pytest_asyncio_loop_factories22179 if hook_caller.get_hookimpls():22180 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22181> return super().setup()22182 ^^^^^^^^^^^^^^^2218322184/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22185_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22186nixbot/tests/conftest.py:33: in postgres_dsn22187 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22188 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22189/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22190 return next(self.gen)22191 ^^^^^^^^^^^^^^22192_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2219322194tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22195dbname = 'orchestrator'2219622197 @contextlib.contextmanager22198 def ephemeral_postgres(22199 tmp_path_factory: pytest.TempPathFactory, dbname: str22200 ) -> Iterator[str]:22201 """Throwaway Postgres on a unix socket with migrations applied."""22202 datadir = tmp_path_factory.mktemp("pgdata")22203 sockdir = tmp_path_factory.mktemp("pgsock")22204 subprocess.run( # noqa: S60322205 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22206 check=True,22207 capture_output=True,22208 )22209 proc = subprocess.Popen( # noqa: S60322210 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22211 stdout=subprocess.DEVNULL,22212 stderr=subprocess.DEVNULL,22213 )22214 try:22215 deadline = time.monotonic() + 3022216 while (22217 subprocess.run( # noqa: S60322218 ["pg_isready", "-h", str(sockdir), "-U", "test"],22219 check=False,22220 capture_output=True,22221 ).returncode22222 != 022223 ):22224 # The socket appears before recovery finishes; createdb would22225 # fail with "the database system is starting up".22226 if time.monotonic() > deadline:22227 msg = "postgres did not start"22228> raise RuntimeError(msg)22229E RuntimeError: postgres did not start2223022231nixbot/tests/support.py:319: RuntimeError22232_______ ERROR at setup of test_gated_restart_then_allowed_reuse_deploys ________22233[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142223422235self = <Coroutine test_gated_restart_then_allowed_reuse_deploys>2223622237 def setup(self) -> None:22238 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22239 if runner_fixture_id not in self.fixturenames:22240 self.fixturenames.append(runner_fixture_id)22241 # When loop factories are configured, resolve the loop factory22242 # fixture early so that a factory variant change cascades cache22243 # invalidation before any async fixture checks its cache.22244 hook_caller = self.config.hook.pytest_asyncio_loop_factories22245 if hook_caller.get_hookimpls():22246 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22247> return super().setup()22248 ^^^^^^^^^^^^^^^2224922250/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22251_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22252nixbot/tests/conftest.py:33: in postgres_dsn22253 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22254 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22255/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22256 return next(self.gen)22257 ^^^^^^^^^^^^^^22258_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2225922260tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22261dbname = 'orchestrator'2226222263 @contextlib.contextmanager22264 def ephemeral_postgres(22265 tmp_path_factory: pytest.TempPathFactory, dbname: str22266 ) -> Iterator[str]:22267 """Throwaway Postgres on a unix socket with migrations applied."""22268 datadir = tmp_path_factory.mktemp("pgdata")22269 sockdir = tmp_path_factory.mktemp("pgsock")22270 subprocess.run( # noqa: S60322271 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22272 check=True,22273 capture_output=True,22274 )22275 proc = subprocess.Popen( # noqa: S60322276 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22277 stdout=subprocess.DEVNULL,22278 stderr=subprocess.DEVNULL,22279 )22280 try:22281 deadline = time.monotonic() + 3022282 while (22283 subprocess.run( # noqa: S60322284 ["pg_isready", "-h", str(sockdir), "-U", "test"],22285 check=False,22286 capture_output=True,22287 ).returncode22288 != 022289 ):22290 # The socket appears before recovery finishes; createdb would22291 # fail with "the database system is starting up".22292 if time.monotonic() > deadline:22293 msg = "postgres did not start"22294> raise RuntimeError(msg)22295E RuntimeError: postgres did not start2229622297nixbot/tests/support.py:319: RuntimeError22298_____ ERROR at setup of test_rerun_single_effect_takes_pending_dependents ______22299[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142230022301self = <Coroutine test_rerun_single_effect_takes_pending_dependents>2230222303 def setup(self) -> None:22304 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22305 if runner_fixture_id not in self.fixturenames:22306 self.fixturenames.append(runner_fixture_id)22307 # When loop factories are configured, resolve the loop factory22308 # fixture early so that a factory variant change cascades cache22309 # invalidation before any async fixture checks its cache.22310 hook_caller = self.config.hook.pytest_asyncio_loop_factories22311 if hook_caller.get_hookimpls():22312 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22313> return super().setup()22314 ^^^^^^^^^^^^^^^2231522316/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22317_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22318nixbot/tests/conftest.py:33: in postgres_dsn22319 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22320 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22321/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22322 return next(self.gen)22323 ^^^^^^^^^^^^^^22324_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2232522326tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22327dbname = 'orchestrator'2232822329 @contextlib.contextmanager22330 def ephemeral_postgres(22331 tmp_path_factory: pytest.TempPathFactory, dbname: str22332 ) -> Iterator[str]:22333 """Throwaway Postgres on a unix socket with migrations applied."""22334 datadir = tmp_path_factory.mktemp("pgdata")22335 sockdir = tmp_path_factory.mktemp("pgsock")22336 subprocess.run( # noqa: S60322337 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22338 check=True,22339 capture_output=True,22340 )22341 proc = subprocess.Popen( # noqa: S60322342 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22343 stdout=subprocess.DEVNULL,22344 stderr=subprocess.DEVNULL,22345 )22346 try:22347 deadline = time.monotonic() + 3022348 while (22349 subprocess.run( # noqa: S60322350 ["pg_isready", "-h", str(sockdir), "-U", "test"],22351 check=False,22352 capture_output=True,22353 ).returncode22354 != 022355 ):22356 # The socket appears before recovery finishes; createdb would22357 # fail with "the database system is starting up".22358 if time.monotonic() > deadline:22359 msg = "postgres did not start"22360> raise RuntimeError(msg)22361E RuntimeError: postgres did not start2236222363nixbot/tests/support.py:319: RuntimeError22364______ ERROR at setup of test_reuse_replays_effect_statuses_to_new_commit ______22365[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142236622367self = <Coroutine test_reuse_replays_effect_statuses_to_new_commit>2236822369 def setup(self) -> None:22370 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22371 if runner_fixture_id not in self.fixturenames:22372 self.fixturenames.append(runner_fixture_id)22373 # When loop factories are configured, resolve the loop factory22374 # fixture early so that a factory variant change cascades cache22375 # invalidation before any async fixture checks its cache.22376 hook_caller = self.config.hook.pytest_asyncio_loop_factories22377 if hook_caller.get_hookimpls():22378 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22379> return super().setup()22380 ^^^^^^^^^^^^^^^2238122382/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22383_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22384nixbot/tests/conftest.py:33: in postgres_dsn22385 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22386 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22387/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22388 return next(self.gen)22389 ^^^^^^^^^^^^^^22390_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2239122392tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22393dbname = 'orchestrator'2239422395 @contextlib.contextmanager22396 def ephemeral_postgres(22397 tmp_path_factory: pytest.TempPathFactory, dbname: str22398 ) -> Iterator[str]:22399 """Throwaway Postgres on a unix socket with migrations applied."""22400 datadir = tmp_path_factory.mktemp("pgdata")22401 sockdir = tmp_path_factory.mktemp("pgsock")22402 subprocess.run( # noqa: S60322403 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22404 check=True,22405 capture_output=True,22406 )22407 proc = subprocess.Popen( # noqa: S60322408 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22409 stdout=subprocess.DEVNULL,22410 stderr=subprocess.DEVNULL,22411 )22412 try:22413 deadline = time.monotonic() + 3022414 while (22415 subprocess.run( # noqa: S60322416 ["pg_isready", "-h", str(sockdir), "-U", "test"],22417 check=False,22418 capture_output=True,22419 ).returncode22420 != 022421 ):22422 # The socket appears before recovery finishes; createdb would22423 # fail with "the database system is starting up".22424 if time.monotonic() > deadline:22425 msg = "postgres did not start"22426> raise RuntimeError(msg)22427E RuntimeError: postgres did not start2242822429nixbot/tests/support.py:319: RuntimeError22430____ ERROR at setup of test_attach_to_already_terminal_build_replays_status ____22431[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142243222433self = <Coroutine test_attach_to_already_terminal_build_replays_status>2243422435 def setup(self) -> None:22436 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22437 if runner_fixture_id not in self.fixturenames:22438 self.fixturenames.append(runner_fixture_id)22439 # When loop factories are configured, resolve the loop factory22440 # fixture early so that a factory variant change cascades cache22441 # invalidation before any async fixture checks its cache.22442 hook_caller = self.config.hook.pytest_asyncio_loop_factories22443 if hook_caller.get_hookimpls():22444 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22445> return super().setup()22446 ^^^^^^^^^^^^^^^2244722448/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22449_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22450nixbot/tests/conftest.py:33: in postgres_dsn22451 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22452 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22453/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22454 return next(self.gen)22455 ^^^^^^^^^^^^^^22456_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2245722458tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22459dbname = 'orchestrator'2246022461 @contextlib.contextmanager22462 def ephemeral_postgres(22463 tmp_path_factory: pytest.TempPathFactory, dbname: str22464 ) -> Iterator[str]:22465 """Throwaway Postgres on a unix socket with migrations applied."""22466 datadir = tmp_path_factory.mktemp("pgdata")22467 sockdir = tmp_path_factory.mktemp("pgsock")22468 subprocess.run( # noqa: S60322469 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22470 check=True,22471 capture_output=True,22472 )22473 proc = subprocess.Popen( # noqa: S60322474 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22475 stdout=subprocess.DEVNULL,22476 stderr=subprocess.DEVNULL,22477 )22478 try:22479 deadline = time.monotonic() + 3022480 while (22481 subprocess.run( # noqa: S60322482 ["pg_isready", "-h", str(sockdir), "-U", "test"],22483 check=False,22484 capture_output=True,22485 ).returncode22486 != 022487 ):22488 # The socket appears before recovery finishes; createdb would22489 # fail with "the database system is starting up".22490 if time.monotonic() > deadline:22491 msg = "postgres did not start"22492> raise RuntimeError(msg)22493E RuntimeError: postgres did not start2249422495nixbot/tests/support.py:319: RuntimeError22496___ ERROR at setup of test_cancel_during_eval_resolves_linked_eval_contexts ____22497[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142249822499self = <Coroutine test_cancel_during_eval_resolves_linked_eval_contexts>2250022501 def setup(self) -> None:22502 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22503 if runner_fixture_id not in self.fixturenames:22504 self.fixturenames.append(runner_fixture_id)22505 # When loop factories are configured, resolve the loop factory22506 # fixture early so that a factory variant change cascades cache22507 # invalidation before any async fixture checks its cache.22508 hook_caller = self.config.hook.pytest_asyncio_loop_factories22509 if hook_caller.get_hookimpls():22510 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22511> return super().setup()22512 ^^^^^^^^^^^^^^^2251322514/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22515_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22516nixbot/tests/conftest.py:33: in postgres_dsn22517 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22518 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22519/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22520 return next(self.gen)22521 ^^^^^^^^^^^^^^22522_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2252322524tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22525dbname = 'orchestrator'2252622527 @contextlib.contextmanager22528 def ephemeral_postgres(22529 tmp_path_factory: pytest.TempPathFactory, dbname: str22530 ) -> Iterator[str]:22531 """Throwaway Postgres on a unix socket with migrations applied."""22532 datadir = tmp_path_factory.mktemp("pgdata")22533 sockdir = tmp_path_factory.mktemp("pgsock")22534 subprocess.run( # noqa: S60322535 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22536 check=True,22537 capture_output=True,22538 )22539 proc = subprocess.Popen( # noqa: S60322540 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22541 stdout=subprocess.DEVNULL,22542 stderr=subprocess.DEVNULL,22543 )22544 try:22545 deadline = time.monotonic() + 3022546 while (22547 subprocess.run( # noqa: S60322548 ["pg_isready", "-h", str(sockdir), "-U", "test"],22549 check=False,22550 capture_output=True,22551 ).returncode22552 != 022553 ):22554 # The socket appears before recovery finishes; createdb would22555 # fail with "the database system is starting up".22556 if time.monotonic() > deadline:22557 msg = "postgres did not start"22558> raise RuntimeError(msg)22559E RuntimeError: postgres did not start2256022561nixbot/tests/support.py:319: RuntimeError22562____ ERROR at setup of test_effect_log_does_not_collide_with_attribute_log _____22563[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142256422565self = <Coroutine test_effect_log_does_not_collide_with_attribute_log>2256622567 def setup(self) -> None:22568 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22569 if runner_fixture_id not in self.fixturenames:22570 self.fixturenames.append(runner_fixture_id)22571 # When loop factories are configured, resolve the loop factory22572 # fixture early so that a factory variant change cascades cache22573 # invalidation before any async fixture checks its cache.22574 hook_caller = self.config.hook.pytest_asyncio_loop_factories22575 if hook_caller.get_hookimpls():22576 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22577> return super().setup()22578 ^^^^^^^^^^^^^^^2257922580/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22581_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22582nixbot/tests/conftest.py:33: in postgres_dsn22583 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22584 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22585/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22586 return next(self.gen)22587 ^^^^^^^^^^^^^^22588_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2258922590tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22591dbname = 'orchestrator'2259222593 @contextlib.contextmanager22594 def ephemeral_postgres(22595 tmp_path_factory: pytest.TempPathFactory, dbname: str22596 ) -> Iterator[str]:22597 """Throwaway Postgres on a unix socket with migrations applied."""22598 datadir = tmp_path_factory.mktemp("pgdata")22599 sockdir = tmp_path_factory.mktemp("pgsock")22600 subprocess.run( # noqa: S60322601 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22602 check=True,22603 capture_output=True,22604 )22605 proc = subprocess.Popen( # noqa: S60322606 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22607 stdout=subprocess.DEVNULL,22608 stderr=subprocess.DEVNULL,22609 )22610 try:22611 deadline = time.monotonic() + 3022612 while (22613 subprocess.run( # noqa: S60322614 ["pg_isready", "-h", str(sockdir), "-U", "test"],22615 check=False,22616 capture_output=True,22617 ).returncode22618 != 022619 ):22620 # The socket appears before recovery finishes; createdb would22621 # fail with "the database system is starting up".22622 if time.monotonic() > deadline:22623 msg = "postgres did not start"22624> raise RuntimeError(msg)22625E RuntimeError: postgres did not start2262622627nixbot/tests/support.py:319: RuntimeError22628__________ ERROR at setup of test_post_process_paths_are_forge_scoped __________22629[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142263022631self = <Coroutine test_post_process_paths_are_forge_scoped>2263222633 def setup(self) -> None:22634 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22635 if runner_fixture_id not in self.fixturenames:22636 self.fixturenames.append(runner_fixture_id)22637 # When loop factories are configured, resolve the loop factory22638 # fixture early so that a factory variant change cascades cache22639 # invalidation before any async fixture checks its cache.22640 hook_caller = self.config.hook.pytest_asyncio_loop_factories22641 if hook_caller.get_hookimpls():22642 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22643> return super().setup()22644 ^^^^^^^^^^^^^^^2264522646/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22647_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22648nixbot/tests/conftest.py:33: in postgres_dsn22649 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22650 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22651/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22652 return next(self.gen)22653 ^^^^^^^^^^^^^^22654_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2265522656tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22657dbname = 'orchestrator'2265822659 @contextlib.contextmanager22660 def ephemeral_postgres(22661 tmp_path_factory: pytest.TempPathFactory, dbname: str22662 ) -> Iterator[str]:22663 """Throwaway Postgres on a unix socket with migrations applied."""22664 datadir = tmp_path_factory.mktemp("pgdata")22665 sockdir = tmp_path_factory.mktemp("pgsock")22666 subprocess.run( # noqa: S60322667 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22668 check=True,22669 capture_output=True,22670 )22671 proc = subprocess.Popen( # noqa: S60322672 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22673 stdout=subprocess.DEVNULL,22674 stderr=subprocess.DEVNULL,22675 )22676 try:22677 deadline = time.monotonic() + 3022678 while (22679 subprocess.run( # noqa: S60322680 ["pg_isready", "-h", str(sockdir), "-U", "test"],22681 check=False,22682 capture_output=True,22683 ).returncode22684 != 022685 ):22686 # The socket appears before recovery finishes; createdb would22687 # fail with "the database system is starting up".22688 if time.monotonic() > deadline:22689 msg = "postgres did not start"22690> raise RuntimeError(msg)22691E RuntimeError: postgres did not start2269222693nixbot/tests/support.py:319: RuntimeError22694_______ ERROR at setup of test_effects_phase_error_keeps_succeeded_build _______22695[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142269622697self = <Coroutine test_effects_phase_error_keeps_succeeded_build>2269822699 def setup(self) -> None:22700 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22701 if runner_fixture_id not in self.fixturenames:22702 self.fixturenames.append(runner_fixture_id)22703 # When loop factories are configured, resolve the loop factory22704 # fixture early so that a factory variant change cascades cache22705 # invalidation before any async fixture checks its cache.22706 hook_caller = self.config.hook.pytest_asyncio_loop_factories22707 if hook_caller.get_hookimpls():22708 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22709> return super().setup()22710 ^^^^^^^^^^^^^^^2271122712/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22713_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22714nixbot/tests/conftest.py:33: in postgres_dsn22715 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22716 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22717/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22718 return next(self.gen)22719 ^^^^^^^^^^^^^^22720_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2272122722tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22723dbname = 'orchestrator'2272422725 @contextlib.contextmanager22726 def ephemeral_postgres(22727 tmp_path_factory: pytest.TempPathFactory, dbname: str22728 ) -> Iterator[str]:22729 """Throwaway Postgres on a unix socket with migrations applied."""22730 datadir = tmp_path_factory.mktemp("pgdata")22731 sockdir = tmp_path_factory.mktemp("pgsock")22732 subprocess.run( # noqa: S60322733 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22734 check=True,22735 capture_output=True,22736 )22737 proc = subprocess.Popen( # noqa: S60322738 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22739 stdout=subprocess.DEVNULL,22740 stderr=subprocess.DEVNULL,22741 )22742 try:22743 deadline = time.monotonic() + 3022744 while (22745 subprocess.run( # noqa: S60322746 ["pg_isready", "-h", str(sockdir), "-U", "test"],22747 check=False,22748 capture_output=True,22749 ).returncode22750 != 022751 ):22752 # The socket appears before recovery finishes; createdb would22753 # fail with "the database system is starting up".22754 if time.monotonic() > deadline:22755 msg = "postgres did not start"22756> raise RuntimeError(msg)22757E RuntimeError: postgres did not start2275822759nixbot/tests/support.py:319: RuntimeError22760_____ ERROR at setup of test_reuse_post_process_error_still_reports_status _____22761[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142276222763self = <Coroutine test_reuse_post_process_error_still_reports_status>2276422765 def setup(self) -> None:22766 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22767 if runner_fixture_id not in self.fixturenames:22768 self.fixturenames.append(runner_fixture_id)22769 # When loop factories are configured, resolve the loop factory22770 # fixture early so that a factory variant change cascades cache22771 # invalidation before any async fixture checks its cache.22772 hook_caller = self.config.hook.pytest_asyncio_loop_factories22773 if hook_caller.get_hookimpls():22774 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22775> return super().setup()22776 ^^^^^^^^^^^^^^^2277722778/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22779_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22780nixbot/tests/conftest.py:33: in postgres_dsn22781 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22782 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22783/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22784 return next(self.gen)22785 ^^^^^^^^^^^^^^22786_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2278722788tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22789dbname = 'orchestrator'2279022791 @contextlib.contextmanager22792 def ephemeral_postgres(22793 tmp_path_factory: pytest.TempPathFactory, dbname: str22794 ) -> Iterator[str]:22795 """Throwaway Postgres on a unix socket with migrations applied."""22796 datadir = tmp_path_factory.mktemp("pgdata")22797 sockdir = tmp_path_factory.mktemp("pgsock")22798 subprocess.run( # noqa: S60322799 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22800 check=True,22801 capture_output=True,22802 )22803 proc = subprocess.Popen( # noqa: S60322804 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22805 stdout=subprocess.DEVNULL,22806 stderr=subprocess.DEVNULL,22807 )22808 try:22809 deadline = time.monotonic() + 3022810 while (22811 subprocess.run( # noqa: S60322812 ["pg_isready", "-h", str(sockdir), "-U", "test"],22813 check=False,22814 capture_output=True,22815 ).returncode22816 != 022817 ):22818 # The socket appears before recovery finishes; createdb would22819 # fail with "the database system is starting up".22820 if time.monotonic() > deadline:22821 msg = "postgres did not start"22822> raise RuntimeError(msg)22823E RuntimeError: postgres did not start2282422825nixbot/tests/support.py:319: RuntimeError22826____ ERROR at setup of test_reuse_with_missing_output_still_post_processes _____22827[gw1] darwin -- Python 3.14.6 /nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/bin/python3.142282822829self = <Coroutine test_reuse_with_missing_output_still_post_processes>2283022831 def setup(self) -> None:22832 runner_fixture_id = f"_{self._loop_scope}_scoped_runner"22833 if runner_fixture_id not in self.fixturenames:22834 self.fixturenames.append(runner_fixture_id)22835 # When loop factories are configured, resolve the loop factory22836 # fixture early so that a factory variant change cascades cache22837 # invalidation before any async fixture checks its cache.22838 hook_caller = self.config.hook.pytest_asyncio_loop_factories22839 if hook_caller.get_hookimpls():22840 _ = self._request.getfixturevalue(_asyncio_loop_factory.__name__)22841> return super().setup()22842 ^^^^^^^^^^^^^^^2284322844/nix/store/4fdzail6axj09flzabahq3f4b2ws3i4j-python3.14-pytest-asyncio-1.4.0/lib/python3.14/site-packages/pytest_asyncio/plugin.py:558: 22845_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 22846nixbot/tests/conftest.py:33: in postgres_dsn22847 with ephemeral_postgres(tmp_path_factory, dbname) as dsn:22848 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^22849/nix/store/i9q7np6h9bwa3ps6937lpwarkqw0izbf-python3-3.14.6/lib/python3.14/contextlib.py:141: in __enter__22850 return next(self.gen)22851 ^^^^^^^^^^^^^^22852_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2285322854tmp_path_factory = TempPathFactory(_given_basetemp=PosixPath('/private/var/tb/7/scratch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/p...atch/2b789fb6a6081568/build/pytest-of-_tribuchetbld7/pytest-0/popen-gw1'), _retention_count=3, _retention_policy='all')22855dbname = 'orchestrator'2285622857 @contextlib.contextmanager22858 def ephemeral_postgres(22859 tmp_path_factory: pytest.TempPathFactory, dbname: str22860 ) -> Iterator[str]:22861 """Throwaway Postgres on a unix socket with migrations applied."""22862 datadir = tmp_path_factory.mktemp("pgdata")22863 sockdir = tmp_path_factory.mktemp("pgsock")22864 subprocess.run( # noqa: S60322865 ["initdb", "-D", str(datadir), "-U", "test", "--auth=trust"],22866 check=True,22867 capture_output=True,22868 )22869 proc = subprocess.Popen( # noqa: S60322870 ["postgres", "-D", str(datadir), "-k", str(sockdir), "-c", "listen_addresses="],22871 stdout=subprocess.DEVNULL,22872 stderr=subprocess.DEVNULL,22873 )22874 try:22875 deadline = time.monotonic() + 3022876 while (22877 subprocess.run( # noqa: S60322878 ["pg_isready", "-h", str(sockdir), "-U", "test"],22879 check=False,22880 capture_output=True,22881 ).returncode22882 != 022883 ):22884 # The socket appears before recovery finishes; createdb would22885 # fail with "the database system is starting up".22886 if time.monotonic() > deadline:22887 msg = "postgres did not start"22888> raise RuntimeError(msg)22889E RuntimeError: postgres did not start2289022891nixbot/tests/support.py:319: RuntimeError22892=========================== short test summary info ============================22893ERROR nixbot/tests/test_control.py::test_control_buttons_hidden_without_permission22894ERROR nixbot/tests/test_web.py::test_html_error_pages - RuntimeError: postgre...22895ERROR nixbot/tests/test_db.py::test_migrations_idempotent - RuntimeError: pos...22896ERROR nixbot/tests/test_control.py::test_admin_can_restart_and_cancel - Runti...22897ERROR nixbot/tests/test_web.py::test_api_strips_ansi_from_errors - RuntimeErr...22898ERROR nixbot/tests/test_control.py::test_pr_author_can_control_own_pr - Runti...22899ERROR nixbot/tests/test_db.py::test_failed_migration_error_not_masked - Runti...22900ERROR nixbot/tests/test_web.py::test_homepage - RuntimeError: postgres did no...22901ERROR nixbot/tests/test_web.py::test_project_page_with_filters - RuntimeError...22902ERROR nixbot/tests/test_db.py::test_edited_migration_rejected - RuntimeError:...22903ERROR nixbot/tests/test_web.py::test_status_badge_urls - RuntimeError: postgr...22904ERROR nixbot/tests/test_web.py::test_all_digit_branch_is_filterable - Runtime...22905ERROR nixbot/tests/test_control.py::test_repo_writer_can_control_without_admin_or_authorship22906ERROR nixbot/tests/test_db.py::test_catchup_migration_repairs_pre_0033_schema22907ERROR nixbot/tests/test_web.py::test_build_page - RuntimeError: postgres did ...22908ERROR nixbot/tests/test_control.py::test_approve_pr_requires_writer_not_author22909ERROR nixbot/tests/test_web.py::test_attribute_rows_fragment_paginates - Runt...22910ERROR nixbot/tests/test_db.py::test_huge_attr_name_does_not_break_notify_trigger22911ERROR nixbot/tests/test_control.py::test_cancel_all_requires_admin - RuntimeE...22912ERROR nixbot/tests/test_web.py::test_build_page_shows_eval_warning_groups - R...22913ERROR nixbot/tests/test_control.py::test_cancel_all_cancels_pending_and_running_builds22914ERROR nixbot/tests/test_db.py::test_schema_constraints - RuntimeError: postgr...22915ERROR nixbot/tests/test_web.py::test_build_page_shows_per_attribute_eval_warnings22916ERROR nixbot/tests/test_control.py::test_cancel_all_button_admin_only - Runti...22917ERROR nixbot/tests/test_web.py::test_build_page_renders_ansi_in_error - Runti...22918ERROR nixbot/tests/test_control.py::test_csrf_cross_origin_rejected - Runtime...22919ERROR nixbot/tests/test_db.py::test_check_run_store_round_trip - RuntimeError...22920ERROR nixbot/tests/test_web.py::test_running_build_shows_progress - RuntimeEr...22921ERROR nixbot/tests/test_control.py::test_restart_single_attribute - RuntimeEr...22922ERROR nixbot/tests/test_web.py::test_build_page_live_markers - RuntimeError: ...22923ERROR nixbot/tests/test_control.py::test_restart_unknown_attribute_is_404 - R...22924ERROR nixbot/tests/test_db.py::test_failed_status_store_component - RuntimeEr...22925ERROR nixbot/tests/test_web.py::test_attribute_history - RuntimeError: postgr...22926ERROR nixbot/tests/test_control.py::test_restart_attribute_with_special_chars_redirects_encoded22927ERROR nixbot/tests/test_web.py::test_overview_ignores_pr_branches - RuntimeEr...22928ERROR nixbot/tests/test_db.py::test_failed_build_cache_component - RuntimeErr...22929ERROR nixbot/tests/test_control.py::test_admin_project_toggle - RuntimeError:...22930ERROR nixbot/tests/test_web.py::test_pending_build_shows_eval_blocker - Runti...22931ERROR nixbot/tests/test_control.py::test_toggle_activates_newly_enabled_project22932ERROR nixbot/tests/test_db.py::test_get_or_create_build_concurrent_no_duplicates22933ERROR nixbot/tests/test_web.py::test_project_filter_escapes_like_wildcards - ...22934ERROR nixbot/tests/test_control.py::test_run_schedule - RuntimeError: postgre...22935ERROR nixbot/tests/test_web.py::test_page_out_of_range_does_not_error - Runti...22936ERROR nixbot/tests/test_control.py::test_schedules_are_listed_on_the_effects_page22937ERROR nixbot/tests/test_db.py::test_commit_eval_result_atomic - RuntimeError:...22938ERROR nixbot/tests/test_web.py::test_activity_page - RuntimeError: postgres d...22939ERROR nixbot/tests/test_control.py::test_repo_refresh - RuntimeError: postgre...22940ERROR nixbot/tests/test_web.py::test_activity_no_sentinel_on_exact_page - Run...22941ERROR nixbot/tests/test_db.py::test_cancelled_build_not_reused - RuntimeError...22942ERROR nixbot/tests/test_control.py::test_api_enable_disable - RuntimeError: p...22943ERROR nixbot/tests/test_web.py::test_activity_rows_fragment_pagination - Runt...22944ERROR nixbot/tests/test_control.py::test_api_restart_and_cancel - RuntimeErro...22945ERROR nixbot/tests/test_web.py::test_project_rows_fragment_filters - RuntimeE...22946ERROR nixbot/tests/test_db.py::test_reuse_backfills_pr_fields - RuntimeError:...22947ERROR nixbot/tests/test_control.py::test_api_token_lifecycle - RuntimeError: ...22948ERROR nixbot/tests/test_web.py::test_metrics_are_gauges - RuntimeError: postg...22949ERROR nixbot/tests/test_db.py::test_reuse_by_other_pr_clears_both_identity_fields22950ERROR nixbot/tests/test_control.py::test_expired_api_tokens_pruned - RuntimeE...22951ERROR nixbot/tests/test_web.py::test_metrics_are_cached - RuntimeError: postg...22952ERROR nixbot/tests/test_control.py::test_token_creation_with_expiry - Runtime...22953ERROR nixbot/tests/test_web.py::test_static_urls_carry_content_version - Runt...22954ERROR nixbot/tests/test_visibility.py::test_anonymous_sees_public_only - Runt...22955ERROR nixbot/tests/test_db.py::test_branch_push_takes_over_reused_pr_build - ...22956ERROR nixbot/tests/test_cli.py::test_repo_list_and_toggle - RuntimeError: pos...22957ERROR nixbot/tests/test_control.py::test_proxy_user_can_manage_api_tokens - R...22958ERROR nixbot/tests/test_web.py::test_legacy_project_urls_redirect - RuntimeEr...22959ERROR nixbot/tests/test_forge.py::test_project_store_sync_and_legacy_import22960ERROR nixbot/tests/test_visibility.py::test_unauthorized_user_sees_public_only22961ERROR nixbot/tests/test_control.py::test_bearer_token_cannot_manage_api_tokens22962ERROR nixbot/tests/test_cli.py::test_build_list_and_view - RuntimeError: post...22963ERROR nixbot/tests/test_web.py::test_private_repo_public_badge_bypasses_session_visibility22964ERROR nixbot/tests/test_db.py::test_pr_does_not_capture_branch_push_build - R...22965ERROR nixbot/tests/test_visibility.py::test_authorized_user_sees_private - Ru...22966ERROR nixbot/tests/test_control.py::test_api_token_controls_build - RuntimeEr...22967ERROR nixbot/tests/test_cli.py::test_build_restart_cancel - RuntimeError: pos...22968ERROR nixbot/tests/test_web.py::test_legacy_redirect_hides_invisible_projects22969ERROR nixbot/tests/test_forge.py::test_legacy_import_runs_despite_pull_based_rows22970ERROR nixbot/tests/test_visibility.py::test_admin_sees_everything - RuntimeEr...22971ERROR nixbot/tests/test_db.py::test_complete_attribute_preserves_eval_outputs22972ERROR nixbot/tests/test_cli.py::test_log_summary_attr_and_drv - RuntimeError:...22973ERROR nixbot/tests/test_web.py::test_legacy_redirect_404s_on_ambiguous_owner_name22974ERROR nixbot/tests/test_control.py::test_build_service_composition - RuntimeE...22975ERROR nixbot/tests/test_visibility.py::test_admin_sees_disabled_repos_without_search22976ERROR nixbot/tests/test_forge.py::test_legacy_import_scopes_topics_per_forge22977ERROR nixbot/tests/test_cli.py::test_repo_and_build_inference - RuntimeError:...22978ERROR nixbot/tests/test_web.py::test_health_and_static - RuntimeError: postgr...22979ERROR nixbot/tests/test_visibility.py::test_non_admin_does_not_see_disabled_repos22980ERROR nixbot/tests/test_db.py::test_complete_attribute_marks_substituted_as_cached22981ERROR nixbot/tests/test_cli.py::test_auth_status - RuntimeError: postgres did...22982ERROR nixbot/tests/test_web.py::test_404s - RuntimeError: postgres did not start22983ERROR nixbot/tests/test_control.py::test_restart_removes_stale_logs - Runtime...22984ERROR nixbot/tests/test_visibility.py::test_api_token_sees_private - RuntimeE...22985ERROR nixbot/tests/test_forge.py::test_prune_missing_disabled_projects - Runt...22986ERROR nixbot/tests/test_visibility.py::test_admin_api_token_sees_private - Ru...22987ERROR nixbot/tests/test_db.py::test_complete_attribute_replaces_log_metadata22988ERROR nixbot/tests/test_control.py::test_restart_clears_failed_cache - Runtim...22989ERROR nixbot/tests/test_forge.py::test_project_store_sync_skips_unchanged_rows22990ERROR nixbot/tests/test_visibility.py::test_forge_repo_admins_can_toggle_their_repos22991ERROR nixbot/tests/test_web.py::test_log_viewer_and_raw - RuntimeError: postg...22992ERROR nixbot/tests/test_control.py::test_webhook_setup_shown_to_admin_only - ...22993ERROR nixbot/tests/test_db.py::test_record_attributes_persists_pending_rows_with_outputs22994ERROR nixbot/tests/test_visibility.py::test_forge_repo_writers_can_control_their_repos22995ERROR nixbot/tests/test_service.py::test_scheduled_worktree_id_distinct_per_effect22996ERROR nixbot/tests/test_web.py::test_structured_log_endpoints - RuntimeError:...22997ERROR nixbot/tests/test_control.py::test_webhook_secret_regeneration - Runtim...22998ERROR nixbot/tests/test_visibility.py::test_fetch_errors_are_not_cached - Run...22999ERROR nixbot/tests/test_service.py::test_scheduled_worktree_id_sanitizes_traversal23000ERROR nixbot/tests/test_forge.py::test_gitea_hook_registration - RuntimeError...23001ERROR nixbot/tests/test_db.py::test_mark_attribute_building_does_not_resurrect_cancelled_rows23002ERROR nixbot/tests/test_service.py::test_resolve_credential_path - RuntimeErr...23003ERROR nixbot/tests/test_web.py::test_structured_log_window_caps_huge_derivation23004ERROR nixbot/tests/test_control.py::test_retry_after_parsing - RuntimeError: ...23005ERROR nixbot/tests/test_visibility.py::test_access_cache_used - RuntimeError:...23006ERROR nixbot/tests/test_visibility.py::test_metrics_unauthenticated_no_private_names23007ERROR nixbot/tests/test_web.py::test_attr_named_dot_txt_not_shadowed_by_raw_route23008ERROR nixbot/tests/test_db.py::test_mark_attribute_building_sets_status_and_started_at23009ERROR nixbot/tests/test_control.py::test_work_retry_delay_honors_retry_after23010ERROR nixbot/tests/test_service.py::test_build_service_accepts_asyncpg_dsn - ...23011ERROR nixbot/tests/test_web.py::test_attr_names_with_special_characters - Run...23012ERROR nixbot/tests/test_visibility.py::test_configured_viewers_see_private - ...23013ERROR nixbot/tests/test_web.py::test_log_viewer_waits_for_queued_attribute - ...23014ERROR nixbot/tests/test_cli_api.py::test_repos_and_builds - RuntimeError: pos...23015ERROR nixbot/tests/test_db.py::test_complete_attribute_if_unfinished_skips_terminal_rows23016ERROR nixbot/tests/test_visibility.py::test_api_token_inherits_login_groups23017ERROR nixbot/tests/test_recovery.py::test_resume_skips_terminal_attributes - ...23018ERROR nixbot/tests/test_control.py::test_report_retry - RuntimeError: postgre...23019ERROR nixbot/tests/test_web.py::test_log_viewer_unavailable_for_logless_status23020ERROR nixbot/tests/test_service.py::test_visibility_fetcher_and_cache_ttl_wired23021ERROR nixbot/tests/test_upload.py::test_chunk_args_splits_on_byte_limit - Run...23022ERROR nixbot/tests/test_visibility.py::test_logout_invalidates_access_cache23023ERROR nixbot/tests/test_orchestrator.py::test_full_lifecycle - RuntimeError: ...23024ERROR nixbot/tests/test_forge.py::test_gitlab_heads_carry_target_branch_base23025ERROR nixbot/tests/test_cli_api.py::test_finished_attrs_cursor - RuntimeError...23026ERROR nixbot/tests/test_upload.py::test_parse_path_info_both_formats - Runtim...23027ERROR nixbot/tests/test_web.py::test_eval_error_served_like_build_log - Runti...23028ERROR nixbot/tests/test_cli_api.py::test_control_requires_token - RuntimeErro...23029ERROR nixbot/tests/test_recovery.py::test_settle_already_built - RuntimeError...23030ERROR nixbot/tests/test_service.py::test_aclose_cancels_in_flight_tasks - Run...23031ERROR nixbot/tests/test_db.py::test_failed_build_cache_scoped_per_project - R...23032ERROR nixbot/tests/test_forge.py::test_gitea_heads_encode_slashed_default_branch23033ERROR nixbot/tests/test_work_queue.py::test_enqueue_dedupes_pending - Runtime...23034ERROR nixbot/tests/test_control.py::test_effect_item_setup_failure_settles_row23035ERROR nixbot/tests/test_orchestrator.py::test_failure_aggregation - RuntimeEr...23036ERROR nixbot/tests/test_cli_api.py::test_enable_disable - RuntimeError: postg...23037ERROR nixbot/tests/test_schedules.py::test_replace_schedules_preserves_last_run_for_unchanged_spec23038ERROR nixbot/tests/test_web.py::test_api_projects_and_builds - RuntimeError: ...23039ERROR nixbot/tests/test_deliver.py::test_match_skip_and_run - RuntimeError: p...23040ERROR nixbot/tests/test_work_queue.py::test_claim_serializes_per_key - Runtim...23041ERROR nixbot/tests/test_web.py::test_build_rows_link_refs - RuntimeError: pos...23042ERROR nixbot/tests/test_schedules.py::test_replace_schedules_tolerates_duplicate_effect_names23043ERROR nixbot/tests/test_cli_api.py::test_log_toc_and_text - RuntimeError: pos...23044ERROR nixbot/tests/test_work_queue.py::test_settle_interrupted_requeues - Run...23045ERROR nixbot/tests/test_deliver.py::test_permission_denied_records_reason - R...23046ERROR nixbot/tests/test_recovery.py::test_retention_cleanup - RuntimeError: p...23047ERROR nixbot/tests/test_control.py::test_restart_attribute_posts_pending - Ru...23048ERROR nixbot/tests/test_forge.py::test_reconcile_unbuilt_heads - RuntimeError...23049ERROR nixbot/tests/test_service.py::test_pr_close_discards_queued_changes - R...23050ERROR nixbot/tests/test_deliver.py::test_modified_files_gate - RuntimeError: ...23051ERROR nixbot/tests/test_db.py::test_eval_stats_lifecycle - RuntimeError: post...23052ERROR nixbot/tests/test_web.py::test_attributes_sort_building_before_pending23053ERROR nixbot/tests/test_orchestrator.py::test_tree_hash_reuse - RuntimeError:...23054ERROR nixbot/tests/test_deliver.py::test_forge_outage_is_retried - RuntimeErr...23055ERROR nixbot/tests/test_cli_api.py::test_effect_run_text_and_stream - Runtime...23056ERROR nixbot/tests/test_schedules.py::test_store_roundtrip_and_due - RuntimeE...23057ERROR nixbot/tests/test_web.py::test_queue_sorts_active_before_pending - Runt...23058ERROR nixbot/tests/test_deliver.py::test_forge_outage_gives_up - RuntimeError...23059ERROR nixbot/tests/test_upload.py::test_final_upload_reports_and_clears_queue23060ERROR nixbot/tests/test_orchestrator.py::test_eval_reuse_from_cancelled_build23061ERROR nixbot/tests/test_service.py::test_build_branches_gates_branch_pushes23062ERROR nixbot/tests/test_forge.py::test_gitea_watermark_stops_pagination - Run...23063ERROR nixbot/tests/test_control.py::test_recovery_reports_interrupted_effects23064ERROR nixbot/tests/test_web.py::test_queue_position_is_global_and_skips_running23065ERROR nixbot/tests/test_recovery.py::test_resume_includes_interrupted_building_attributes23066ERROR nixbot/tests/test_schedules.py::test_due_effects_window_and_bad_spec - ...23067ERROR nixbot/tests/test_deliver.py::test_lock_shared_with_push_effect_and_supersession23068ERROR nixbot/tests/test_upload.py::test_intermediates_batch_with_final_and_drop_invalid23069ERROR nixbot/tests/test_orchestrator.py::test_eval_reuse_skipped_when_drvs_gone23070ERROR nixbot/tests/test_web.py::test_openapi_docs - RuntimeError: postgres di...23071ERROR nixbot/tests/test_service.py::test_tag_push_builds_peeled_commit - Runt...23072ERROR nixbot/tests/test_forge.py::test_gitlab_heads_filter_updated_after - Ru...23073ERROR nixbot/tests/test_control.py::test_work_dispatch - RuntimeError: postgr...23074ERROR nixbot/tests/test_recovery.py::test_retention_skips_restarted_builds - ...23075ERROR nixbot/tests/test_web.py::test_structured_live_stream - RuntimeError: p...23076ERROR nixbot/tests/test_deliver.py::test_checkout_is_pr_head_without_token - ...23077ERROR nixbot/tests/test_schedules.py::test_run_recording_and_overview - Runti...23078ERROR nixbot/tests/test_service.py::test_tag_push_waits_for_a_branch_to_build_its_commit23079ERROR nixbot/tests/test_upload.py::test_stdin_mode - RuntimeError: postgres d...23080ERROR nixbot/tests/test_orchestrator.py::test_main_push_promotes_reused_pr_build23081ERROR nixbot/tests/test_web.py::test_drv_raw_serves_running_attribute - Runti...23082ERROR nixbot/tests/test_forge.py::test_reconcile_watermark_store - RuntimeErr...23083ERROR nixbot/tests/test_control.py::test_restart_resets_effects - RuntimeErro...23084ERROR nixbot/tests/test_recovery.py::test_retention_ages_out_failed_caches - ...23085ERROR nixbot/tests/test_web.py::test_log_sse_stream_caps_history_backlog - Ru...23086ERROR nixbot/tests/test_service.py::test_pr_approval_gate - RuntimeError: pos...23087ERROR nixbot/tests/test_control.py::test_effects_restart_route - RuntimeError...23088ERROR nixbot/tests/test_upload.py::test_pending_paths_survive_restart - Runti...23089ERROR nixbot/tests/test_deliver.py::test_build_success_enqueues_delivery - Ru...23090ERROR nixbot/tests/test_cli.py::test_log_follow_finished_attr_falls_back_to_stored_log23091ERROR nixbot/tests/test_orchestrator.py::test_merge_conflict_fails_build - Ru...23092ERROR nixbot/tests/test_web.py::test_log_sse_stream_neutralizes_carriage_returns23093ERROR nixbot/tests/test_forge.py::test_register_repo_hook_without_admin_warns23094ERROR nixbot/tests/test_upload.py::test_uploader_factory_picks_stream - Runti...23095ERROR nixbot/tests/test_cli.py::test_log_effect_by_name_and_id - RuntimeError...23096ERROR nixbot/tests/test_control.py::test_single_effect_restart_route - Runtim...23097ERROR nixbot/tests/test_service.py::test_pr_approval_disabled_by_default - Ru...23098ERROR nixbot/tests/test_recovery.py::test_rerun_clears_stale_eval_warnings - ...23099ERROR nixbot/tests/test_cli.py::test_log_effect_is_not_shadowed_by_attributes23100ERROR nixbot/tests/test_web.py::test_api_builds_commit_filter - RuntimeError:...23101ERROR nixbot/tests/test_deliver.py::test_comment_and_close_webhooks_deliver23102ERROR nixbot/tests/test_orchestrator.py::test_build_reuse_clears_pr_author_in_other_context23103ERROR nixbot/tests/test_control.py::test_effect_cancel_route - RuntimeError: ...23104ERROR nixbot/tests/test_web.py::test_log_tail_param - RuntimeError: postgres ...23105ERROR nixbot/tests/test_service.py::test_restart_gitlab_mr_build_fetches_mr_refs23106ERROR nixbot/tests/test_forge.py::test_gitlab_hook_registration - RuntimeErro...23107ERROR nixbot/tests/test_upload.py::test_stream_reports_per_path_and_clears_queue23108ERROR nixbot/tests/test_recovery.py::test_interrupted_effects_fail_on_recovery23109ERROR nixbot/tests/test_control.py::test_webhook_panel_is_forge_aware - Runti...23110ERROR nixbot/tests/test_deliver.py::test_close_after_merge_push_reused_build23111ERROR nixbot/tests/test_web.py::test_api_build_failures - RuntimeError: postg...23112ERROR nixbot/tests/test_orchestrator.py::test_effects_started_flag - RuntimeE...23113ERROR nixbot/tests/test_control.py::test_api_attr_and_effects_control - Runti...23114ERROR nixbot/tests/test_forge.py::test_register_repo_hook_500_with_403_in_body_raises23115ERROR nixbot/tests/test_upload.py::test_stream_error_is_reported_with_message23116ERROR nixbot/tests/test_deliver.py::test_build_finished_transitions - Runtime...23117ERROR nixbot/tests/test_web.py::test_api_build_failures_rejects_non_positive_tail23118ERROR nixbot/tests/test_recovery.py::test_interrupted_effects_sweep_spares_live_effects23119ERROR nixbot/tests/test_service.py::test_restart_eval_failed_build_reevaluates23120ERROR nixbot/tests/test_web.py::test_llms_txt - RuntimeError: postgres did no...23121ERROR nixbot/tests/test_orchestrator.py::test_aggregation_generation_monotonic23122ERROR nixbot/tests/test_forge.py::test_gitlab_register_repo_hook_status_classification23123ERROR nixbot/tests/test_upload.py::test_stream_child_crash_refeeds_pending - ...23124ERROR nixbot/tests/test_deliver.py::test_command_while_running_gets_notice - ...23125ERROR nixbot/tests/test_web.py::test_event_broker_pushes_status_changes - Run...23126ERROR nixbot/tests/test_service.py::test_restart_clears_stale_error_and_warnings23127ERROR nixbot/tests/test_orchestrator.py::test_internal_error_not_recorded_in_failed_build_cache23128ERROR nixbot/tests/test_upload.py::test_failure_reports_retries_and_gives_up23129ERROR nixbot/tests/test_web.py::test_events_stream_coalesces_burst - RuntimeE...23130ERROR nixbot/tests/test_forge.py::test_gitea_legacy_hook_delete_failure_warns23131ERROR nixbot/tests/test_deliver.py::test_other_command_does_not_supersede - R...23132ERROR nixbot/tests/test_web.py::test_events_stream_refreshes_visibility - Run...23133ERROR nixbot/tests/test_service.py::test_restart_unknown_attribute_is_a_noop23134ERROR nixbot/tests/test_orchestrator.py::test_log_path_attribute_name_sanitized23135ERROR nixbot/tests/test_forge.py::test_sync_tolerates_in_batch_duplicates - R...23136ERROR nixbot/tests/test_deliver.py::test_label_change_redelivers_pull_request23137ERROR nixbot/tests/test_web.py::test_attribute_search - RuntimeError: postgre...23138ERROR nixbot/tests/test_service.py::test_restart_failed_eval_attribute_reevaluates23139ERROR nixbot/tests/test_web.py::test_build_page_shows_effects - RuntimeError:...23140ERROR nixbot/tests/test_orchestrator.py::test_cancel_interrupts_evaluation - ...23141ERROR nixbot/tests/test_deliver.py::test_build_outcome_and_restart_leave_event_history23142ERROR nixbot/tests/test_web.py::test_build_page_shows_event_effects - Runtime...23143ERROR nixbot/tests/test_orchestrator.py::test_build_waiting_for_eval_slot_stays_pending23144ERROR nixbot/tests/test_web.py::test_build_page_groups_dependency_checks_apart23145ERROR nixbot/tests/test_deliver.py::test_restart_event_effect_reruns_with_stored_payload23146ERROR nixbot/tests/test_web.py::test_effect_log_raw_text - RuntimeError: post...23147ERROR nixbot/tests/test_orchestrator.py::test_pending_attribute_rows_recorded_for_crash_recovery23148ERROR nixbot/tests/test_web.py::test_effect_log_viewer_status_icon - RuntimeE...23149ERROR nixbot/tests/test_deliver.py::test_listing_failure_recorded_on_build - ...23150ERROR nixbot/tests/test_service.py::test_interrupted_reeval_keeps_attribute_rows23151ERROR nixbot/tests/test_web.py::test_effect_changes_notify_build_events - Run...23152ERROR nixbot/tests/test_orchestrator.py::test_eval_warnings_null_when_empty23153ERROR nixbot/tests/test_deliver.py::test_tag_runs_onpush_effects_with_tag - R...23154ERROR nixbot/tests/test_service.py::test_restart_cancelled_build_reschedules_attributes23155ERROR nixbot/tests/test_orchestrator.py::test_rerun_flips_stale_red_eval_status23156ERROR nixbot/tests/test_deliver.py::test_tag_waits_for_a_running_release - Ru...23157ERROR nixbot/tests/test_service.py::test_restart_cancelled_mid_eval_reevaluates23158ERROR nixbot/tests/test_orchestrator.py::test_recovery_rerun_failures_not_cached23159ERROR nixbot/tests/test_web.py::test_effects_state_api - RuntimeError: postgr...23160ERROR nixbot/tests/test_deliver.py::test_tag_listing_failure_recorded_apart_from_build_effects23161ERROR nixbot/tests/test_service.py::test_restart_while_unwinding_waits_then_runs23162ERROR nixbot/tests/test_web.py::test_pr_comment_api - RuntimeError: postgres ...23163ERROR nixbot/tests/test_orchestrator.py::test_gitlab_mr_fetches_merge_request_refs23164ERROR nixbot/tests/test_web.py::test_workload_identity_api - RuntimeError: po...23165ERROR nixbot/tests/test_service.py::test_restart_attribute_while_build_running23166ERROR nixbot/tests/test_web.py::test_logout_revokes_session_cookie - RuntimeE...23167ERROR nixbot/tests/test_orchestrator.py::test_rerun_fetches_forge_change_request_refs[github]23168ERROR nixbot/tests/test_service.py::test_cancel_not_running_posts_forge_status23169ERROR nixbot/tests/test_web.py::test_gitlab_nested_group_routes - RuntimeErro...23170ERROR nixbot/tests/test_orchestrator.py::test_rerun_fetches_forge_change_request_refs[gitlab]23171ERROR nixbot/tests/test_web.py::test_scheduled_run_viewer_renders_ansi - Runt...23172ERROR nixbot/tests/test_service.py::test_check_rerequested_dispatch - Runtime...23173ERROR nixbot/tests/test_web.py::test_scheduled_run_viewer_cross_project_40423174ERROR nixbot/tests/test_orchestrator.py::test_cancelled_build_reuse_rebuilds23175ERROR nixbot/tests/test_web.py::test_scheduled_run_log_unavailable_placeholder23176ERROR nixbot/tests/test_service.py::test_cancel_not_running_settles_attribute_rows23177ERROR nixbot/tests/test_web.py::test_scheduled_run_viewer_waiting_before_log23178ERROR nixbot/tests/test_orchestrator.py::test_inflight_share_fans_out_final_status23179ERROR nixbot/tests/test_web.py::test_project_tabs_link_builds_and_effects - R...23180ERROR nixbot/tests/test_service.py::test_cancel_attribute_not_running_reaggregates_build23181ERROR nixbot/tests/test_web.py::test_failing_badge_counts_effects_whose_latest_run_failed23182ERROR nixbot/tests/test_orchestrator.py::test_stale_event_does_not_supersede_newer_build23183ERROR nixbot/tests/test_service.py::test_pull_based_projects_synced_and_buildable23184ERROR nixbot/tests/test_web.py::test_old_schedule_history_url_redirects - Run...23185ERROR nixbot/tests/test_orchestrator.py::test_eval_failure_cleans_cancel_events23186ERROR nixbot/tests/test_web.py::test_project_effects_filter_and_paginate - Ru...23187ERROR nixbot/tests/test_service.py::test_topic_does_not_hard_filter_discovery23188ERROR nixbot/tests/test_web.py::test_scheduled_run_stream_replays_history - R...23189ERROR nixbot/tests/test_orchestrator.py::test_eval_settings_wired - RuntimeEr...23190ERROR nixbot/tests/test_web.py::test_scheduled_run_notify_build_events - Runt...23191ERROR nixbot/tests/test_service.py::test_startup_reevaluates_interrupted_eval23192ERROR nixbot/tests/test_web.py::test_api_log_toc_and_text - RuntimeError: pos...23193ERROR nixbot/tests/test_orchestrator.py::test_eval_netrc_withheld_from_pr_with_instance_wide_creds23194ERROR nixbot/tests/test_service.py::test_rerun_of_interrupted_eval_reevaluates23195ERROR nixbot/tests/test_web.py::test_api_log_toc_flat_log_fallback - RuntimeE...23196ERROR nixbot/tests/test_web.py::test_api_log_stream_json - RuntimeError: post...23197ERROR nixbot/tests/test_orchestrator.py::test_eval_gcroots_dir_removed_after_build23198ERROR nixbot/tests/test_service.py::test_rerun_resumes_building_rows_and_keeps_finished23199ERROR nixbot/tests/test_web.py::test_build_eval_stats_surface - RuntimeError:...23200ERROR nixbot/tests/test_orchestrator.py::test_effects_run_after_default_branch_success23201ERROR nixbot/tests/test_service.py::test_rerun_reevaluates_when_drv_paths_were_garbage_collected23202ERROR nixbot/tests/test_orchestrator.py::test_when_changed_reuses_the_last_success23203ERROR nixbot/tests/test_service.py::test_reeval_failure_marks_build_failed - ...23204ERROR nixbot/tests/test_orchestrator.py::test_when_changed_decides_when_the_lock_is_free23205ERROR nixbot/tests/test_service.py::test_gitlab_discovery_and_hook_registration23206ERROR nixbot/tests/test_orchestrator.py::test_when_changed_ignores_failures_and_follows_a_restart23207ERROR nixbot/tests/test_service.py::test_health_serves_while_startup_blocks23208ERROR nixbot/tests/test_orchestrator.py::test_pr_worktree_config_cannot_grant_effects23209ERROR nixbot/tests/test_orchestrator.py::test_rerun_effects_runs_effects_again23210ERROR nixbot/tests/test_orchestrator.py::test_rerun_effects_cancels_hung_effect23211ERROR nixbot/tests/test_orchestrator.py::test_cancel_hung_effect - RuntimeErr...23212ERROR nixbot/tests/test_orchestrator.py::test_rerun_single_effect - RuntimeEr...23213ERROR nixbot/tests/test_orchestrator.py::test_recovery_rerun_runs_effects - R...23214ERROR nixbot/tests/test_orchestrator.py::test_unsupported_system_attr_does_not_block_aggregation23215ERROR nixbot/tests/test_orchestrator.py::test_linked_context_reported_on_eval_failure23216ERROR nixbot/tests/test_orchestrator.py::test_eval_failure_settles_streamed_attributes23217ERROR nixbot/tests/test_orchestrator.py::test_effect_rows_roundtrip - Runtime...23218ERROR nixbot/tests/test_orchestrator.py::test_pending_effects_replace_skipped_rows23219ERROR nixbot/tests/test_orchestrator.py::test_effect_items_resume_only_pending23220ERROR nixbot/tests/test_orchestrator.py::test_effect_crash_settles_the_row - ...23221ERROR nixbot/tests/test_orchestrator.py::test_concurrent_effects_use_independent_worktrees23222ERROR nixbot/tests/test_orchestrator.py::test_locked_effect_gets_shared_dedup_key23223ERROR nixbot/tests/test_orchestrator.py::test_effect_item_not_claimable_until_dep_settles23224ERROR nixbot/tests/test_orchestrator.py::test_effect_dep_failure_skips_dependent23225ERROR nixbot/tests/test_orchestrator.py::test_lock_serializes_builds_without_interleaving23226ERROR nixbot/tests/test_orchestrator.py::test_effect_dep_cycle_fails_discovery23227ERROR nixbot/tests/test_orchestrator.py::test_failed_effect_reports_failure_status23228ERROR nixbot/tests/test_orchestrator.py::test_post_process_error_does_not_wedge_build23229ERROR nixbot/tests/test_orchestrator.py::test_unexpected_eval_path_error_settles_build23230ERROR nixbot/tests/test_orchestrator.py::test_reuse_empty_succeeded_build_posts_eval_success23231ERROR nixbot/tests/test_orchestrator.py::test_stale_event_reusing_old_build_does_not_cancel_newer23232ERROR nixbot/tests/test_orchestrator.py::test_reuse_for_default_branch_push_runs_effects23233ERROR nixbot/tests/test_orchestrator.py::test_tag_reusing_deployed_build_delivers_its_own_effects23234ERROR nixbot/tests/test_orchestrator.py::test_tag_attached_to_in_flight_build_delivers_on_success23235ERROR nixbot/tests/test_orchestrator.py::test_restart_of_gated_build_settles_effect_rows23236ERROR nixbot/tests/test_orchestrator.py::test_restart_build_drops_queued_effect_items23237ERROR nixbot/tests/test_orchestrator.py::test_restart_effects_after_pr_attach_keeps_effects_ref23238ERROR nixbot/tests/test_orchestrator.py::test_gated_restart_then_allowed_reuse_deploys23239ERROR nixbot/tests/test_orchestrator.py::test_rerun_single_effect_takes_pending_dependents23240ERROR nixbot/tests/test_orchestrator.py::test_reuse_replays_effect_statuses_to_new_commit23241ERROR nixbot/tests/test_orchestrator.py::test_attach_to_already_terminal_build_replays_status23242ERROR nixbot/tests/test_orchestrator.py::test_cancel_during_eval_resolves_linked_eval_contexts23243ERROR nixbot/tests/test_orchestrator.py::test_effect_log_does_not_collide_with_attribute_log23244ERROR nixbot/tests/test_orchestrator.py::test_post_process_paths_are_forge_scoped23245ERROR nixbot/tests/test_orchestrator.py::test_effects_phase_error_keeps_succeeded_build23246ERROR nixbot/tests/test_orchestrator.py::test_reuse_post_process_error_still_reports_status23247ERROR nixbot/tests/test_orchestrator.py::test_reuse_with_missing_output_still_post_processes23248================= 477 passed, 29 skipped, 355 errors in 40.15s =================