tribuchet: building on jamie Sourcing python-remove-tests-dir-hook Sourcing python-catch-conflicts-hook.sh Sourcing python-remove-bin-bytecode-hook.sh Sourcing pypa-build-hook Using pypaBuildPhase Sourcing python-runtime-deps-check-hook Using pythonRuntimeDepsCheckHook Sourcing pypa-install-hook Using pypaInstallPhase Sourcing python-imports-check-hook.sh Using pythonImportsCheckPhase Sourcing python-namespaces-hook Sourcing python-catch-conflicts-hook.sh Sourcing pytest-check-hook Using pytestCheckPhase Running phase: unpackPhase unpacking source archive /nix/store/kc4ls1l59avqlwib0rgfpr01qrdy5m54-nixbot source root is nixbot setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "nixbot/pyproject.toml" Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Executing pypaBuildPhase Creating a wheel... pypa build flags: --no-isolation --outdir dist/ --wheel * Getting build dependencies for wheel... * Building wheel... Successfully built nixbot-0.0.1-py3-none-any.whl Finished creating a wheel... Finished executing pypaBuildPhase Running phase: pythonRuntimeDepsCheckHook Executing pythonRuntimeDepsCheck Checking runtime dependencies for nixbot-0.0.1-py3-none-any.whl Finished executing pythonRuntimeDepsCheck Running phase: installPhase Executing pypaInstallPhase Successfully installed nixbot-0.0.1-py3-none-any.whl Finished executing pypaInstallPhase Running phase: pythonOutputDistPhase Executing pythonOutputDistPhase Finished executing pythonOutputDistPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/fr9s9j4cc2syn9gh48vs6yicx4a541yd-python3.14-nixbot-tests checking for references to /build/ in /nix/store/fr9s9j4cc2syn9gh48vs6yicx4a541yd-python3.14-nixbot-tests... patching script interpreter paths in /nix/store/fr9s9j4cc2syn9gh48vs6yicx4a541yd-python3.14-nixbot-tests stripping (with command strip and flags -S -p) in /nix/store/fr9s9j4cc2syn9gh48vs6yicx4a541yd-python3.14-nixbot-tests/lib /nix/store/fr9s9j4cc2syn9gh48vs6yicx4a541yd-python3.14-nixbot-tests/bin shrinking RPATHs of ELF executables and libraries in /nix/store/p4nqczqsgmvb1i8px67ssdf1qrcj8l7p-python3.14-nixbot-tests-dist checking for references to /build/ in /nix/store/p4nqczqsgmvb1i8px67ssdf1qrcj8l7p-python3.14-nixbot-tests-dist... patching script interpreter paths in /nix/store/p4nqczqsgmvb1i8px67ssdf1qrcj8l7p-python3.14-nixbot-tests-dist Rewriting #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 to #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6 wrapping `/nix/store/fr9s9j4cc2syn9gh48vs6yicx4a541yd-python3.14-nixbot-tests/bin/nixbot'... Executing pythonRemoveTestsDir Finished executing pythonRemoveTestsDir Running phase: installCheckPhase no Makefile or custom installCheckPhase, doing nothing Running phase: pythonCatchConflictsPhase Running phase: pythonRemoveBinBytecodePhase Running phase: pythonImportsCheckPhase Executing pythonImportsCheckPhase Running phase: pytestCheckPhase Executing pytestCheckPhase pytest flags: -m pytest --numprocesses=24 /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) /nix/store/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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. warner(PytestBenchmarkWarning(text)) ============================= test session starts ============================== platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0 benchmark: 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) rootdir: /build/nixbot configfile: pyproject.toml plugins: asyncio-1.4.0, timeout-2.4.0, xdist-3.8.0, benchmark-5.2.3, anyio-4.14.2 asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function timeout: 60.0s timeout method: signal timeout func_only: False created: 24/24 workers 24 workers [805 items] ...............s........................................................ [ 8%] ...ssssssss............................................................. [ 17%] ........................................................................ [ 26%] ........................................................................ [ 35%] ...........................................s............................ [ 44%] ........................................................................ [ 53%] ...............................s........................................ [ 62%] ..s..................................................................... [ 71%] ........................................................................ [ 80%] ...............................................F........................ [ 89%] ........................................................................ [ 98%] ............. [100%] =================================== FAILURES =================================== __________________________ test_structured_log_viewer __________________________ [gw20] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 page = def test_structured_log_viewer(page: Page) -> None: page.goto("/repos/github/acme/widget/builds/2/logs/x86_64-linux.bad") # Failing derivation card is open with inline phase dividers. Log rows # load lazily from /drv/{idx}. card = page.locator('.log-card[data-idx="0"]') card.get_by_text("hello-2.12").wait_for() assert card.get_attribute("open") is not None card.locator(".phase-sep").first.wait_for() card.locator("text=error: build failed on the last step").wait_for() # ANSI colors render as ansi-* spans, matching the flat log viewer. assert card.locator(".log-lines .logline .ansi-red").count() >= 1 # A failure opens at the bottom, where the error is. lines = card.locator(".log-lines") assert lines.evaluate("el => el.scrollTop") > 0 # Phase nav scrolls between the inline dividers, both ways. lines.evaluate("el => el.scrollTop = 0") seps = card.locator(".phase-sep") seps.nth(0).locator(".phase-next").click() down = lines.evaluate("el => el.scrollTop") assert down > 0 seps.nth(1).locator(".phase-prev").click() assert lines.evaluate("el => el.scrollTop") < down # Past the last phase falls through to the bottom. Before the first # falls through to the top. lines.evaluate("el => el.scrollTop = 0") seps.nth(1).locator(".phase-next").click() assert lines.evaluate("el => el.scrollTop") > down lines.evaluate("el => el.scrollTop = 0") seps.nth(0).locator(".phase-prev").click() assert lines.evaluate("el => el.scrollTop") == 0 # Successes hide behind a collapsed expand-to-browse panel. assert page.locator("#succeeded-panel").get_attribute("open") is None page.locator("#succeeded-panel > summary").click() page.locator("#succeeded-list").get_by_text("zlib-1.3").wait_for() # Build-scoped search groups hits and jumps to the matching line. page.fill("#search-input", "error") page.locator("#search-results a[data-line]").first.click() hit = page.locator(".log-lines .logline.hit") hit.wait_for() assert hit.get_attribute("id") == "d0-L32" # A #d{idx}-L{n} permalink expands the collapsed Succeeded panel, opens # the toggle-loaded card, waits for its lazy rows, then highlights the # line -- even though the row did not exist at page load. page.goto("/repos/github/acme/widget/builds/2/logs/x86_64-linux.bad#d1-L1") linked = page.locator(".log-lines .logline.hit") linked.wait_for() > assert linked.get_attribute("id") == "d1-L1" E AssertionError: assert 'd0-L32' == 'd1-L1' E E - d1-L1 E + d0-L32 nixbot/tests/e2e/test_browse.py:95: AssertionError =========================== short test summary info ============================ FAILED nixbot/tests/e2e/test_browse.py::test_structured_log_viewer - Assertio... ================== 1 failed, 792 passed, 12 skipped in 22.78s ==================