nixbot

builds
unpackPhase
1unpacking source archive /nix/store/wwsjd21m5lmxqyw2p3krh1zw5a1dsjnh-source2source root is source
configurePhase
3no configure script, doing nothing
buildPhase
4Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build5Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build6Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build7Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build8Skipping 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]}9Skipping 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]}
checkPhase
10All source files formatted correctly11linting took 600ms, errors: 0, warnings: 012Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build13Picked up JAVA_TOOL_OPTIONS: -Duser.home=/nix/store/rh84p9pd70gz5b0q43ycvjnwpi2ra74n-clojure-home -Djava.io.tmpdir=/build14--- h2o (clojure.test) ---------------------------15ol.busker.tickets-test16 rotate-keys-max-keys-one-activates-replacement-immediately-test17 rotation with max-keys 1 keeps an immediately valid encryption key18 rotate-keys-preserves-distinct-full-ticket-names-test19 rotation keeps keys whose 16-byte names differ even if the first byte matches20 storage-ticket-store-startup-fails-on-storage-read-error-test21 storage-backed startup fails when persisted ticket data cannot be read22 storage-ticket-store-startup-honors-stored-next-rotation-ms-test23 storage-backed startup trusts persisted next-rotation timing instead of deriving it from key age24 storage-ticket-store-startup-fails-on-corrupt-persisted-data-test25 storage-backed startup fails when persisted ticket data is corrupt26 rotate-keys-trims-retained-set-to-max-keys-test27 rotation keeps only the newest max-keys valid entries28 storage-ticket-store-startup-persists-immediately-test29 storage-backed startup persists keys under the fixed storage key and lock30 storage-ticket-store-reuses-persisted-keys-across-managers-test31 two managers using the same storage root converge on one stored key set32 storage-ticket-store-startup-reuses-existing-keys-test33 storage-backed startup reloads the stored snapshot instead of generating a new one34 storage-ticket-store-startup-fails-when-storage-is-unavailable-test35 storage-backed startup treats storage lock failures as fatal36 memory-ticket-store-does-not-persist-across-managers-test37 memory-only stores lose keys across restart38 storage-ticket-store-persists-rotation-schedule-metadata-test39 storage-backed snapshots persist explicit rotation schedule metadata4041ol.busker.config-test42 bind-address-invalid-test43 rejects unsupported bind address forms44 session-ticket-config-contract-test45 accepts the minimal active session ticket config46 rejects storage persistence without top-level tls storage47 rejects unknown session ticket knobs48 malformed session ticket values stay on the normal spec validation path49 parse-bind-test50 parses tcp binds51 parses unix binds52 rejects invalid bind values53 validate-entrypoint-selection-test54 rejects dispatch references to unknown entrypoints55 rejects HTTP/3 on explicit cleartext entrypoints56 rejects conflicting bind usage across entrypoints57 config->listeners-test58 flattens entrypoint map into listeners with entrypoint ids59 bind-address-valid-test60 accepts supported bind address forms61 load-new-config-shape-test62 loads top-level tls, map entrypoints, and dispatch defaults63 exposes config defaults used by the loader64 entrypoint-http3-defaults-test65 defaults HTTP/3 from effective entrypoint TLS66 validate-top-level-tls-test67 rejects tls listeners when no global certificates are available68 rejects pem load entries with missing files6970ol.busker-test71 public-api-unchanged-and-failed-reload-test72 public-api-managed-reload-stays-healthy-after-delayed-certificate-failure-test73 public-api-reload-test74 public-api-start-stop-and-state-test75 The public API starts the server and exposes pure state data7677ol.busker.http3-test78 http3-can-be-disabled-test79 TLS listeners can opt-out of HTTP/3 with :http3? false80 server-creates-udp-listener-test81 Server with TLS listener creates UDP socket on same port82 http3-no-sni-managed-fallback-success-test83 HTTP/3 handshake without SNI succeeds when a managed fallback subject exists84 http3-and-http2-share-limit-test85 HTTP/3 and HTTP/2 connections share the global limit86 pooled-http3-udp-bind-retains-port-until-release-test87 A pooled HTTP/3 UDP bind keeps the port unavailable until release88 create-quicly-context-test89 quicly context creation succeeds with valid ptls context90 http3-no-sni-default-domain-miss-no-crash-test91 HTTP/3 no-SNI miss fails closed without crashing the server process92 create-ptls-context-invalid-cert-test[SHIM DEBUG] failed to load certificates from nonexistent.crt9394 ptls context creation returns nil with invalid cert95 server-no-udp-when-http3-disabled-test96 Server with :http3? false does not create UDP socket97 http3-request-response-test98 HTTP/3 request receives correct response99 pooled-http3-udp-bind-supports-ipv6-host-test100 A pooled HTTP/3 UDP bind can reserve an IPv6 host101 http3-connection-limit-test102 HTTP/3 connections respect global max-connections limit103 http3-graceful-shutdown-test104 Server gracefully shuts down HTTP/3 connections105 tcp-tls-session-resumption-test106 TCP TLS 1.2 session resumption via tickets107 http3-early-data-key-present-test108 HTTP/3 requests include :ol.busker/early-data? key109 http3-zero-rtt-test110 HTTP/3 0-RTT early data detection111 non-tls-listener-no-http3-test112 Non-TLS listeners should not have HTTP/3113 ipv6-http2-and-http3-request-response-test114 A TLS IPv6 entrypoint serves both HTTP/2 and HTTP/3 traffic115 create-ptls-context-test116 ptls context creation succeeds with valid cert/key117 tcp-tls13-session-resumption-test118 TCP TLS 1.3 session resumption via tickets119 http3-global-limit-across-workers-test120 Connection limit is global across workers, not per-worker121 http3-request-with-streaming-body-test122 HTTP/3 streaming response works correctly123 http3-enabled-by-default-test124 TLS listeners should have HTTP/3 enabled by default125126ol.busker.clave-adapter-test127 stop-managed-test128 delegates stop to clave automation129 returns nil when runtime is nil130 wrap-handler-test131 returns original handler when runtime is nil132 composes acme middleware for challenge routes133 build-managed-plan-test134 returns nil when no managed subject names exist135 extracts managed subject names and clave config from top-level tls136 start-managed-test137 starts clave, manages names, and returns before initial cert readiness138 post-activation certificate-failed events are consumed in the background139 lookup-certificate-test140 returns nil when runtime is missing141 delegates to clave lookup142143ol.busker.listen-test144 pooled-abstract-unix-claim-has-no-filesystem-side-effects-test145 Abstract unix socket claims never create filesystem paths146 pooled-ipv6-tcp-claim-retains-port-until-final-release-test147 IPv6 TCP claims keep the bound port unavailable until the final release148 pooled-udp-claim-retains-port-until-final-release-test149 UDP claims keep the bound port unavailable until the final release150 pooled-unix-claim-refuses-preexisting-nonsocket-path-test151 Unix socket claims refuse to overwrite a pre-existing non-socket path152 pooled-unix-claim-replaces-stale-socket-file-test153 Unix socket claims replace a stale socket file before binding154 listener-key-normalizes-bind-identity-test155 Listener keys normalize host defaults and keep transports distinct156 pooled-unix-claim-retains-path-until-final-release-test157 Unix socket claims keep the socket path alive until the final release158 pooled-tcp-claim-retains-port-until-final-release-test159 TCP claims keep the bound port unavailable until the final release160 pooled-unix-final-cleanup-skips-replacement-nonsocket-file-test161 Final unix cleanup leaves a replacement non-socket file alone162 pooled-claims-expose-live-resources-test163 Claims return the live pooled resource for reuse164165ol.busker.generation-test166 generation-starts-and-stops-without-runtime-bridge-test167168ol.busker.specs-test169 managed-plan-spec-test170 managed plan conforms when using managed subject names171 managed plan rejects empty subject names172 every-spec-has-descriptor-map-test173 each Busker spec key has a descriptor map var with :key/:doc/:default174175ol.busker.request-test176 write-request-channel-empty-final-chunk-test177 empty final chunks do not occupy the body queue178 write-request-channel-final-chunk-test179 a final chunk and EOF can be delivered before the handler reads180181ol.busker.dispatch-test182 dispatch-handler-test183 routes by entrypoint and resolves qualified symbols184 honors mutually exclusive groups and terminal dispatchers185 wraps middleware around dispatcher handlers186187ol.busker.byte-bounded-queue-test188 close-test189 Close prevents new puts190 Close allows draining existing items191 Close is idempotent192 backpressure-test193 Put blocks when capacity exceeded194 Rejects item larger than capacity195 zero-byte-items-test196 Zero-byte items don't consume capacity197 byte-bounded-spsc-queue-creation-test198 Creates queue with valid capacity199 Rejects invalid capacity200 accounting-accuracy-test201 Accounting remains accurate across operations202 put-and-drain-test203 Put and drain single item204 Put and drain multiple items205 Drain respects max-bytes limit206 Drain returns empty vector when queue is empty207208ol.busker.large-payload-test209 response-body210 request-body211212ol.busker.runtime-test213 runtime-starts-and-serves-one-generation-test214 state reports the running generation215 requests are served through the runtime handle216 stop! waits for the in-flight request to finish217 candidate-plan-skips-unchanged-snapshots-unless-forced-test218 candidate-plan-computes-listener-and-automation-deltas-test219 cert-automation-reuse-and-replacement-test220 runtime-start-fails-when-automation-startup-fails-test221222ol.busker.examples-test223 first-server-doc-source-test FAIL224 quickstart-example-test225 HTTP/1.1 keep-alive promptly serves the next request226 hello, echo, and large response227 protocol headers228 examples-layout-test229 quickstart230 early-hints231 sse232 first-server FAIL233 first-server-example-test234 plain HTTP hello235 built-in gzip compression236 sse-example-test237 events stream238 brotli stream239 protocol headers240 early-hints-example-test241 html and css242 early hints over http2243 protocol headers244245ol.busker.util-test246 parse-authority-test247 parses valid RFC 9110 host forms248 treats malformed authorities as opaque values with the default port249250ol.busker.reload-test251 failed-reload-does-not-leak-shared-ticket-native-manager-test252 memory-session-ticket-policy-change-replaces-service-but-preserves-keys-test253 http3-reload-with-worker-topology-increase-reuses-transport-and-routes-to-active-generation-test254 stop-waits-for-active-and-draining-generations-test255 reload-calls-serialize-through-lifecycle-gate-test256 begin-drain-waits-for-stop-accepting-before-background-stop-test257 http3-reload-activates-new-generation-and-drains-old-connections-test258 reload-activates-while-managed-certificates-converge-test259 http3-reload-with-worker-topology-change-reuses-transport-and-routes-to-active-generation-test260 repeated-reloads-retain-multiple-draining-generations-test261 reload-reports-tls-startup-failure-stage-test262 reload-reports-listener-acquisition-failure-stage-test263 memory-session-tickets-survive-reload-test264 memory-session-ticket-service-is-shared-during-reload-overlap-test265 memory-service-is-not-reused-after-mode-change-during-overlap-test266 memory-session-tickets-not-reused-after-disabled-reload-test267 reload-failure-keeps-current-generation-active-test268 reload-publishes-candidate-before-old-generation-begins-drain-test269 reload-activates-new-generation-and-drains-old-test270271ol.busker.server-test272 tcp-and-tls-share-limit-test273 TCP and TLS connections share the global limit274 test-query-strings275 Query strings are parsed correctly276 persistent-session-ticket-keys-survive-restart-test277 top-level tls storage persists session ticket keys across restart278 persistent-session-ticket-resumption-works-across-peer-processes-test279 a saved TLS session resumes against a peer Busker process sharing the same storage root280 test-ipv6-request-info281 IPv6 listeners accept requests and expose correct Ring metadata282 tls-storage-alone-does-not-enable-ticket-persistence-test283 top-level tls storage without persistence selector remains memory only284 test-different-status-codes285 Different status codes are returned correctly286 persistent-session-ticket-resumption-survives-restart-test287 a saved TLS session resumes after restart when storage-backed tickets are enabled288 tls-lookup-callback-lifecycle-test289 server builds lookup callback at startup290 test-async291 async response292 103 early hints293 sse294 test-content-length295 content-length with get and head296 tls-lookup-no-sni-uses-first-static-certificate-test297 lookup function uses the first static certificate when SNI is absent298 tls-lookup-prefers-static-certificate-test299 lookup function returns static cert/key material before clave lookup300 test-host-header-without-request-body301 domain Host headers do not make empty requests enter body streaming302 test-request-info303 Request info is correctly populated304 test-tls-listener305 TLS listener with HTTPS connections306 plaintext HTTP endpoint works307 HTTPS endpoint works308 HTTPS with HTTP/2 ALPN negotiation309 tls-lookup-falls-back-to-clave-test310 lookup function uses clave bundle when no static cert material exists311 test-ring-body-types312 All Ring StreamableResponseBody types work correctly313 String body314 Byte array body315 Sequence body316 File body317 InputStream body318 Nil body319 No body (204)320 tcp-tls-no-sni-falls-back-to-managed-subject-test321 TCP TLS handshake without SNI succeeds using the first managed subject name322 ring-cookie-and-session-middleware-response-headers-test323 tcp-tls-no-sni-miss-without-fallback-test324 TCP TLS handshake without SNI fails when no fallback material exists325 tls-lookup-no-sni-uses-first-managed-subject-test326 lookup function routes missing SNI to the first managed subject name327 repeated-ring-headers-over-http1-and-http2-test328 h1329 h2330 test-simple-request331 simple332 chunked333 large334 gzip335 corrupt-persistent-session-ticket-file-fails-startup-test336 storage-backed startup fails against a corrupt persisted session ticket file337 test-unix-socket-listener338 Unix socket listeners serve requests and clean up their socket path339 managed-clave-lifecycle-test340 server starts/stops managed clave runtime with server lifecycle341 tls-lookup-no-sni-miss-without-fallback-test342 lookup function returns miss when SNI is missing and no fallback material exists343 disabled-session-tickets-skip-native-ticket-manager-test344 disabled session tickets do not create ticket manager state345 tcp-connection-limit-test346 TCP connections respect global max-connections limit347348Randomized with --seed 1796448274349350FAIL in ol.busker.examples-test/first-server-doc-source-test (examples_test.clj:135)351Expected:352 {:deps "{:paths [\".\"]\n :deps {org.clojure/clojure {:mvn/version \"1.12.5\"}\n com.outskirtslabs/busker {:git/url \"https://github.com/outskirtslabs/busker\"\n :git/sha \"07fb6b7962a8d534bbb11006c78a4c5a99160d97\"}\n ;; Choose the package for your platform.\n com.outskirtslabs.busker/linux-x86-64 {:mvn/version \"0.0.4\"}}\n :aliases {:repl {:jvm-opts [\"--enable-native-access=ALL-UNNAMED\"]}}}",353 :main "(ns main\n (:require\n [ol.busker :as busker]))\n\n(defn handler\n [req]\n {:status 200\n :headers {\"content-type\" \"text/plain; charset=utf-8\"}\n :body (str \"Hello from Busker over \" (:protocol req) \".\\n\"\n \"Busker can compress this response automatically when the client asks for it.\\n\")})\n\n(def config\n {:entrypoints {:http {:bind \"127.0.0.1:8080\"\n :tls false}}\n :dispatch [{:handler handler}]})\n\n(def server (atom nil))\n\n(defn start!\n []\n (reset! server (busker/start! config))\n nil)\n\n(defn stop!\n []\n (busker/stop! @server)\n (reset! server nil))"}354Actual:355 {:deps -"{:paths [\".\"]\n :deps {org.clojure/clojure {:mvn/version \"1.12.5\"}\n com.outskirtslabs/busker {:git/url \"https://github.com/outskirtslabs/busker\"\n :git/sha \"07fb6b7962a8d534bbb11006c78a4c5a99160d97\"}\n ;; Choose the package for your platform.\n com.outskirtslabs.busker/linux-x86-64 {:mvn/version \"0.0.4\"}}\n :aliases {:repl {:jvm-opts [\"--enable-native-access=ALL-UNNAMED\"]}}}"356 +"{:paths [\".\"]\n :deps {org.clojure/clojure {:mvn/version \"1.12.5\"}\n ;; Choose the package for your platform.\n com.outskirtslabs.busker/linux-x86-64 {:mvn/version \"0.0.4\"}\n\n com.outskirtslabs/busker {:git/url \"https://github.com/outskirtslabs/busker\"\n :git/sha \"07fb6b7962a8d534bbb11006c78a4c5a99160d97\"}}\n :aliases {:repl {:jvm-opts [\"--enable-native-access=ALL-UNNAMED\"]}}}",357 :main "(ns main\n (:require\n [ol.busker :as busker]))\n\n(defn handler\n [req]\n {:status 200\n :headers {\"content-type\" \"text/plain; charset=utf-8\"}\n :body (str \"Hello from Busker over \" (:protocol req) \".\\n\"\n \"Busker can compress this response automatically when the client asks for it.\\n\")})\n\n(def config\n {:entrypoints {:http {:bind \"127.0.0.1:8080\"\n :tls false}}\n :dispatch [{:handler handler}]})\n\n(def server (atom nil))\n\n(defn start!\n []\n (reset! server (busker/start! config))\n nil)\n\n(defn stop!\n []\n (busker/stop! @server)\n (reset! server nil))"}358359FAIL in ol.busker.examples-test/examples-layout-test (examples_test.clj:126)360first-server361Expected:362 ["-m" "main"]363Actual:364 -["-m" "main"] +nil365138 tests, 843 assertions, 2 failures.