this derivation will be built: /nix/store/afqsrisjn7nwcgyq2kzas12afqy8nngv-nad-api-0.2.drv these 3 paths will be fetched (0.0 KiB download, 265.5 KiB unpacked): /nix/store/qpa9j1g0k00vykrgi3crpq2fkvqdxwpq-clojure-home /nix/store/k6w8r29qr9h9ns228fhwddp9pifvm743-clojure-nix-locker.shell-env /nix/store/v7k3cvz8n1p82j8gy30z9j09djjaryc0-maven-repo-cache building '/nix/store/afqsrisjn7nwcgyq2kzas12afqy8nngv-nad-api-0.2.drv' on 'ssh-ng://nix-remote-build@quine.prim.private.invalid' building '/nix/store/afqsrisjn7nwcgyq2kzas12afqy8nngv-nad-api-0.2.drv' nad-api-0.2> Running phase: unpackPhase nad-api-0.2> unpacking source archive /nix/store/ac6ar9l119amisviwjqaybb2723v29d6-d7sq5fa46brl1gzpm657378n2kr3gx37-source nad-api-0.2> source root is d7sq5fa46brl1gzpm657378n2kr3gx37-source nad-api-0.2> Running phase: patchPhase nad-api-0.2> Running phase: updateAutotoolsGnuConfigScriptsPhase nad-api-0.2> Running phase: configurePhase nad-api-0.2> no configure script, doing nothing nad-api-0.2> Running phase: buildPhase nad-api-0.2> Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/qpa9j1g0k00vykrgi3crpq2fkvqdxwpq-clojure-home nad-api-0.2> Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/qpa9j1g0k00vykrgi3crpq2fkvqdxwpq-clojure-home nad-api-0.2> Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/qpa9j1g0k00vykrgi3crpq2fkvqdxwpq-clojure-home nad-api-0.2> Running phase: checkPhase nad-api-0.2> Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/qpa9j1g0k00vykrgi3crpq2fkvqdxwpq-clojure-home nad-api-0.2> Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/qpa9j1g0k00vykrgi3crpq2fkvqdxwpq-clojure-home nad-api-0.2> --- unit (clojure.test) --------------------------- nad-api-0.2> ol.nad-api.commands-test nad-api-0.2> build-command-test nad-api-0.2> builds query commands nad-api-0.2> builds set commands with values nad-api-0.2> builds increment/decrement commands nad-api-0.2> commands-registry-test nad-api-0.2> commands map exists and contains expected Main domain keys nad-api-0.2> commands map contains Zone2 domain keys nad-api-0.2> each command has required keys nad-api-0.2> valid-operator-test nad-api-0.2> validates operators for main commands nad-api-0.2> model and version only support query operator nad-api-0.2> zone2 commands support standard operators nad-api-0.2> returns false for unknown commands nad-api-0.2> nad-api-0.2> ol.nad-api.telnet-test nad-api-0.2> connect-test nad-api-0.2> connects to NAD receiver and returns connection nad-api-0.2> reads initial model response on connect nad-api-0.2> parse-introspection-response-test nad-api-0.2> parses multi-line introspection response into set of command names nad-api-0.2> handles empty response nad-api-0.2> filters out lines without equals sign nad-api-0.2> parse-command-test nad-api-0.2> extracts command name before operator nad-api-0.2> returns nil for invalid commands nad-api-0.2> introspect-test nad-api-0.2> sends ? command and parses supported commands nad-api-0.2> filters supported commands against registry nad-api-0.2> send-command-test nad-api-0.2> sends query command and returns response nad-api-0.2> sends set command and returns response nad-api-0.2> sends increment command and returns response nad-api-0.2> default-config-test nad-api-0.2> default-config has expected structure nad-api-0.2> make-config-test nad-api-0.2> creates config with host and defaults nad-api-0.2> allows overriding port nad-api-0.2> allows overriding timeout nad-api-0.2> allows overriding both nad-api-0.2> wrap-command-test nad-api-0.2> wraps command with telnet line endings nad-api-0.2> unwrap-response-test nad-api-0.2> strips leading newline and trailing carriage return nad-api-0.2> handles response without line endings nad-api-0.2> handles partial line endings nad-api-0.2> send-command-validation-test nad-api-0.2> allows supported commands after introspection nad-api-0.2> throws for unsupported commands after introspection nad-api-0.2> allows any command without introspection nad-api-0.2> disconnect-test nad-api-0.2> disconnects and closes socket nad-api-0.2> disconnecting twice is safe nad-api-0.2> parse-response-test nad-api-0.2> extracts value after equals sign nad-api-0.2> returns nil for response without equals nad-api-0.2> handles values containing equals sign nad-api-0.2> finds specific command in multi-line response nad-api-0.2> returns nil when command not found in multi-line nad-api-0.2> handles T778-style temperature dump nad-api-0.2> nad-api-0.2> ol.nad-api.web-test nad-api-0.2> handler-get-test nad-api-0.2> GET queries device and returns JSON nad-api-0.2> GET returns 404 for unknown command nad-api-0.2> GET returns 404 for unknown device nad-api-0.2> handler-post-test nad-api-0.2> POST with = operator sets value nad-api-0.2> POST with + operator increments nad-api-0.2> POST returns 400 for missing operator nad-api-0.2> POST returns 400 for invalid operator nad-api-0.2> POST returns 400 for missing value with = operator nad-api-0.2> available-commands-test nad-api-0.2> intersects supported-commands with registry nad-api-0.2> returns empty set when no overlap nad-api-0.2> returns empty set for nil input nad-api-0.2> returns empty set for empty input nad-api-0.2> handler-api-root-test nad-api-0.2> GET /api returns list of all devices nad-api-0.2> make-device-routes-test nad-api-0.2> generates routes for device with commands plus discovery and reconnect nad-api-0.2> device discovery route has only GET handler nad-api-0.2> reconnect route has only POST handler nad-api-0.2> command routes have GET and POST handlers nad-api-0.2> returns discovery and reconnect routes even for empty commands nad-api-0.2> handler-multiple-devices-test nad-api-0.2> handler supports multiple devices nad-api-0.2> handler-device-discovery-test nad-api-0.2> GET /api/{device} returns device info and supported commands nad-api-0.2> handler-recovers-from-disconnected-startup-test nad-api-0.2> command routes work after a device starts disconnected nad-api-0.2> nad-api-0.2> ol.nad-api-test nad-api-0.2> e2e-mute-toggle-test nad-api-0.2> mute can be toggled on and off nad-api-0.2> e2e-query-state-test nad-api-0.2> GET request returns current device state nad-api-0.2> xdg-config-home-test nad-api-0.2> returns path ending with .config when XDG_CONFIG_HOME not set nad-api-0.2> e2e-home-assistant-workflow-test nad-api-0.2> simulates Home Assistant switch integration workflow nad-api-0.2> e2e-error-handling-test nad-api-0.2> returns 404 for unknown commands nad-api-0.2> returns 400 for invalid operator nad-api-0.2> returns 400 for missing value with = operator nad-api-0.2> find-config-file-test nad-api-0.2> uses --config-file option first when file exists nad-api-0.2> falls back to ./config.edn when it exists nad-api-0.2> exception contains searched paths and hint nad-api-0.2> prefers --config-file over ./config.edn nad-api-0.2> parse-args-test nad-api-0.2> parses --config-file option nad-api-0.2> returns empty map for no args nad-api-0.2> ignores unknown args nad-api-0.2> handles --config-file at end of args nad-api-0.2> e2e-connection-and-introspection-test nad-api-0.2> connects to device and discovers supported commands nad-api-0.2> system-starts-when-device-is-unreachable-test nad-api-0.2> api/start does not fail when a configured device is offline nad-api-0.2> e2e-set-power-test nad-api-0.2> POST request changes device power state nad-api-0.2> e2e-source-selection-test nad-api-0.2> source can be changed nad-api-0.2> e2e-volume-control-test nad-api-0.2> volume can be set, incremented, and decremented nad-api-0.2> nad-api-0.2> ol.nad-api.sockets-test nad-api-0.2> write-test nad-api-0.2> writes string to socket nad-api-0.2> connect-test nad-api-0.2> connects to a server and returns a socket nad-api-0.2> throws on connection timeout to unreachable host nad-api-0.2> close-test nad-api-0.2> closes an open socket nad-api-0.2> closing already closed socket is safe nad-api-0.2> read-until-test nad-api-0.2> reads until delimiter character nad-api-0.2> reads multiple segments until delimiter nad-api-0.2> nad-api-0.2> 39 tests, 245 assertions, 0 failures. nad-api-0.2> checkPhase completed in 33 seconds nad-api-0.2> Running phase: installPhase nad-api-0.2> Running phase: fixupPhase nad-api-0.2> shrinking RPATHs of ELF executables and libraries in /nix/store/jlh6da27cxkjqhp0qvqjif5v36rif3bk-nad-api-0.2 nad-api-0.2> checking for references to /build/ in /nix/store/jlh6da27cxkjqhp0qvqjif5v36rif3bk-nad-api-0.2... nad-api-0.2> patching script interpreter paths in /nix/store/jlh6da27cxkjqhp0qvqjif5v36rif3bk-nad-api-0.2 nad-api-0.2> stripping (with command strip and flags -S -p) in /nix/store/jlh6da27cxkjqhp0qvqjif5v36rif3bk-nad-api-0.2/bin