this derivation will be built: /nix/store/yjwrykkvr80ljgipl1a4khv5w04l6ii2-treefmt-check.drv building '/nix/store/yjwrykkvr80ljgipl1a4khv5w04l6ii2-treefmt-check.drv' treefmt-check> treefmt v2.5.0traversed 493 files treefmt-check> emitted 345 files for processing treefmt-check> formatted 345 files (1 changed) in 1.054s treefmt-check> M checks/spaces-integrations-app-form/driver.py treefmt-check> diff --git a/checks/spaces-integrations-app-form/driver.py b/checks/spaces-integrations-app-form/driver.py treefmt-check> index 1e2aee7..b7b9f8e 100755 treefmt-check> --- a/checks/spaces-integrations-app-form/driver.py treefmt-check> +++ b/checks/spaces-integrations-app-form/driver.py treefmt-check> @@ -39,12 +39,16 @@ def main() -> None: treefmt-check> treefmt-check> broker = spawn( treefmt-check> [sys.executable, os.path.join(test_dir, "fake_broker.py"), sock_path], treefmt-check> - work_dir, "broker.log", env=env, treefmt-check> + work_dir, treefmt-check> + "broker.log", treefmt-check> + env=env, treefmt-check> ) treefmt-check> if not wait_for_path(sock_path, timeout_s=10): treefmt-check> fail(f"fake broker never bound {sock_path} (exit={broker.poll()})") treefmt-check> treefmt-check> - qs = Quickshell(qs_bin, shell_qml, env, work_dir, ipc_target="test:integrations-form") treefmt-check> + qs = Quickshell( treefmt-check> + qs_bin, shell_qml, env, work_dir, ipc_target="test:integrations-form" treefmt-check> + ) treefmt-check> qs.start() treefmt-check> treefmt-check> def die(msg): treefmt-check> @@ -94,10 +98,16 @@ def main() -> None: treefmt-check> # this is what the window-level form cache guarantees. treefmt-check> ipc("winRefresh", "mail") treefmt-check> time.sleep(0.3) treefmt-check> - for f, v in (("email", "me@x.com"), ("imap_host", "imap.x.com"), ("smtp_host", "smtp.x.com")): treefmt-check> + for f, v in ( treefmt-check> + ("email", "me@x.com"), treefmt-check> + ("imap_host", "imap.x.com"), treefmt-check> + ("smtp_host", "smtp.x.com"), treefmt-check> + ): treefmt-check> got = ipc("getValue", "mail", "__new__", f) treefmt-check> if got != v: treefmt-check> - die(f"a re-list dropped in-progress field {f!r}: got {got!r}, want {v!r}") treefmt-check> + die( treefmt-check> + f"a re-list dropped in-progress field {f!r}: got {got!r}, want {v!r}" treefmt-check> + ) treefmt-check> treefmt-check> ipc("setValue", "mail", "__new__", "password", "hunter2") treefmt-check> if ipc("formDirty", "mail", "__new__") != "true": treefmt-check> @@ -105,13 +115,19 @@ def main() -> None: treefmt-check> treefmt-check> # One Save writes the whole form. treefmt-check> if ipc("click", "profileSave-mail-work") != "clicked": treefmt-check> - die(f"profile Save button not clickable: {ipc('click', 'profileSave-mail-work')!r}") treefmt-check> + die( treefmt-check> + f"profile Save button not clickable: {ipc('click', 'profileSave-mail-work')!r}" treefmt-check> + ) treefmt-check> treefmt-check> if not wait_until(lambda: prof("work") is not None, timeout_s=15): treefmt-check> die(f"profile 'work' never appeared after Save: {mail()!r}") treefmt-check> p = prof("work") treefmt-check> cfg = p.get("config", {}) treefmt-check> - if cfg.get("email") != "me@x.com" or cfg.get("imap_host") != "imap.x.com" or cfg.get("smtp_host") != "smtp.x.com": treefmt-check> + if ( treefmt-check> + cfg.get("email") != "me@x.com" treefmt-check> + or cfg.get("imap_host") != "imap.x.com" treefmt-check> + or cfg.get("smtp_host") != "smtp.x.com" treefmt-check> + ): treefmt-check> die(f"config fields lost on Save (the regression): {p!r}") treefmt-check> if p.get("secrets", {}).get("password") is not True: treefmt-check> die(f"password secret not set after Save: {p!r}") error: Cannot build '/nix/store/yjwrykkvr80ljgipl1a4khv5w04l6ii2-treefmt-check.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/dpfpalmd2lw85c7q4444n2jlavl8hp2d-treefmt-check Last 25 log lines: > > ipc("setValue", "mail", "__new__", "password", "hunter2") > if ipc("formDirty", "mail", "__new__") != "true": > @@ -105,13 +115,19 @@ def main() -> None: > > # One Save writes the whole form. > if ipc("click", "profileSave-mail-work") != "clicked": > - die(f"profile Save button not clickable: {ipc('click', 'profileSave-mail-work')!r}") > + die( > + f"profile Save button not clickable: {ipc('click', 'profileSave-mail-work')!r}" > + ) > > if not wait_until(lambda: prof("work") is not None, timeout_s=15): > die(f"profile 'work' never appeared after Save: {mail()!r}") > p = prof("work") > cfg = p.get("config", {}) > - if cfg.get("email") != "me@x.com" or cfg.get("imap_host") != "imap.x.com" or cfg.get("smtp_host") != "smtp.x.com": > + if ( > + cfg.get("email") != "me@x.com" > + or cfg.get("imap_host") != "imap.x.com" > + or cfg.get("smtp_host") != "smtp.x.com" > + ): > die(f"config fields lost on Save (the regression): {p!r}") > if p.get("secrets", {}).get("password") is not True: > die(f"password secret not set after Save: {p!r}") For full logs, run: nix log /nix/store/yjwrykkvr80ljgipl1a4khv5w04l6ii2-treefmt-check.drv