Running phase: unpackPhase unpacking source archive /nix/store/rka7rdzl7f64izsc69xn44ddffj9h4z8-source source root is source Running phase: patchPhase Running phase: updateAutotoolsGnuConfigScriptsPhase Running phase: configurePhase no configure script, doing nothing Running phase: buildPhase Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build Skipping coordinate: {:git/url https://github.com/Ramblurr/coffi.git, :git/branch feat/update-tools-build, :git/sha 9b05e268b915b1992bfd4175cb7c8c7c45d8973a, :deps/manifest :deps, :deps/root /nix/store/fnm0xh19n7179lak59x1f1r2l0fprmrf-org.suskalo-coffi-9b05e268b915b1992bfd4175cb7c8c7c45d8973a-prepped, :parents #{[]}, :paths [/nix/store/fnm0xh19n7179lak59x1f1r2l0fprmrf-org.suskalo-coffi-9b05e268b915b1992bfd4175cb7c8c7c45d8973a-prepped/src/clj /nix/store/fnm0xh19n7179lak59x1f1r2l0fprmrf-org.suskalo-coffi-9b05e268b915b1992bfd4175cb7c8c7c45d8973a-prepped/target/classes /nix/store/fnm0xh19n7179lak59x1f1r2l0fprmrf-org.suskalo-coffi-9b05e268b915b1992bfd4175cb7c8c7c45d8973a-prepped/resources]} Skipping coordinate: {:git/sha 04f7bf854bcbe379df14e3f9d7221af9d0c030d6, :git/url https://github.com/outskirtslabs/clave.git, :deps/manifest :deps, :deps/root /nix/store/k51zqgrqnh5a0bxd2glkbdn8bkd9c870-clave-04f7bf8, :parents #{[]}, :paths [/nix/store/k51zqgrqnh5a0bxd2glkbdn8bkd9c870-clave-04f7bf8/src]} Running phase: checkPhase All source files formatted correctly linting took 634ms, errors: 0, warnings: 0 Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build --- h2o (clojure.test) --------------------------- ol.busker.dispatch-test dispatch-handler-test routes by entrypoint and resolves qualified symbols honors mutually exclusive groups and terminal dispatchers wraps middleware around dispatcher handlers ol.busker.clave-adapter-test start-managed-test starts clave, manages names, and returns before initial cert readiness post-activation certificate-failed events are consumed in the background build-managed-plan-test returns nil when no managed subject names exist extracts managed subject names and clave config from top-level tls wrap-handler-test returns original handler when runtime is nil composes acme middleware for challenge routes lookup-certificate-test returns nil when runtime is missing delegates to clave lookup stop-managed-test delegates stop to clave automation returns nil when runtime is nil ol.busker.large-payload-test response-body request-body ol.busker.http3-test server-no-udp-when-http3-disabled-test Server with :http3? false does not create UDP socket http3-request-with-streaming-body-test HTTP/3 streaming response works correctly http3-no-sni-default-domain-miss-no-crash-test HTTP/3 no-SNI miss fails closed without crashing the server process http3-and-http2-share-limit-test HTTP/3 and HTTP/2 connections share the global limit http3-zero-rtt-test HTTP/3 0-RTT early data detection create-quicly-context-test quicly context creation succeeds with valid ptls context non-tls-listener-no-http3-test Non-TLS listeners should not have HTTP/3 create-ptls-context-invalid-cert-test[SHIM DEBUG] failed to load certificates from nonexistent.crt ptls context creation returns nil with invalid cert http3-connection-limit-test HTTP/3 connections respect global max-connections limit ipv6-http2-and-http3-request-response-test A TLS IPv6 entrypoint serves both HTTP/2 and HTTP/3 traffic http3-graceful-shutdown-test Server gracefully shuts down HTTP/3 connections tcp-tls-session-resumption-test TCP TLS 1.2 session resumption via tickets http3-can-be-disabled-test TLS listeners can opt-out of HTTP/3 with :http3? false pooled-http3-udp-bind-retains-port-until-release-test A pooled HTTP/3 UDP bind keeps the port unavailable until release http3-global-limit-across-workers-test Connection limit is global across workers, not per-worker http3-early-data-key-present-test HTTP/3 requests include :ol.busker/early-data? key http3-request-response-test HTTP/3 request receives correct response http3-enabled-by-default-test TLS listeners should have HTTP/3 enabled by default http3-no-sni-managed-fallback-success-test HTTP/3 handshake without SNI succeeds when a managed fallback subject exists pooled-http3-udp-bind-supports-ipv6-host-test A pooled HTTP/3 UDP bind can reserve an IPv6 host server-creates-udp-listener-test Server with TLS listener creates UDP socket on same port create-ptls-context-test ptls context creation succeeds with valid cert/key tcp-tls13-session-resumption-test TCP TLS 1.3 session resumption via tickets ol.busker.config-test validate-top-level-tls-test rejects tls listeners when no global certificates are available rejects pem load entries with missing files bind-address-invalid-test rejects unsupported bind address forms entrypoint-http3-defaults-test defaults HTTP/3 from effective entrypoint TLS validate-entrypoint-selection-test rejects dispatch references to unknown entrypoints rejects HTTP/3 on explicit cleartext entrypoints rejects conflicting bind usage across entrypoints bind-address-valid-test accepts supported bind address forms load-new-config-shape-test loads top-level tls, map entrypoints, and dispatch defaults exposes config defaults used by the loader config->listeners-test flattens entrypoint map into listeners with entrypoint ids session-ticket-config-contract-test accepts the minimal active session ticket config rejects storage persistence without top-level tls storage rejects unknown session ticket knobs malformed session ticket values stay on the normal spec validation path parse-bind-test parses tcp binds parses unix binds rejects invalid bind values ol.busker.generation-test generation-starts-and-stops-without-runtime-bridge-test ol.busker.runtime-test cert-automation-reuse-and-replacement-test candidate-plan-skips-unchanged-snapshots-unless-forced-test runtime-starts-and-serves-one-generation-test state reports the running generation requests are served through the runtime handle stop! waits for the in-flight request to finish runtime-start-fails-when-automation-startup-fails-test candidate-plan-computes-listener-and-automation-deltas-test ol.busker.request-test write-request-channel-empty-final-chunk-test empty final chunks do not occupy the body queue write-request-channel-final-chunk-test a final chunk and EOF can be delivered before the handler reads ol.busker.reload-test memory-service-is-not-reused-after-mode-change-during-overlap-test reload-activates-while-managed-certificates-converge-test reload-reports-listener-acquisition-failure-stage-test stop-waits-for-active-and-draining-generations-test repeated-reloads-retain-multiple-draining-generations-test reload-reports-tls-startup-failure-stage-test reload-calls-serialize-through-lifecycle-gate-test http3-reload-with-worker-topology-increase-reuses-transport-and-routes-to-active-generation-test memory-session-tickets-not-reused-after-disabled-reload-test failed-startup-shuts-down-request-executor-test begin-drain-waits-for-stop-accepting-before-background-stop-test memory-session-tickets-survive-reload-test config-validation-precedes-request-executor-creation-test reload-publishes-candidate-before-old-generation-begins-drain-test memory-session-ticket-service-is-shared-during-reload-overlap-test http3-reload-activates-new-generation-and-drains-old-connections-test reload-failure-keeps-current-generation-active-test memory-session-ticket-policy-change-replaces-service-but-preserves-keys-test http3-reload-with-worker-topology-change-reuses-transport-and-routes-to-active-generation-test reload-activates-new-generation-and-drains-old-test failed-reload-does-not-leak-shared-ticket-native-manager-test ol.busker.server-test test-async async response 103 early hints sse tls-lookup-no-sni-uses-first-managed-subject-test lookup function routes missing SNI to the first managed subject name handlers-run-on-virtual-threads-test test-query-strings Query strings are parsed correctly test-different-status-codes Different status codes are returned correctly test-tls-listener TLS listener with HTTPS connections plaintext HTTP endpoint works HTTPS endpoint works HTTPS with HTTP/2 ALPN negotiation test-unix-socket-listener Unix socket listeners serve requests and clean up their socket path tls-lookup-no-sni-uses-first-static-certificate-test lookup function uses the first static certificate when SNI is absent managed-clave-lifecycle-test server starts/stops managed clave runtime with server lifecycle tls-lookup-prefers-static-certificate-test lookup function returns static cert/key material before clave lookup test-ipv6-request-info IPv6 listeners accept requests and expose correct Ring metadata persistent-session-ticket-resumption-survives-restart-test a saved TLS session resumes after restart when storage-backed tickets are enabled tcp-and-tls-share-limit-test TCP and TLS connections share the global limit tls-lookup-callback-lifecycle-test server builds lookup callback at startup test-simple-request simple chunked large gzip tls-lookup-falls-back-to-clave-test lookup function uses clave bundle when no static cert material exists tcp-tls-no-sni-falls-back-to-managed-subject-test TCP TLS handshake without SNI succeeds using the first managed subject name repeated-ring-headers-over-http1-and-http2-test h1 h2 persistent-session-ticket-keys-survive-restart-test top-level tls storage persists session ticket keys across restart tls-lookup-no-sni-miss-without-fallback-test lookup function returns miss when SNI is missing and no fallback material exists tcp-tls-no-sni-miss-without-fallback-test TCP TLS handshake without SNI fails when no fallback material exists tcp-connection-limit-test TCP connections respect global max-connections limit test-content-length content-length with get and head corrupt-persistent-session-ticket-file-fails-startup-test storage-backed startup fails against a corrupt persisted session ticket file test-request-info Request info is correctly populated test-ring-body-types All Ring StreamableResponseBody types work correctly String body Byte array body Sequence body File body InputStream body Nil body No body (204) tls-storage-alone-does-not-enable-ticket-persistence-test top-level tls storage without persistence selector remains memory only persistent-session-ticket-resumption-works-across-peer-processes-test a saved TLS session resumes against a peer Busker process sharing the same storage root ring-cookie-and-session-middleware-response-headers-test disabled-session-tickets-skip-native-ticket-manager-test disabled session tickets do not create ticket manager state test-host-header-without-request-body domain Host headers do not make empty requests enter body streaming ol.busker.byte-bounded-queue-test close-test Close prevents new puts Close allows draining existing items Close is idempotent zero-byte-items-test Zero-byte items don't consume capacity byte-bounded-spsc-queue-creation-test Creates queue with valid capacity Rejects invalid capacity backpressure-test Put blocks when capacity exceeded Rejects item larger than capacity accounting-accuracy-test Accounting remains accurate across operations put-and-drain-test Put and drain single item Put and drain multiple items Drain respects max-bytes limit Drain returns empty vector when queue is empty ol.busker-test public-api-managed-reload-stays-healthy-after-delayed-certificate-failure-test public-api-unchanged-and-failed-reload-test public-api-start-stop-and-state-test The public API starts the server and exposes pure state data public-api-reload-test ol.busker.listen-test pooled-tcp-claim-retains-port-until-final-release-test TCP claims keep the bound port unavailable until the final release pooled-unix-claim-retains-path-until-final-release-test Unix socket claims keep the socket path alive until the final release pooled-claims-expose-live-resources-test Claims return the live pooled resource for reuse pooled-unix-claim-refuses-preexisting-nonsocket-path-test Unix socket claims refuse to overwrite a pre-existing non-socket path pooled-abstract-unix-claim-has-no-filesystem-side-effects-test Abstract unix socket claims never create filesystem paths pooled-unix-final-cleanup-skips-replacement-nonsocket-file-test Final unix cleanup leaves a replacement non-socket file alone pooled-ipv6-tcp-claim-retains-port-until-final-release-test IPv6 TCP claims keep the bound port unavailable until the final release pooled-unix-claim-replaces-stale-socket-file-test Unix socket claims replace a stale socket file before binding pooled-udp-claim-retains-port-until-final-release-test UDP claims keep the bound port unavailable until the final release listener-key-normalizes-bind-identity-test Listener keys normalize host defaults and keep transports distinct ol.busker.util-test parse-authority-test parses valid RFC 9110 host forms treats malformed authorities as opaque values with the default port ol.busker.specs-test every-spec-has-descriptor-map-test each Busker spec key has a descriptor map var with :key/:doc/:default managed-plan-spec-test managed plan conforms when using managed subject names managed plan rejects empty subject names ol.busker.tickets-test storage-ticket-store-startup-fails-on-storage-read-error-test storage-backed startup fails when persisted ticket data cannot be read rotate-keys-trims-retained-set-to-max-keys-test rotation keeps only the newest max-keys valid entries storage-ticket-store-startup-fails-on-corrupt-persisted-data-test storage-backed startup fails when persisted ticket data is corrupt rotate-keys-preserves-distinct-full-ticket-names-test rotation keeps keys whose 16-byte names differ even if the first byte matches storage-ticket-store-startup-persists-immediately-test storage-backed startup persists keys under the fixed storage key and lock storage-ticket-store-persists-rotation-schedule-metadata-test storage-backed snapshots persist explicit rotation schedule metadata memory-ticket-store-does-not-persist-across-managers-test memory-only stores lose keys across restart storage-ticket-store-startup-reuses-existing-keys-test storage-backed startup reloads the stored snapshot instead of generating a new one storage-ticket-store-reuses-persisted-keys-across-managers-test two managers using the same storage root converge on one stored key set rotate-keys-max-keys-one-activates-replacement-immediately-test rotation with max-keys 1 keeps an immediately valid encryption key storage-ticket-store-startup-honors-stored-next-rotation-ms-test storage-backed startup trusts persisted next-rotation timing instead of deriving it from key age storage-ticket-store-startup-fails-when-storage-is-unavailable-test storage-backed startup treats storage lock failures as fatal ol.busker.examples-test sse-example-test events stream brotli stream protocol headers first-server-example-test plain HTTP hello built-in gzip compression first-server-doc-source-test https-http3-guide-config-test early-hints-example-test html and css early hints over http2 protocol headers quickstart-example-test HTTP/1.1 keep-alive promptly serves the next request hello, echo, and large response protocol headers examples-layout-test quickstart early-hints sse first-server 142 tests, 852 assertions, 0 failures. checkPhase completed in 1 minutes 44 seconds Running phase: installPhase Running phase: fixupPhase shrinking RPATHs of ELF executables and libraries in /nix/store/2ifmji7zs88nq3hk6n8ckq21y6d0k6k2-busker-0.0.2 checking for references to /build/ in /nix/store/2ifmji7zs88nq3hk6n8ckq21y6d0k6k2-busker-0.0.2... patching script interpreter paths in /nix/store/2ifmji7zs88nq3hk6n8ckq21y6d0k6k2-busker-0.0.2