python3.14-nixbot-tests
checks.aarch64-linux.nixbot-tests
· build #489
· raw
1tribuchet: building on eliza2Sourcing 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/pjys6qnphp7flv12rg8r86xrcfavr3li-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
37shrinking RPATHs of ELF executables and libraries in /nix/store/vhmdnlk4wmy2pg62sf0l7a22rk9lngrq-python3.14-nixbot-tests38checking for references to /build/ in /nix/store/vhmdnlk4wmy2pg62sf0l7a22rk9lngrq-python3.14-nixbot-tests...39patching script interpreter paths in /nix/store/vhmdnlk4wmy2pg62sf0l7a22rk9lngrq-python3.14-nixbot-tests40stripping (with command strip and flags -S -p) in /nix/store/vhmdnlk4wmy2pg62sf0l7a22rk9lngrq-python3.14-nixbot-tests/lib /nix/store/vhmdnlk4wmy2pg62sf0l7a22rk9lngrq-python3.14-nixbot-tests/bin41shrinking RPATHs of ELF executables and libraries in /nix/store/37h4r43bgivbzc94lajrhgmnk5j153nr-python3.14-nixbot-tests-dist42checking for references to /build/ in /nix/store/37h4r43bgivbzc94lajrhgmnk5j153nr-python3.14-nixbot-tests-dist...43patching script interpreter paths in /nix/store/37h4r43bgivbzc94lajrhgmnk5j153nr-python3.14-nixbot-tests-dist44Rewriting #!/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14 to #!/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.645wrapping `/nix/store/vhmdnlk4wmy2pg62sf0l7a22rk9lngrq-python3.14-nixbot-tests/bin/nixbot'...46Executing pythonRemoveTestsDir47Finished executing pythonRemoveTestsDirinstallCheckPhase
48no Makefile or custom installCheckPhase, doing nothingpythonImportsCheckPhase
49Executing pythonImportsCheckPhasepytestCheckPhase
50Executing pytestCheckPhase51pytest flags: -m pytest --numprocesses=2452/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/2xp5r99cnys85h806mpdw43bz48y05ds-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/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-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.101 warner(PytestBenchmarkWarning(text))102============================= test session starts ==============================103platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0104benchmark: 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)105rootdir: /build/nixbot106configfile: pyproject.toml107plugins: asyncio-1.4.0, timeout-2.4.0, xdist-3.8.0, benchmark-5.2.3, anyio-4.14.2108asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function109timeout: 60.0s110timeout method: signal111timeout func_only: False112created: 24/24 workers11324 workers [874 items]114115.....ss..................s......ssssss.................................. [ 8%]116........................................................................ [ 16%]117........................................................................ [ 24%]118........................................................................ [ 32%]119.............................................................s.......... [ 41%]120........................................................................ [ 49%]121...........................................................s............ [ 57%]122............................................................s........... [ 65%]123........................................................................ [ 74%]124........................................................................ [ 82%]125........................................................................ [ 90%]126........s.............F.......FF........................................ [ 98%]127.......... [100%]128=================================== FAILURES ===================================129___________ test_pending_attribute_rows_recorded_for_crash_recovery ____________130[gw1] linux -- Python 3.14.6 /nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14131132fut = <coroutine object Event.wait at 0xffffeda298c0>, timeout = 10133134 async def wait_for(fut, timeout):135 """Wait for the single Future or coroutine to complete, with timeout.136 137 Coroutine will be wrapped in Task.138 139 Returns result of the Future or coroutine. When a timeout occurs,140 it cancels the task and raises TimeoutError. To avoid the task141 cancellation, wrap it in shield().142 143 If the wait is cancelled, the task is also cancelled.144 145 If the task suppresses the cancellation and returns a value instead,146 that value is returned.147 148 This function is a coroutine.149 """150 # The special case for timeout <= 0 is for the following case:151 #152 # async def test_waitfor():153 # func_started = False154 #155 # async def func():156 # nonlocal func_started157 # func_started = True158 #159 # try:160 # await asyncio.wait_for(func(), 0)161 # except asyncio.TimeoutError:162 # assert not func_started163 # else:164 # assert False165 #166 # asyncio.run(test_waitfor())167 168 169 if timeout is not None and timeout <= 0:170 fut = ensure_future(fut)171 172 if fut.done():173 return fut.result()174 175 await _cancel_and_wait(fut)176 try:177 return fut.result()178 except exceptions.CancelledError as exc:179 raise TimeoutError from exc180 181 async with timeouts.timeout(timeout):182> return await fut183 ^^^^^^^^^184185/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/tasks.py:488: 186_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 187188self = <asyncio.locks.Event object at 0xffffed62c710 [unset]>189190 async def wait(self):191 """Block until the internal flag is true.192 193 If the internal flag is true on entry, return True194 immediately. Otherwise, block until another task calls195 set() to set the flag to true, then return True.196 """197 if self._value:198 return True199 200 fut = self._get_loop().create_future()201 self._waiters.append(fut)202 try:203> await fut204E asyncio.exceptions.CancelledError205206/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/locks.py:213: CancelledError207208The above exception was the direct cause of the following exception:209210pool = <asyncpg.pool.Pool object at 0xffffedafde40>211make_env = <function make_env.<locals>.make at 0xffffed384d50>212upstream = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_pending_attribute_rows_re0/upstream')213214 async def test_pending_attribute_rows_recorded_for_crash_recovery(215 pool: asyncpg.Pool, make_env: EnvFactory, upstream: Path216 ) -> None:217 """Without pending rows a crash mid-build has nothing to resume from."""218 219 sha = add_commit(upstream, "recov")220 executor = FakeExecutor(gate=asyncio.Event())221 orchestrator, _, project = await make_env(222 FakeEvalRunner([mk_job("a"), mk_job("b")]),223 executor,224 "recov",225 )226 task = asyncio.create_task(227 orchestrator.handle_change_event(228 ChangeEvent(repo=project, branch="main", commit_sha=sha)229 )230 )231> await asyncio.wait_for(executor.started.wait(), timeout=10)232233nixbot/tests/test_orchestrator.py:821: 234_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 235/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/tasks.py:487: in wait_for236 async with timeouts.timeout(timeout):237 ^^^^^^^^^^^^^^^^^^^^^^^^^238_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 239240self = <Timeout [expired]>241exc_type = <class 'asyncio.exceptions.CancelledError'>242exc_val = CancelledError(), exc_tb = <traceback object at 0xffffec4f2040>243244 async def __aexit__(245 self,246 exc_type: type[BaseException] | None,247 exc_val: BaseException | None,248 exc_tb: TracebackType | None,249 ) -> bool | None:250 assert self._state in (_State.ENTERED, _State.EXPIRING)251 252 if self._timeout_handler is not None:253 self._timeout_handler.cancel()254 self._timeout_handler = None255 256 if self._state is _State.EXPIRING:257 self._state = _State.EXPIRED258 259 if self._task.uncancel() <= self._cancelling and exc_type is not None:260 # Since there are no new cancel requests, we're261 # handling this.262 if issubclass(exc_type, exceptions.CancelledError):263> raise TimeoutError from exc_val264E TimeoutError265266/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/timeouts.py:115: TimeoutError267__________________ test_inflight_share_fans_out_final_status ___________________268[gw1] linux -- Python 3.14.6 /nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14269270fut = <coroutine object Event.wait at 0xffffeda6e6c0>, timeout = 10271272 async def wait_for(fut, timeout):273 """Wait for the single Future or coroutine to complete, with timeout.274 275 Coroutine will be wrapped in Task.276 277 Returns result of the Future or coroutine. When a timeout occurs,278 it cancels the task and raises TimeoutError. To avoid the task279 cancellation, wrap it in shield().280 281 If the wait is cancelled, the task is also cancelled.282 283 If the task suppresses the cancellation and returns a value instead,284 that value is returned.285 286 This function is a coroutine.287 """288 # The special case for timeout <= 0 is for the following case:289 #290 # async def test_waitfor():291 # func_started = False292 #293 # async def func():294 # nonlocal func_started295 # func_started = True296 #297 # try:298 # await asyncio.wait_for(func(), 0)299 # except asyncio.TimeoutError:300 # assert not func_started301 # else:302 # assert False303 #304 # asyncio.run(test_waitfor())305 306 307 if timeout is not None and timeout <= 0:308 fut = ensure_future(fut)309 310 if fut.done():311 return fut.result()312 313 await _cancel_and_wait(fut)314 try:315 return fut.result()316 except exceptions.CancelledError as exc:317 raise TimeoutError from exc318 319 async with timeouts.timeout(timeout):320> return await fut321 ^^^^^^^^^322323/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/tasks.py:488: 324_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 325326self = <asyncio.locks.Event object at 0xffffed66a090 [unset]>327328 async def wait(self):329 """Block until the internal flag is true.330 331 If the internal flag is true on entry, return True332 immediately. Otherwise, block until another task calls333 set() to set the flag to true, then return True.334 """335 if self._value:336 return True337 338 fut = self._get_loop().create_future()339 self._waiters.append(fut)340 try:341> await fut342E asyncio.exceptions.CancelledError343344/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/locks.py:213: CancelledError345346The above exception was the direct cause of the following exception:347348make_env = <function make_env.<locals>.make at 0xffffed385010>349upstream = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_inflight_share_fans_out_f0/upstream')350351 async def test_inflight_share_fans_out_final_status(352 make_env: EnvFactory, upstream: Path353 ) -> None:354 sha = add_commit(upstream, "share")355 git(upstream, "branch", "copy", "main")356 executor = FakeExecutor(gate=asyncio.Event())357 orchestrator, reporter, project = await make_env(358 FakeEvalRunner([mk_job("a")]),359 executor,360 "share",361 )362 task = asyncio.create_task(363 orchestrator.handle_change_event(364 ChangeEvent(repo=project, branch="main", commit_sha=sha)365 )366 )367> await asyncio.wait_for(executor.started.wait(), timeout=10)368369nixbot/tests/test_orchestrator.py:1009: 370_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 371/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/tasks.py:487: in wait_for372 async with timeouts.timeout(timeout):373 ^^^^^^^^^^^^^^^^^^^^^^^^^374_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375376self = <Timeout [expired]>377exc_type = <class 'asyncio.exceptions.CancelledError'>378exc_val = CancelledError(), exc_tb = <traceback object at 0xffffee387c80>379380 async def __aexit__(381 self,382 exc_type: type[BaseException] | None,383 exc_val: BaseException | None,384 exc_tb: TracebackType | None,385 ) -> bool | None:386 assert self._state in (_State.ENTERED, _State.EXPIRING)387 388 if self._timeout_handler is not None:389 self._timeout_handler.cancel()390 self._timeout_handler = None391 392 if self._state is _State.EXPIRING:393 self._state = _State.EXPIRED394 395 if self._task.uncancel() <= self._cancelling and exc_type is not None:396 # Since there are no new cancel requests, we're397 # handling this.398 if issubclass(exc_type, exceptions.CancelledError):399> raise TimeoutError from exc_val400E TimeoutError401402/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/timeouts.py:115: TimeoutError403_______________ test_stale_event_does_not_supersede_newer_build ________________404[gw1] linux -- Python 3.14.6 /nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14405406fut = <coroutine object Event.wait at 0xffffed6b97e0>, timeout = 10407408 async def wait_for(fut, timeout):409 """Wait for the single Future or coroutine to complete, with timeout.410 411 Coroutine will be wrapped in Task.412 413 Returns result of the Future or coroutine. When a timeout occurs,414 it cancels the task and raises TimeoutError. To avoid the task415 cancellation, wrap it in shield().416 417 If the wait is cancelled, the task is also cancelled.418 419 If the task suppresses the cancellation and returns a value instead,420 that value is returned.421 422 This function is a coroutine.423 """424 # The special case for timeout <= 0 is for the following case:425 #426 # async def test_waitfor():427 # func_started = False428 #429 # async def func():430 # nonlocal func_started431 # func_started = True432 #433 # try:434 # await asyncio.wait_for(func(), 0)435 # except asyncio.TimeoutError:436 # assert not func_started437 # else:438 # assert False439 #440 # asyncio.run(test_waitfor())441 442 443 if timeout is not None and timeout <= 0:444 fut = ensure_future(fut)445 446 if fut.done():447 return fut.result()448 449 await _cancel_and_wait(fut)450 try:451 return fut.result()452 except exceptions.CancelledError as exc:453 raise TimeoutError from exc454 455 async with timeouts.timeout(timeout):456> return await fut457 ^^^^^^^^^458459/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/tasks.py:488: 460_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 461462self = <asyncio.locks.Event object at 0xffffed60c4d0 [unset]>463464 async def wait(self):465 """Block until the internal flag is true.466 467 If the internal flag is true on entry, return True468 immediately. Otherwise, block until another task calls469 set() to set the flag to true, then return True.470 """471 if self._value:472 return True473 474 fut = self._get_loop().create_future()475 self._waiters.append(fut)476 try:477> await fut478E asyncio.exceptions.CancelledError479480/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/locks.py:213: CancelledError481482The above exception was the direct cause of the following exception:483484pool = <asyncpg.pool.Pool object at 0xffffec4ae8c0>485make_env = <function make_env.<locals>.make at 0xffffed384040>486upstream = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw1/test_stale_event_does_not_supe0/upstream')487488 async def test_stale_event_does_not_supersede_newer_build(489 pool: asyncpg.Pool, make_env: EnvFactory, upstream: Path490 ) -> None:491 old_sha = add_commit(upstream, "older")492 new_sha = add_commit(upstream, "newer")493 executor = FakeExecutor(gate=asyncio.Event())494 orchestrator, _, project = await make_env(495 FakeEvalRunner([mk_job("a")]),496 executor,497 "stale",498 )499 task = asyncio.create_task(500 orchestrator.handle_change_event(501 ChangeEvent(repo=project, branch="main", commit_sha=new_sha)502 )503 )504> await asyncio.wait_for(executor.started.wait(), timeout=10)505506nixbot/tests/test_orchestrator.py:1039: 507_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 508/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/tasks.py:487: in wait_for509 async with timeouts.timeout(timeout):510 ^^^^^^^^^^^^^^^^^^^^^^^^^511_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 512513self = <Timeout [expired]>514exc_type = <class 'asyncio.exceptions.CancelledError'>515exc_val = CancelledError(), exc_tb = <traceback object at 0xffffece93a80>516517 async def __aexit__(518 self,519 exc_type: type[BaseException] | None,520 exc_val: BaseException | None,521 exc_tb: TracebackType | None,522 ) -> bool | None:523 assert self._state in (_State.ENTERED, _State.EXPIRING)524 525 if self._timeout_handler is not None:526 self._timeout_handler.cancel()527 self._timeout_handler = None528 529 if self._state is _State.EXPIRING:530 self._state = _State.EXPIRED531 532 if self._task.uncancel() <= self._cancelling and exc_type is not None:533 # Since there are no new cancel requests, we're534 # handling this.535 if issubclass(exc_type, exceptions.CancelledError):536> raise TimeoutError from exc_val537E TimeoutError538539/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/lib/python3.14/asyncio/timeouts.py:115: TimeoutError540=========================== short test summary info ============================541FAILED nixbot/tests/test_orchestrator.py::test_pending_attribute_rows_recorded_for_crash_recovery542FAILED nixbot/tests/test_orchestrator.py::test_inflight_share_fans_out_final_status543FAILED nixbot/tests/test_orchestrator.py::test_stale_event_does_not_supersede_newer_build544============ 3 failed, 858 passed, 13 skipped in 558.36s (0:09:18) =============