b4005bee

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Run the test suite under Nix

Build the full dependency closure from uv.lock with uv2nix and run pytest:

* checks.pytest runs the offline test suite inside `nix build` (pure):
  984 passing, with the handful of tests that fetch real URLs deselected.
* packages.impure-test runs the full suite (incl. those network tests);
  nix-ci.nix wires it up as a NixCI impure `test` job.

Also exposes packages.test-env (the test virtualenv).

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 2m28s 7s 7s 2m36s 2m28s
Eval 2m36s 24s 24s 3m00s 0s
Build 49m45s 22s 3m56s 53m41s 50m18s
Test 50m21s 16s 16s 50m38s 0s
Suite 2m28s 1m11s 51m13s 53m41s 52m46s

Timeline

0s2m30s2m40s2m50s3m50m20s50m30s53m40s