these 4 derivations will be built: /nix/store/cyx971fng3bx1amf1bxizxghh7cwm0v6-rustfs-1.0.0-beta.7-vendor.drv /nix/store/hadzw9zndwh29kw358rdy4qqgxlcndgr-niks3-tests-1.4.0.drv /nix/store/ys2pky45lbrfbiri05xb57m2w6h6psi5-rustfs-1.0.0-beta.7.drv /nix/store/wzc208pbgkn6mawjqiha9flprqwkksgn-niks3-go-unit-tests.drv these 2 paths will be fetched (5.7 MiB download, 27.8 MiB unpacked): /nix/store/si44flzvdimg34alxxh2cwfjdrqi25cy-postgresql-18.4-dev /nix/store/8yy5ky0994sbcnc1dgymssl7pl57g14b-postgresql-18.4-doc Failed to find a machine for remote build! derivation: hadzw9zndwh29kw358rdy4qqgxlcndgr-niks3-tests-1.4.0.drv required (system, features): (aarch64-linux, []) 1 available machines: (systems, maxjobs, supportedFeatures, mandatoryFeatures) ([aarch64-darwin, x86_64-darwin], 8, [big-parallel, recursive-nix], []) building '/nix/store/hadzw9zndwh29kw358rdy4qqgxlcndgr-niks3-tests-1.4.0.drv' niks3-tests-1.4.0> tribuchet: building on eliza niks3-tests-1.4.0> Running phase: unpackPhase niks3-tests-1.4.0> unpacking source archive /nix/store/nn90an5yfag71lapdq6n2prxp5aq4prj-source niks3-tests-1.4.0> source root is source niks3-tests-1.4.0> Running phase: patchPhase niks3-tests-1.4.0> Running phase: updateAutotoolsGnuConfigScriptsPhase niks3-tests-1.4.0> Running phase: configurePhase niks3-tests-1.4.0> Running phase: buildPhase niks3-tests-1.4.0> buildPhase completed in 45 seconds niks3-tests-1.4.0> Running phase: installPhase niks3-tests-1.4.0> Running phase: fixupPhase niks3-tests-1.4.0> shrinking RPATHs of ELF executables and libraries in /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0 niks3-tests-1.4.0> shrinking /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0/bin/niks3-hook.test niks3-tests-1.4.0> shrinking /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0/bin/niks3-server-oidc.test niks3-tests-1.4.0> shrinking /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0/bin/niks3-client.test niks3-tests-1.4.0> shrinking /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0/bin/niks3-server.test niks3-tests-1.4.0> checking for references to /build/ in /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0... niks3-tests-1.4.0> patching script interpreter paths in /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0 niks3-tests-1.4.0> stripping (with command strip and flags -S -p) in /nix/store/cyl0k6zcgabshq0i05kbsv8agk2w7pi4-niks3-tests-1.4.0/bin Failed to find a machine for remote build! derivation: wzc208pbgkn6mawjqiha9flprqwkksgn-niks3-go-unit-tests.drv required (system, features): (aarch64-linux, []) 1 available machines: (systems, maxjobs, supportedFeatures, mandatoryFeatures) ([aarch64-darwin, x86_64-darwin], 8, [big-parallel, recursive-nix], []) building '/nix/store/wzc208pbgkn6mawjqiha9flprqwkksgn-niks3-go-unit-tests.drv' niks3-go-unit-tests> tribuchet: building on eliza niks3-go-unit-tests> Running client tests... niks3-go-unit-tests> === RUN TestDoServerRequestAttachesToken niks3-go-unit-tests> === PAUSE TestDoServerRequestAttachesToken niks3-go-unit-tests> === RUN TestCaseHackSuffix niks3-go-unit-tests> === PAUSE TestCaseHackSuffix niks3-go-unit-tests> === RUN TestFilterOversizedClosures niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures niks3-go-unit-tests> === RUN TestPartSizeForNAR niks3-go-unit-tests> === PAUSE TestPartSizeForNAR niks3-go-unit-tests> === RUN TestUploadMultipart_SupersededByPeer niks3-go-unit-tests> === PAUSE TestUploadMultipart_SupersededByPeer niks3-go-unit-tests> === RUN TestDumpPathMatchesNix niks3-go-unit-tests> === PAUSE TestDumpPathMatchesNix niks3-go-unit-tests> === RUN TestDumpPathSingleFile niks3-go-unit-tests> === PAUSE TestDumpPathSingleFile niks3-go-unit-tests> === RUN TestDumpPathWriterError niks3-go-unit-tests> === PAUSE TestDumpPathWriterError niks3-go-unit-tests> === RUN TestEncodeNixBase32 niks3-go-unit-tests> === PAUSE TestEncodeNixBase32 niks3-go-unit-tests> === RUN TestEncodeNixBase32WithRealHash niks3-go-unit-tests> === PAUSE TestEncodeNixBase32WithRealHash niks3-go-unit-tests> === RUN TestConvertHashToNix32 niks3-go-unit-tests> === PAUSE TestConvertHashToNix32 niks3-go-unit-tests> === RUN TestGetStorePathHash niks3-go-unit-tests> === PAUSE TestGetStorePathHash niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility niks3-go-unit-tests> === RUN TestParsePathInfoJSON niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON niks3-go-unit-tests> === RUN TestParsePathInfoJSONMultiplePaths niks3-go-unit-tests> === PAUSE TestParsePathInfoJSONMultiplePaths niks3-go-unit-tests> === RUN TestPathInfoCACompatibility niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility niks3-go-unit-tests> === RUN TestRateLimiterFeedback niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback niks3-go-unit-tests> === RUN TestRateLimiterFeedback_400DoesNotCountAsSuccess niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback_400DoesNotCountAsSuccess niks3-go-unit-tests> === RUN TestResolveStorePath niks3-go-unit-tests> === PAUSE TestResolveStorePath niks3-go-unit-tests> === RUN TestDoWithRetry_BodyReplayedViaGetBody niks3-go-unit-tests> === PAUSE TestDoWithRetry_BodyReplayedViaGetBody niks3-go-unit-tests> === RUN TestShellSplit niks3-go-unit-tests> === PAUSE TestShellSplit niks3-go-unit-tests> === RUN TestShellSplitErrors niks3-go-unit-tests> === PAUSE TestShellSplitErrors niks3-go-unit-tests> === RUN TestSetClientTLS niks3-go-unit-tests> === PAUSE TestSetClientTLS niks3-go-unit-tests> === RUN TestSetClientTLSDoesNotMutateDefaultTransport niks3-go-unit-tests> === PAUSE TestSetClientTLSDoesNotMutateDefaultTransport niks3-go-unit-tests> === RUN TestSetClientTLSErrors niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors niks3-go-unit-tests> === RUN TestStaticToken niks3-go-unit-tests> === PAUSE TestStaticToken niks3-go-unit-tests> === RUN TestFileTokenReadsAndCaches niks3-go-unit-tests> === PAUSE TestFileTokenReadsAndCaches niks3-go-unit-tests> === RUN TestFileTokenMissing niks3-go-unit-tests> === PAUSE TestFileTokenMissing niks3-go-unit-tests> === RUN TestFileTokenEmpty niks3-go-unit-tests> === PAUSE TestFileTokenEmpty niks3-go-unit-tests> === RUN TestScriptTokenNoExpiryRerunsEveryCall niks3-go-unit-tests> === PAUSE TestScriptTokenNoExpiryRerunsEveryCall niks3-go-unit-tests> === RUN TestScriptTokenCachesUntilRefresh niks3-go-unit-tests> === PAUSE TestScriptTokenCachesUntilRefresh niks3-go-unit-tests> === RUN TestScriptTokenEmptyToken niks3-go-unit-tests> === PAUSE TestScriptTokenEmptyToken niks3-go-unit-tests> === RUN TestScriptTokenBadJSON niks3-go-unit-tests> === PAUSE TestScriptTokenBadJSON niks3-go-unit-tests> === RUN TestScriptTokenScriptFails niks3-go-unit-tests> === PAUSE TestScriptTokenScriptFails niks3-go-unit-tests> === RUN TestScriptTokenEmptyCommand niks3-go-unit-tests> === PAUSE TestScriptTokenEmptyCommand niks3-go-unit-tests> === CONT TestDoServerRequestAttachesToken niks3-go-unit-tests> === CONT TestConvertHashToNix32 niks3-go-unit-tests> === CONT TestShellSplit niks3-go-unit-tests> === RUN TestConvertHashToNix32/SRI_format_to_Nix32 niks3-go-unit-tests> --- PASS: TestShellSplit (0.00s) niks3-go-unit-tests> === CONT TestEncodeNixBase32 niks3-go-unit-tests> === PAUSE TestConvertHashToNix32/SRI_format_to_Nix32 niks3-go-unit-tests> === RUN TestEncodeNixBase32/test_string_hash niks3-go-unit-tests> === CONT TestResolveStorePath niks3-go-unit-tests> === CONT TestRateLimiterFeedback niks3-go-unit-tests> === CONT TestPathInfoCACompatibility niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/null_ca_field niks3-go-unit-tests> === CONT TestParsePathInfoJSONMultiplePaths niks3-go-unit-tests> === RUN TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths niks3-go-unit-tests> === PAUSE TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths niks3-go-unit-tests> === CONT TestParsePathInfoJSON niks3-go-unit-tests> === RUN TestParsePathInfoJSON/Nix_format niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility niks3-go-unit-tests> === CONT TestGetStorePathHash niks3-go-unit-tests> === CONT TestScriptTokenBadJSON niks3-go-unit-tests> === CONT TestScriptTokenEmptyCommand niks3-go-unit-tests> === CONT TestScriptTokenScriptFails niks3-go-unit-tests> === CONT TestScriptTokenCachesUntilRefresh niks3-go-unit-tests> === CONT TestScriptTokenEmptyToken niks3-go-unit-tests> === CONT TestScriptTokenNoExpiryRerunsEveryCall niks3-go-unit-tests> === CONT TestSetClientTLSErrors niks3-go-unit-tests> === CONT TestFileTokenMissing niks3-go-unit-tests> === CONT TestFileTokenReadsAndCaches niks3-go-unit-tests> === CONT TestStaticToken niks3-go-unit-tests> === CONT TestDumpPathMatchesNix niks3-go-unit-tests> === CONT TestEncodeNixBase32WithRealHash niks3-go-unit-tests> === RUN TestConvertHashToNix32/already_Nix32_format niks3-go-unit-tests> === CONT TestRateLimiterFeedback_400DoesNotCountAsSuccess niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter enabled after throttle name=server-test rate=5 niks3-go-unit-tests> === CONT TestDumpPathSingleFile niks3-go-unit-tests> === PAUSE TestEncodeNixBase32/test_string_hash niks3-go-unit-tests> === RUN TestEncodeNixBase32/empty_input niks3-go-unit-tests> === PAUSE TestEncodeNixBase32/empty_input niks3-go-unit-tests> === CONT TestSetClientTLSDoesNotMutateDefaultTransport niks3-go-unit-tests> === CONT TestPartSizeForNAR niks3-go-unit-tests> === RUN TestPartSizeForNAR/zero_stays_at_minimum niks3-go-unit-tests> === CONT TestDoWithRetry_BodyReplayedViaGetBody niks3-go-unit-tests> === RUN TestRateLimiterFeedback/429_enables_limiter niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/429_enables_limiter niks3-go-unit-tests> === RUN TestRateLimiterFeedback/503_enables_limiter niks3-go-unit-tests> === CONT TestSetClientTLS niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/zero_stays_at_minimum niks3-go-unit-tests> === RUN TestPartSizeForNAR/small_stays_at_minimum niks3-go-unit-tests> === RUN TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths niks3-go-unit-tests> === RUN TestGetStorePathHash/valid_store_path niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/Nix_format niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) niks3-go-unit-tests> --- PASS: TestScriptTokenEmptyCommand (0.00s) niks3-go-unit-tests> === CONT TestDumpPathWriterError niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/null_ca_field niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/503_enables_limiter niks3-go-unit-tests> === PAUSE TestConvertHashToNix32/already_Nix32_format niks3-go-unit-tests> === CONT TestCaseHackSuffix niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/old_string_format_-_text niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/old_string_format_-_text niks3-go-unit-tests> === CONT TestUploadMultipart_SupersededByPeer niks3-go-unit-tests> === RUN TestUploadMultipart_SupersededByPeer/exists niks3-go-unit-tests> === PAUSE TestUploadMultipart_SupersededByPeer/exists niks3-go-unit-tests> === RUN TestUploadMultipart_SupersededByPeer/missing niks3-go-unit-tests> === PAUSE TestUploadMultipart_SupersededByPeer/missing niks3-go-unit-tests> === RUN TestConvertHashToNix32/invalid_format niks3-go-unit-tests> === PAUSE TestConvertHashToNix32/invalid_format niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/old_string_format_-_fixed_recursive niks3-go-unit-tests> === RUN TestRateLimiterFeedback/200_does_not_enable_limiter niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/small_stays_at_minimum niks3-go-unit-tests> --- PASS: TestResolveStorePath (0.00s) niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/old_string_format_-_fixed_recursive niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter enabled after throttle name=server-test rate=5 niks3-go-unit-tests> === RUN TestPartSizeForNAR/80_GiB_fits_at_minimum niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Request returned retryable status, retrying attempt=1 max_attempts=6 backoff=0s status=503 url=http://127.0.0.1:35129 niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/80_GiB_fits_at_minimum niks3-go-unit-tests> === RUN TestPartSizeForNAR/115_GiB_needs_larger_parts niks3-go-unit-tests> --- PASS: TestFileTokenMissing (0.00s) niks3-go-unit-tests> --- PASS: TestEncodeNixBase32WithRealHash (0.00s) niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/200_does_not_enable_limiter niks3-go-unit-tests> === PAUSE TestGetStorePathHash/valid_store_path niks3-go-unit-tests> === RUN TestGetStorePathHash/basename_without_hyphen_should_error niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) niks3-go-unit-tests> === RUN TestRateLimiterFeedback/400_does_not_enable_limiter niks3-go-unit-tests> === RUN TestParsePathInfoJSON/Lix_format niks3-go-unit-tests> === CONT TestShellSplitErrors niks3-go-unit-tests> === CONT TestFilterOversizedClosures niks3-go-unit-tests> === CONT TestFileTokenEmpty niks3-go-unit-tests> === CONT TestEncodeNixBase32/test_string_hash niks3-go-unit-tests> === RUN TestSetClientTLSErrors/missing_cert_file niks3-go-unit-tests> === CONT TestEncodeNixBase32/empty_input niks3-go-unit-tests> === PAUSE TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/new_structured_format_-_text niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter backed off name=server-test rate=5 niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/115_GiB_needs_larger_parts niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Request returned retryable status, retrying attempt=2 max_attempts=6 backoff=0s status=503 url=http://127.0.0.1:35129 niks3-go-unit-tests> === CONT TestUploadMultipart_SupersededByPeer/exists niks3-go-unit-tests> --- PASS: TestScriptTokenBadJSON (0.00s) niks3-go-unit-tests> === RUN TestSetClientTLS/rejects_connection_without_client_cert niks3-go-unit-tests> === PAUSE TestGetStorePathHash/basename_without_hyphen_should_error niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/old_string_format_with_colon niks3-go-unit-tests> === CONT TestUploadMultipart_SupersededByPeer/missing niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/400_does_not_enable_limiter niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/Lix_format niks3-go-unit-tests> === CONT TestConvertHashToNix32/SRI_format_to_Nix32 niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/missing_cert_file niks3-go-unit-tests> === CONT TestConvertHashToNix32/invalid_format niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/new_structured_format_-_text niks3-go-unit-tests> === CONT TestConvertHashToNix32/already_Nix32_format niks3-go-unit-tests> === RUN TestFilterOversizedClosures/no_limit_keeps_everything niks3-go-unit-tests> === RUN TestPartSizeForNAR/1_TiB niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/old_string_format_with_colon niks3-go-unit-tests> === RUN TestSetClientTLSErrors/missing_key_file niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/new_structured_format_-_nar_method niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI niks3-go-unit-tests> === CONT TestRateLimiterFeedback/503_enables_limiter niks3-go-unit-tests> === CONT TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths niks3-go-unit-tests> === CONT TestRateLimiterFeedback/200_does_not_enable_limiter niks3-go-unit-tests> === PAUSE TestSetClientTLS/rejects_connection_without_client_cert niks3-go-unit-tests> === CONT TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths niks3-go-unit-tests> --- PASS: TestFileTokenReadsAndCaches (0.00s) niks3-go-unit-tests> --- PASS: TestStaticToken (0.00s) niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/1_TiB niks3-go-unit-tests> === CONT TestRateLimiterFeedback/429_enables_limiter niks3-go-unit-tests> === RUN TestGetStorePathHash/hash_with_invalid_characters_should_error niks3-go-unit-tests> === RUN TestParsePathInfoJSON/empty_input niks3-go-unit-tests> === RUN TestSetClientTLS/succeeds_with_client_cert_and_CA niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures/no_limit_keeps_everything niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/missing_key_file niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/new_structured_format_-_nar_method niks3-go-unit-tests> === CONT TestRateLimiterFeedback/400_does_not_enable_limiter niks3-go-unit-tests> --- PASS: TestScriptTokenScriptFails (0.00s) niks3-go-unit-tests> --- PASS: TestScriptTokenEmptyToken (0.01s) niks3-go-unit-tests> --- PASS: TestSetClientTLSDoesNotMutateDefaultTransport (0.01s) niks3-go-unit-tests> === RUN TestPartSizeForNAR/5_TiB_S3_max_object niks3-go-unit-tests> === PAUSE TestGetStorePathHash/hash_with_invalid_characters_should_error niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/new_structured_format_-_nar_method niks3-go-unit-tests> === RUN TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/new_structured_format_-_text niks3-go-unit-tests> === RUN TestSetClientTLSErrors/missing_ca_file niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/missing_ca_file niks3-go-unit-tests> === RUN TestSetClientTLSErrors/invalid_ca_file niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/invalid_ca_file niks3-go-unit-tests> === CONT TestSetClientTLSErrors/missing_cert_file niks3-go-unit-tests> === CONT TestSetClientTLSErrors/invalid_ca_file niks3-go-unit-tests> === CONT TestSetClientTLSErrors/missing_key_file niks3-go-unit-tests> === CONT TestSetClientTLSErrors/missing_ca_file niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/old_string_format_-_fixed_recursive niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/null_ca_field niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/old_string_format_-_text niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/new_structured_format_with_sha512 niks3-go-unit-tests> === RUN TestGetStorePathHash/hash_with_wrong_length_should_error niks3-go-unit-tests> === PAUSE TestGetStorePathHash/hash_with_wrong_length_should_error niks3-go-unit-tests> === CONT TestGetStorePathHash/valid_store_path niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/empty_input niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped niks3-go-unit-tests> === RUN TestFilterOversizedClosures/all_closures_skipped niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures/all_closures_skipped niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter enabled after throttle name=server-test rate=5 niks3-go-unit-tests> === CONT TestFilterOversizedClosures/no_limit_keeps_everything niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Request returned retryable status, retrying attempt=1 max_attempts=2 backoff=0s status=503 url=http://127.0.0.1:41913 niks3-go-unit-tests> === CONT TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Skipping closure: path exceeds server max NAR size top_level_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper oversized_path=/nix/store/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb-vm-image nar_size=5000 max_nar_size=2000 niks3-go-unit-tests> === PAUSE TestSetClientTLS/succeeds_with_client_cert_and_CA niks3-go-unit-tests> === CONT TestFilterOversizedClosures/all_closures_skipped niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Skipping closure: path exceeds server max NAR size top_level_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper oversized_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper nar_size=100 max_nar_size=50 niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter backed off name=server-test rate=5 niks3-go-unit-tests> --- PASS: TestShellSplitErrors (0.00s) niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter enabled after throttle name=server-test rate=5 niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/new_structured_format_with_sha512 niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Request returned retryable status, retrying attempt=1 max_attempts=2 backoff=0s status=429 url=http://127.0.0.1:39067 niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/new_structured_format_with_sha512 niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/old_string_format_with_colon niks3-go-unit-tests> === CONT TestGetStorePathHash/basename_without_hyphen_should_error niks3-go-unit-tests> === CONT TestGetStorePathHash/hash_with_wrong_length_should_error niks3-go-unit-tests> 2026/07/28 08:29:24 WARN Rate limiter backed off name=server-test rate=5 niks3-go-unit-tests> === CONT TestGetStorePathHash/hash_with_invalid_characters_should_error niks3-go-unit-tests> === RUN TestParsePathInfoJSON/whitespace_only niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/5_TiB_S3_max_object niks3-go-unit-tests> === RUN TestSetClientTLS/preserves_debug_logging_transport niks3-go-unit-tests> --- PASS: TestScriptTokenCachesUntilRefresh (0.02s) niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/whitespace_only niks3-go-unit-tests> === RUN TestPartSizeForNAR/capped_at_5_GiB niks3-go-unit-tests> === PAUSE TestSetClientTLS/preserves_debug_logging_transport niks3-go-unit-tests> --- PASS: TestScriptTokenNoExpiryRerunsEveryCall (0.02s) niks3-go-unit-tests> --- PASS: TestDoServerRequestAttachesToken (0.02s) niks3-go-unit-tests> === RUN TestParsePathInfoJSON/invalid_JSON niks3-go-unit-tests> --- PASS: TestParsePathInfoJSONMultiplePaths (0.02s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths (0.00s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths (0.00s) niks3-go-unit-tests> --- PASS: TestFileTokenEmpty (0.00s) niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/invalid_JSON niks3-go-unit-tests> === CONT TestSetClientTLS/rejects_connection_without_client_cert niks3-go-unit-tests> === CONT TestSetClientTLS/preserves_debug_logging_transport niks3-go-unit-tests> === CONT TestSetClientTLS/succeeds_with_client_cert_and_CA niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/capped_at_5_GiB niks3-go-unit-tests> --- PASS: TestDoWithRetry_BodyReplayedViaGetBody (0.02s) niks3-go-unit-tests> === CONT TestPartSizeForNAR/small_stays_at_minimum niks3-go-unit-tests> === CONT TestParsePathInfoJSON/Nix_format niks3-go-unit-tests> === CONT TestParsePathInfoJSON/invalid_JSON niks3-go-unit-tests> === CONT TestParsePathInfoJSON/Lix_format niks3-go-unit-tests> === CONT TestParsePathInfoJSON/whitespace_only niks3-go-unit-tests> === CONT TestParsePathInfoJSON/empty_input niks3-go-unit-tests> === CONT TestPartSizeForNAR/zero_stays_at_minimum niks3-go-unit-tests> === CONT TestPartSizeForNAR/capped_at_5_GiB niks3-go-unit-tests> === CONT TestPartSizeForNAR/5_TiB_S3_max_object niks3-go-unit-tests> === CONT TestPartSizeForNAR/1_TiB niks3-go-unit-tests> === CONT TestPartSizeForNAR/115_GiB_needs_larger_parts niks3-go-unit-tests> === CONT TestPartSizeForNAR/80_GiB_fits_at_minimum niks3-go-unit-tests> --- PASS: TestEncodeNixBase32 (0.00s) niks3-go-unit-tests> --- PASS: TestEncodeNixBase32/test_string_hash (0.00s) niks3-go-unit-tests> --- PASS: TestEncodeNixBase32/empty_input (0.00s) niks3-go-unit-tests> --- PASS: TestConvertHashToNix32 (0.01s) niks3-go-unit-tests> --- PASS: TestConvertHashToNix32/invalid_format (0.00s) niks3-go-unit-tests> --- PASS: TestConvertHashToNix32/already_Nix32_format (0.00s) niks3-go-unit-tests> --- PASS: TestConvertHashToNix32/SRI_format_to_Nix32 (0.00s) niks3-go-unit-tests> --- PASS: TestGetStorePathHash (0.03s) niks3-go-unit-tests> --- PASS: TestGetStorePathHash/valid_store_path (0.00s) niks3-go-unit-tests> --- PASS: TestGetStorePathHash/basename_without_hyphen_should_error (0.00s) niks3-go-unit-tests> --- PASS: TestGetStorePathHash/hash_with_wrong_length_should_error (0.00s) niks3-go-unit-tests> --- PASS: TestGetStorePathHash/hash_with_invalid_characters_should_error (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility (0.03s) niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/new_structured_format_-_nar_method (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/new_structured_format_-_text (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/old_string_format_-_fixed_recursive (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/null_ca_field (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/old_string_format_-_text (0.00s) niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures (0.01s) niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures/no_limit_keeps_everything (0.00s) niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped (0.00s) niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures/all_closures_skipped (0.00s) niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors (0.03s) niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/missing_cert_file (0.00s) niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/missing_key_file (0.00s) niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/invalid_ca_file (0.00s) niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/missing_ca_file (0.00s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON (0.03s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/Nix_format (0.00s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/invalid_JSON (0.00s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/Lix_format (0.00s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/whitespace_only (0.00s) niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/empty_input (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR (0.03s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/small_stays_at_minimum (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/zero_stays_at_minimum (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/capped_at_5_GiB (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/5_TiB_S3_max_object (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/1_TiB (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/115_GiB_needs_larger_parts (0.00s) niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/80_GiB_fits_at_minimum (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility (0.03s) niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/new_structured_format_with_sha512 (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI (0.00s) niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/old_string_format_with_colon (0.00s) niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback (0.02s) niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/200_does_not_enable_limiter (0.01s) niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/503_enables_limiter (0.01s) niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/400_does_not_enable_limiter (0.00s) niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/429_enables_limiter (0.00s) niks3-go-unit-tests> --- PASS: TestUploadMultipart_SupersededByPeer (0.00s) niks3-go-unit-tests> --- PASS: TestUploadMultipart_SupersededByPeer/exists (0.01s) niks3-go-unit-tests> --- PASS: TestUploadMultipart_SupersededByPeer/missing (0.01s) niks3-go-unit-tests> 2026/07/28 08:29:24 http: TLS handshake error from 127.0.0.1:34304: remote error: tls: bad certificate niks3-go-unit-tests> --- PASS: TestSetClientTLS (0.02s) niks3-go-unit-tests> --- PASS: TestSetClientTLS/rejects_connection_without_client_cert (0.00s) niks3-go-unit-tests> --- PASS: TestSetClientTLS/preserves_debug_logging_transport (0.00s) niks3-go-unit-tests> --- PASS: TestSetClientTLS/succeeds_with_client_cert_and_CA (0.00s) niks3-go-unit-tests> --- PASS: TestDumpPathWriterError (0.05s) niks3-go-unit-tests> --- PASS: TestDumpPathSingleFile (0.09s) niks3-go-unit-tests> --- PASS: TestCaseHackSuffix (0.09s) niks3-go-unit-tests> --- PASS: TestDumpPathMatchesNix (0.11s) niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback_400DoesNotCountAsSuccess (1.00s) niks3-go-unit-tests> PASS niks3-go-unit-tests> Running server tests... niks3-go-unit-tests> The files belonging to this database system will be owned by user "nixbld". niks3-go-unit-tests> This user must also own the server process. niks3-go-unit-tests> niks3-go-unit-tests> The database cluster will be initialized with locale "C". niks3-go-unit-tests> The default database encoding has accordingly been set to "SQL_ASCII". niks3-go-unit-tests> The default text search configuration will be set to "english". niks3-go-unit-tests> niks3-go-unit-tests> Data page checksums are enabled. niks3-go-unit-tests> niks3-go-unit-tests> creating directory /build/postgres2245460725/data ... ok niks3-go-unit-tests> creating subdirectories ... ok niks3-go-unit-tests> selecting dynamic shared memory implementation ... posix niks3-go-unit-tests> selecting default "max_connections" ... 100 niks3-go-unit-tests> selecting default "shared_buffers" ... 128MB niks3-go-unit-tests> selecting default time zone ... UTC niks3-go-unit-tests> creating configuration files ... ok niks3-go-unit-tests> running bootstrap script ... ok niks3-go-unit-tests> performing post-bootstrap initialization ... ok niks3-go-unit-tests> syncing data to disk ... ok niks3-go-unit-tests> niks3-go-unit-tests> initdb: warning: enabling "trust" authentication for local connections niks3-go-unit-tests> initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. niks3-go-unit-tests> niks3-go-unit-tests> Success. You can now start the database server using: niks3-go-unit-tests> niks3-go-unit-tests> pg_ctl -D /build/postgres2245460725/data -l logfile start niks3-go-unit-tests> niks3-go-unit-tests> /build/postgres2245460725:5432 - no response niks3-go-unit-tests> 2026-07-28 08:29:26.191 UTC [111] LOG: starting PostgreSQL 18.4 on aarch64-unknown-linux-gnu, compiled by clang version 21.1.8, 64-bit niks3-go-unit-tests> 2026-07-28 08:29:26.192 UTC [111] LOG: listening on Unix socket "/build/postgres2245460725/.s.PGSQL.5432" niks3-go-unit-tests> 2026-07-28 08:29:26.196 UTC [118] LOG: database system was shut down at 2026-07-28 08:29:25 UTC niks3-go-unit-tests> 2026-07-28 08:29:26.200 UTC [111] LOG: database system is ready to accept connections niks3-go-unit-tests> /build/postgres2245460725:5432 - accepting connections niks3-go-unit-tests> === RUN TestService_AuthMiddleware niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware niks3-go-unit-tests> === RUN TestService_AuthMiddleware_MTLSProxyHeader niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_MTLSProxyHeader niks3-go-unit-tests> === RUN TestService_AuthMiddleware_MTLSBoundSubjects niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_MTLSBoundSubjects niks3-go-unit-tests> === RUN TestService_ReadAuthMiddleware niks3-go-unit-tests> === PAUSE TestService_ReadAuthMiddleware niks3-go-unit-tests> === RUN TestService_AuthMiddleware_OIDC niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_OIDC niks3-go-unit-tests> === RUN TestCacheConfigHandler niks3-go-unit-tests> === PAUSE TestCacheConfigHandler niks3-go-unit-tests> === RUN TestCacheStatsHandler niks3-go-unit-tests> === PAUSE TestCacheStatsHandler niks3-go-unit-tests> === RUN TestClientCADerivations niks3-go-unit-tests> === PAUSE TestClientCADerivations niks3-go-unit-tests> === RUN TestClientErrorHandling niks3-go-unit-tests> === PAUSE TestClientErrorHandling niks3-go-unit-tests> === RUN TestClientIntegration niks3-go-unit-tests> === PAUSE TestClientIntegration niks3-go-unit-tests> === RUN TestClientMultipleUploads niks3-go-unit-tests> === PAUSE TestClientMultipleUploads niks3-go-unit-tests> === RUN TestClientWithDependencies niks3-go-unit-tests> === PAUSE TestClientWithDependencies niks3-go-unit-tests> === RUN TestPinProtectsFromGC niks3-go-unit-tests> === PAUSE TestPinProtectsFromGC niks3-go-unit-tests> === RUN TestGCAdvisoryLockBlocksConcurrentRun niks3-go-unit-tests> {"timestamp":"2026-07-28T08:29:26.515352906Z","level":"ERROR","fields":{"message":"list_path_raw: revjob err VolumeNotFound"},"target":"rustfs_ecstore::cache_value::metacache_set","filename":"crates/ecstore/src/cache_value/metacache_set.rs","line_number":486,"threadName":"rustfs-worker","threadId":"ThreadId(383)"} niks3-go-unit-tests> niks3-go-unit-tests> thread 'rustfs-worker' (441) panicked at /build/rustfs-1.0.0-beta.7-vendor/source-registry-0/reqwest-0.13.4/src/async_impl/client.rs:2507:38: niks3-go-unit-tests> Client::new(): reqwest::Error { kind: Builder, source: General("No CA certificates were loaded from the system") } niks3-go-unit-tests> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace niks3-go-unit-tests> 2026-07-28 08:29:26.594 UTC [530] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:26.594 UTC [530] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:26 OK 20241026095416_initial_model.sql (22.18ms) niks3-go-unit-tests> 2026/07/28 08:29:26 OK 20251210153512_drop_unused_gin_index.sql (2.54ms) niks3-go-unit-tests> 2026/07/28 08:29:26 OK 20251218171726_add_pins.sql (4.71ms) niks3-go-unit-tests> 2026/07/28 08:29:26 OK 20260628120000_add_object_size_and_stats.sql (4.45ms) niks3-go-unit-tests> 2026/07/28 08:29:26 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:26 OK 1_commit_pending_closure.sql (4.21ms) niks3-go-unit-tests> 2026/07/28 08:29:26 OK 2_object_stats_trigger.sql (1.27ms) niks3-go-unit-tests> 2026/07/28 08:29:26 goose: up to current file version: 2 niks3-go-unit-tests> --- PASS: TestGCAdvisoryLockBlocksConcurrentRun (0.17s) niks3-go-unit-tests> === RUN TestGCBugBareHashReferences niks3-go-unit-tests> === PAUSE TestGCBugBareHashReferences niks3-go-unit-tests> === RUN TestGCMetrics niks3-go-unit-tests> === PAUSE TestGCMetrics niks3-go-unit-tests> === RUN TestGCTaskStore_StartNew niks3-go-unit-tests> === PAUSE TestGCTaskStore_StartNew niks3-go-unit-tests> === RUN TestGCTaskStore_DeduplicateSameParams niks3-go-unit-tests> === PAUSE TestGCTaskStore_DeduplicateSameParams niks3-go-unit-tests> === RUN TestGCTaskStore_ConflictDifferentParams niks3-go-unit-tests> === PAUSE TestGCTaskStore_ConflictDifferentParams niks3-go-unit-tests> === RUN TestGCTaskStore_GetEmpty niks3-go-unit-tests> === PAUSE TestGCTaskStore_GetEmpty niks3-go-unit-tests> === RUN TestGCTaskStore_GetReturnsLatest niks3-go-unit-tests> === PAUSE TestGCTaskStore_GetReturnsLatest niks3-go-unit-tests> === RUN TestGCTaskStore_CompletedAllowsNewTask niks3-go-unit-tests> === PAUSE TestGCTaskStore_CompletedAllowsNewTask niks3-go-unit-tests> === RUN TestGCTaskStore_PhaseUpdates niks3-go-unit-tests> === PAUSE TestGCTaskStore_PhaseUpdates niks3-go-unit-tests> === RUN TestGCTaskStore_Fail niks3-go-unit-tests> === PAUSE TestGCTaskStore_Fail niks3-go-unit-tests> === RUN TestGracefulShutdownDrainsInflight niks3-go-unit-tests> === PAUSE TestGracefulShutdownDrainsInflight niks3-go-unit-tests> === RUN TestService_healthCheckHandler niks3-go-unit-tests> === PAUSE TestService_healthCheckHandler niks3-go-unit-tests> === RUN TestGenerateLandingPage niks3-go-unit-tests> === PAUSE TestGenerateLandingPage niks3-go-unit-tests> === RUN TestCacheConfigHandlerMaxNarSize niks3-go-unit-tests> === PAUSE TestCacheConfigHandlerMaxNarSize niks3-go-unit-tests> === RUN TestCreatePendingClosureRejectsOversizedNAR niks3-go-unit-tests> === PAUSE TestCreatePendingClosureRejectsOversizedNAR niks3-go-unit-tests> === RUN TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> === PAUSE TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> === RUN TestMetricsInventory niks3-go-unit-tests> === PAUSE TestMetricsInventory niks3-go-unit-tests> === RUN TestService_NativeMTLS niks3-go-unit-tests> === PAUSE TestService_NativeMTLS niks3-go-unit-tests> === RUN TestServerTLSConfig niks3-go-unit-tests> === PAUSE TestServerTLSConfig niks3-go-unit-tests> === RUN TestMultipartCleanup niks3-go-unit-tests> === PAUSE TestMultipartCleanup niks3-go-unit-tests> === RUN TestObjectStatsTrigger niks3-go-unit-tests> === PAUSE TestObjectStatsTrigger niks3-go-unit-tests> === RUN TestOrphanedObjectsGC niks3-go-unit-tests> === PAUSE TestOrphanedObjectsGC niks3-go-unit-tests> === RUN TestOrphanedObjectsGCStressTest niks3-go-unit-tests> === PAUSE TestOrphanedObjectsGCStressTest niks3-go-unit-tests> === RUN TestResurrectedObjectNotDeleted niks3-go-unit-tests> === PAUSE TestResurrectedObjectNotDeleted niks3-go-unit-tests> === RUN TestParseSingleRange niks3-go-unit-tests> === PAUSE TestParseSingleRange niks3-go-unit-tests> === RUN TestIsValidCachePath niks3-go-unit-tests> === PAUSE TestIsValidCachePath niks3-go-unit-tests> === RUN TestReadProxyNarinfo niks3-go-unit-tests> === PAUSE TestReadProxyNarinfo niks3-go-unit-tests> === RUN TestReadProxyNarinfoAlreadyDecompressed niks3-go-unit-tests> === PAUSE TestReadProxyNarinfoAlreadyDecompressed niks3-go-unit-tests> === RUN TestReadProxyNarStreaming niks3-go-unit-tests> === PAUSE TestReadProxyNarStreaming niks3-go-unit-tests> === RUN TestReadProxy404 niks3-go-unit-tests> === PAUSE TestReadProxy404 niks3-go-unit-tests> === RUN TestReadProxyInvalidPath niks3-go-unit-tests> === PAUSE TestReadProxyInvalidPath niks3-go-unit-tests> === RUN TestReadProxyHead niks3-go-unit-tests> === PAUSE TestReadProxyHead niks3-go-unit-tests> === RUN TestReadProxyConditionalGet niks3-go-unit-tests> === PAUSE TestReadProxyConditionalGet niks3-go-unit-tests> === RUN TestReadProxyRootRedirectsToIndexHTML niks3-go-unit-tests> === PAUSE TestReadProxyRootRedirectsToIndexHTML niks3-go-unit-tests> === RUN TestReadProxyDisabled niks3-go-unit-tests> === PAUSE TestReadProxyDisabled niks3-go-unit-tests> === RUN TestReadProxyRangeRequest niks3-go-unit-tests> === PAUSE TestReadProxyRangeRequest niks3-go-unit-tests> === RUN TestRedundantMultipartUpload niks3-go-unit-tests> === PAUSE TestRedundantMultipartUpload niks3-go-unit-tests> === RUN TestCompleteMultipartUpload_ErrorButObjectExists niks3-go-unit-tests> === PAUSE TestCompleteMultipartUpload_ErrorButObjectExists niks3-go-unit-tests> === RUN TestCompletedNarNotReofferedAcrossClosures niks3-go-unit-tests> === PAUSE TestCompletedNarNotReofferedAcrossClosures niks3-go-unit-tests> === RUN TestPresignedUploadRegisteredBeforeCommit niks3-go-unit-tests> === PAUSE TestPresignedUploadRegisteredBeforeCommit niks3-go-unit-tests> === RUN TestService_Rustfstest niks3-go-unit-tests> === PAUSE TestService_Rustfstest niks3-go-unit-tests> === RUN TestParseSize niks3-go-unit-tests> === PAUSE TestParseSize niks3-go-unit-tests> === RUN TestSkippedUploadsHandler niks3-go-unit-tests> === PAUSE TestSkippedUploadsHandler niks3-go-unit-tests> === RUN TestSystemdListenerNotActivated niks3-go-unit-tests> --- PASS: TestSystemdListenerNotActivated (0.00s) niks3-go-unit-tests> === RUN TestWatchdogBeatsWhenHealthy niks3-go-unit-tests> --- PASS: TestWatchdogBeatsWhenHealthy (0.02s) niks3-go-unit-tests> === RUN TestWatchdogSkipsWhenUnhealthy niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> 2026/07/28 08:29:26 WARN watchdog liveness check failed, skipping heartbeat error="context deadline exceeded" niks3-go-unit-tests> --- PASS: TestWatchdogSkipsWhenUnhealthy (0.20s) niks3-go-unit-tests> === RUN TestCompleteMultipartUploadHandler_RateLimitTriggersThrottle niks3-go-unit-tests> === PAUSE TestCompleteMultipartUploadHandler_RateLimitTriggersThrottle niks3-go-unit-tests> === RUN TestProxyWriteTimeout niks3-go-unit-tests> === PAUSE TestProxyWriteTimeout niks3-go-unit-tests> === RUN TestIsValidUploadKey niks3-go-unit-tests> === PAUSE TestIsValidUploadKey niks3-go-unit-tests> === RUN TestUploadHandlersRejectInvalidKeys niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectInvalidKeys niks3-go-unit-tests> === RUN TestUploadHandlersRejectOversizedBody niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectOversizedBody niks3-go-unit-tests> === RUN TestService_cleanupPendingClosuresHandler niks3-go-unit-tests> === PAUSE TestService_cleanupPendingClosuresHandler niks3-go-unit-tests> === RUN TestService_createPendingClosureHandler niks3-go-unit-tests> === PAUSE TestService_createPendingClosureHandler niks3-go-unit-tests> === RUN TestService_verifyS3Integrity niks3-go-unit-tests> === PAUSE TestService_verifyS3Integrity niks3-go-unit-tests> === RUN TestCompleteMultipartUnregistered niks3-go-unit-tests> === PAUSE TestCompleteMultipartUnregistered niks3-go-unit-tests> === RUN TestCreatePendingClosure_SmallNARUsesSimplePUT niks3-go-unit-tests> === PAUSE TestCreatePendingClosure_SmallNARUsesSimplePUT niks3-go-unit-tests> === CONT TestCreatePendingClosure_SmallNARUsesSimplePUT niks3-go-unit-tests> === CONT TestService_AuthMiddleware niks3-go-unit-tests> === CONT TestCompleteMultipartUnregistered niks3-go-unit-tests> === CONT TestClientIntegration niks3-go-unit-tests> === CONT TestGCTaskStore_ConflictDifferentParams niks3-go-unit-tests> --- PASS: TestGCTaskStore_ConflictDifferentParams (0.00s) niks3-go-unit-tests> === CONT TestService_cleanupPendingClosuresHandler niks3-go-unit-tests> === CONT TestMultipartCleanup niks3-go-unit-tests> === CONT TestServerTLSConfig niks3-go-unit-tests> === CONT TestService_NativeMTLS niks3-go-unit-tests> === CONT TestMetricsInventory niks3-go-unit-tests> === CONT TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> === CONT TestCreatePendingClosureRejectsOversizedNAR niks3-go-unit-tests> === CONT TestCacheConfigHandlerMaxNarSize niks3-go-unit-tests> --- PASS: TestCacheConfigHandlerMaxNarSize (0.00s) niks3-go-unit-tests> === CONT TestUploadHandlersRejectOversizedBody niks3-go-unit-tests> === CONT TestGenerateLandingPage niks3-go-unit-tests> 2026/07/28 08:29:26 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> === CONT TestService_healthCheckHandler niks3-go-unit-tests> === CONT TestGracefulShutdownDrainsInflight niks3-go-unit-tests> === CONT TestGCTaskStore_Fail niks3-go-unit-tests> --- PASS: TestGCTaskStore_Fail (0.00s) niks3-go-unit-tests> === CONT TestGCTaskStore_PhaseUpdates niks3-go-unit-tests> === CONT TestGCTaskStore_CompletedAllowsNewTask niks3-go-unit-tests> === CONT TestGCTaskStore_GetReturnsLatest niks3-go-unit-tests> === CONT TestGCTaskStore_GetEmpty niks3-go-unit-tests> === CONT TestRedundantMultipartUpload niks3-go-unit-tests> === CONT TestService_verifyS3Integrity niks3-go-unit-tests> === CONT TestService_createPendingClosureHandler niks3-go-unit-tests> === CONT TestObjectStatsTrigger niks3-go-unit-tests> === RUN TestServerTLSConfig/no_client_CA niks3-go-unit-tests> === CONT TestUploadHandlersRejectInvalidKeys niks3-go-unit-tests> === PAUSE TestServerTLSConfig/no_client_CA niks3-go-unit-tests> === RUN TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_nix-cache-info niks3-go-unit-tests> === CONT TestIsValidUploadKey niks3-go-unit-tests> === RUN TestIsValidUploadKey/narinfo niks3-go-unit-tests> === CONT TestProxyWriteTimeout niks3-go-unit-tests> === RUN TestProxyWriteTimeout/narinfo niks3-go-unit-tests> === CONT TestCompleteMultipartUploadHandler_RateLimitTriggersThrottle niks3-go-unit-tests> === CONT TestSkippedUploadsHandler niks3-go-unit-tests> === CONT TestParseSize niks3-go-unit-tests> --- PASS: TestGCTaskStore_CompletedAllowsNewTask (0.00s) niks3-go-unit-tests> --- PASS: TestGCTaskStore_PhaseUpdates (0.00s) niks3-go-unit-tests> --- PASS: TestGCTaskStore_GetReturnsLatest (0.00s) niks3-go-unit-tests> --- PASS: TestGCTaskStore_GetEmpty (0.00s) niks3-go-unit-tests> --- PASS: TestCreatePendingClosureRejectsOversizedNAR (0.00s) niks3-go-unit-tests> === RUN TestServerTLSConfig/missing_CA_file niks3-go-unit-tests> --- PASS: TestParseSize (0.00s) niks3-go-unit-tests> === PAUSE TestServerTLSConfig/missing_CA_file niks3-go-unit-tests> === RUN TestServerTLSConfig/not_a_PEM_file niks3-go-unit-tests> === PAUSE TestServerTLSConfig/not_a_PEM_file niks3-go-unit-tests> === CONT TestPresignedUploadRegisteredBeforeCommit niks3-go-unit-tests> 2026/07/28 08:29:26 INFO Client skipped oversized paths paths=3 nar_bytes=5000000000 niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_nix-cache-info niks3-go-unit-tests> === RUN TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_path_traversal niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_path_traversal niks3-go-unit-tests> === RUN TestUploadHandlersRejectInvalidKeys/complete_multipart_rejects_non-NAR_key niks3-go-unit-tests> === CONT TestService_Rustfstest niks3-go-unit-tests> 2026/07/28 08:29:26 INFO Starting HTTP server address=127.0.0.1:36711 niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/narinfo niks3-go-unit-tests> === RUN TestIsValidUploadKey/nar_zst niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/nar_zst niks3-go-unit-tests> === RUN TestIsValidUploadKey/nar_xz niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/nar_xz niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectInvalidKeys/complete_multipart_rejects_non-NAR_key niks3-go-unit-tests> === PAUSE TestProxyWriteTimeout/narinfo niks3-go-unit-tests> === RUN TestIsValidUploadKey/nar_plain niks3-go-unit-tests> === RUN TestUploadHandlersRejectInvalidKeys/request_more_parts_rejects_non-NAR_key niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectInvalidKeys/request_more_parts_rejects_non-NAR_key niks3-go-unit-tests> 2026/07/28 08:29:26 INFO Shutdown signal received, draining in-flight requests timeout=10s niks3-go-unit-tests> === RUN TestProxyWriteTimeout/1_GiB_nar niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/nar_plain niks3-go-unit-tests> === RUN TestIsValidUploadKey/listing niks3-go-unit-tests> === CONT TestCompletedNarNotReofferedAcrossClosures niks3-go-unit-tests> === PAUSE TestProxyWriteTimeout/1_GiB_nar niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/listing niks3-go-unit-tests> === RUN TestProxyWriteTimeout/10_GiB_nar niks3-go-unit-tests> === RUN TestIsValidUploadKey/build_log niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/build_log niks3-go-unit-tests> === RUN TestIsValidUploadKey/build_log_home-manager_file niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/build_log_home-manager_file niks3-go-unit-tests> === PAUSE TestProxyWriteTimeout/10_GiB_nar niks3-go-unit-tests> === RUN TestIsValidUploadKey/build_log_plus_in_name niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/build_log_plus_in_name niks3-go-unit-tests> === RUN TestIsValidUploadKey/build_log_question_mark niks3-go-unit-tests> === RUN TestProxyWriteTimeout/unknown_size niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/build_log_question_mark niks3-go-unit-tests> === PAUSE TestProxyWriteTimeout/unknown_size niks3-go-unit-tests> === RUN TestIsValidUploadKey/build_log_equals niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/build_log_equals niks3-go-unit-tests> === RUN TestIsValidUploadKey/realisation niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/realisation niks3-go-unit-tests> === RUN TestIsValidUploadKey/realisation_plus_in_output niks3-go-unit-tests> === CONT TestCompleteMultipartUpload_ErrorButObjectExists niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/realisation_plus_in_output niks3-go-unit-tests> === RUN TestUploadHandlersRejectOversizedBody/create_pending_closure niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectOversizedBody/create_pending_closure niks3-go-unit-tests> === RUN TestUploadHandlersRejectOversizedBody/complete_multipart niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectOversizedBody/complete_multipart niks3-go-unit-tests> === RUN TestUploadHandlersRejectOversizedBody/request_more_parts niks3-go-unit-tests> === PAUSE TestUploadHandlersRejectOversizedBody/request_more_parts niks3-go-unit-tests> === CONT TestCacheConfigHandler niks3-go-unit-tests> === RUN TestCacheConfigHandler/full_config,_no_issuer niks3-go-unit-tests> === PAUSE TestCacheConfigHandler/full_config,_no_issuer niks3-go-unit-tests> === RUN TestCacheConfigHandler/no_cache_url_configured niks3-go-unit-tests> === PAUSE TestCacheConfigHandler/no_cache_url_configured niks3-go-unit-tests> === RUN TestCacheConfigHandler/no_signing_keys niks3-go-unit-tests> === RUN TestIsValidUploadKey/nix-cache-info niks3-go-unit-tests> === PAUSE TestCacheConfigHandler/no_signing_keys niks3-go-unit-tests> === RUN TestCacheConfigHandler/issuer_requested_but_no_OIDC_validator niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/nix-cache-info niks3-go-unit-tests> === RUN TestIsValidUploadKey/index.html niks3-go-unit-tests> === PAUSE TestCacheConfigHandler/issuer_requested_but_no_OIDC_validator niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/index.html niks3-go-unit-tests> === RUN TestIsValidUploadKey/narinfo_key,_nar_type niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/narinfo_key,_nar_type niks3-go-unit-tests> === RUN TestIsValidUploadKey/nar_key,_narinfo_type niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/nar_key,_narinfo_type niks3-go-unit-tests> === RUN TestIsValidUploadKey/listing_key,_narinfo_type niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/listing_key,_narinfo_type niks3-go-unit-tests> === RUN TestIsValidUploadKey/traversal niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/traversal niks3-go-unit-tests> === RUN TestIsValidUploadKey/traversal_nar niks3-go-unit-tests> === CONT TestClientErrorHandling niks3-go-unit-tests> === RUN TestClientErrorHandling/InvalidStorePath niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/traversal_nar niks3-go-unit-tests> === RUN TestIsValidUploadKey/absolute niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/absolute niks3-go-unit-tests> === RUN TestIsValidUploadKey/empty_key niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/empty_key niks3-go-unit-tests> === PAUSE TestClientErrorHandling/InvalidStorePath niks3-go-unit-tests> --- PASS: TestGenerateLandingPage (0.16s) niks3-go-unit-tests> === CONT TestClientCADerivations niks3-go-unit-tests> === RUN TestIsValidUploadKey/unknown_type niks3-go-unit-tests> === CONT TestCacheStatsHandler niks3-go-unit-tests> === PAUSE TestIsValidUploadKey/unknown_type niks3-go-unit-tests> --- PASS: TestGracefulShutdownDrainsInflight (0.16s) niks3-go-unit-tests> === RUN TestClientErrorHandling/InvalidAuthToken niks3-go-unit-tests> === CONT TestGCBugBareHashReferences niks3-go-unit-tests> === PAUSE TestClientErrorHandling/InvalidAuthToken niks3-go-unit-tests> === RUN TestClientErrorHandling/ServerNotAvailable niks3-go-unit-tests> === PAUSE TestClientErrorHandling/ServerNotAvailable niks3-go-unit-tests> --- PASS: TestSkippedUploadsHandler (0.16s) niks3-go-unit-tests> === CONT TestGCTaskStore_DeduplicateSameParams niks3-go-unit-tests> --- PASS: TestGCTaskStore_DeduplicateSameParams (0.00s) niks3-go-unit-tests> === CONT TestGCTaskStore_StartNew niks3-go-unit-tests> --- PASS: TestGCTaskStore_StartNew (0.00s) niks3-go-unit-tests> === CONT TestGCMetrics niks3-go-unit-tests> === CONT TestClientWithDependencies niks3-go-unit-tests> 2026-07-28 08:29:27.065 UTC [594] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.065 UTC [594] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.066 UTC [595] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.066 UTC [595] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.067 UTC [602] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.067 UTC [602] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.067 UTC [603] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.067 UTC [603] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.068 UTC [599] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.068 UTC [599] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.069 UTC [604] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.069 UTC [604] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.069 UTC [605] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.069 UTC [605] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.103 UTC [612] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.103 UTC [612] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (69.71ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (73.12ms) niks3-go-unit-tests> 2026-07-28 08:29:27.163 UTC [614] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.163 UTC [614] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (73.12ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (76.51ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (72.63ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (5.4ms) niks3-go-unit-tests> 2026-07-28 08:29:27.164 UTC [613] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.164 UTC [613] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (84.76ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (13.73ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (23.83ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (79.87ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (14.67ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (14.06ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (14.81ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (16.63ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.81ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.02ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.19ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.41ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (8.81ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.46ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (8.92ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (9.13ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (9.58ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.21ms) niks3-go-unit-tests> 2026-07-28 08:29:27.188 UTC [615] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.188 UTC [615] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.188 UTC [616] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.188 UTC [616] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.189 UTC [617] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.189 UTC [617] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.190 UTC [618] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.190 UTC [618] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.190 UTC [619] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.190 UTC [619] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (8.11ms) niks3-go-unit-tests> 2026-07-28 08:29:27.191 UTC [620] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.191 UTC [620] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.192 UTC [621] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.192 UTC [621] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.192 UTC [622] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.192 UTC [622] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.91ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (8.14ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.29ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (16.83ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (9.78ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (8.39ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (8.01ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (9.09ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.9ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.02ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (21.02ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.89ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (9.41ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.57ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.73ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.19ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.76ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.51ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.3ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.45ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.9ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.86ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.76ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.74ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.84ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.86ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.87ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Authentication failed token_preview=wrongtoken token_length=10 reason="static API token mismatch" niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware (0.31s) niks3-go-unit-tests> === CONT TestPinProtectsFromGC niks3-go-unit-tests> 2026/07/28 08:29:27 WARN mTLS auth: subject not in bound subjects subject="CN=reader" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN mTLS auth: subject not in bound subjects subject="CN=writer" niks3-go-unit-tests> --- PASS: TestService_NativeMTLS (0.31s) niks3-go-unit-tests> === CONT TestClientMultipleUploads niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.62ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received cleanup request method=DELETE path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (5.22ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.74ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (13.72ms) niks3-go-unit-tests> 2026/07/28 08:29:27 ERROR Failed to get multipart upload error="no rows in result set" upload_id=does-not-exist object_key=nar/0000000000000000000000000000000000000000000000000000.nar.zst niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (15.86ms) niks3-go-unit-tests> --- PASS: TestCompleteMultipartUnregistered (0.32s) niks3-go-unit-tests> === CONT TestService_ReadAuthMiddleware niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=0 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (17.57ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (17.58ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (15.07ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (18.01ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (18.01ms) niks3-go-unit-tests> {"timestamp":"2026-07-28T08:29:27.216931587Z","level":"ERROR","fields":{"message":"system path read failed","path_kind":"data_usage","operation":"read_primary","reason":"config_not_found","object":"buckets/.usage.json","error":"Config not found"},"target":"rustfs_ecstore::data_usage","filename":"crates/ecstore/src/data_usage.rs","line_number":126,"threadName":"rustfs-worker","threadId":"ThreadId(379)"} niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (17.63ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.43ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created nix-cache-info in bucket bucket=bucket6 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.54ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.41ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.53ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.74ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.61ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.21ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created nix-cache-info in bucket bucket=bucket9 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.67ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.73ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.77ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.88ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> --- PASS: TestService_healthCheckHandler (0.32s) niks3-go-unit-tests> === CONT TestService_AuthMiddleware_OIDC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO OIDC provider initialized name=test niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (13.52ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (13.45ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (13.4ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (12.7ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (13.36ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (12.49ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (14.4ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (12.61ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (13.35ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.91ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (4.94ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (4.7ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (5.65ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received cleanup request method=DELETE path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.88ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.27ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> --- PASS: TestMetricsInventory (0.34s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.15ms) niks3-go-unit-tests> === CONT TestReadProxyNarStreaming niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.11ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.96ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.84ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.78ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.61ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (2.65ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (2.29ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (2.82ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.05ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.5ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.41ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.29ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.13ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.16ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.24ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.08ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.09ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026-07-28 08:29:27.248 UTC [594] ERROR: Closure does not exist: id=1 niks3-go-unit-tests> 2026-07-28 08:29:27.248 UTC [594] CONTEXT: PL/pgSQL function commit_pending_closure(bigint) line 16 at RAISE niks3-go-unit-tests> 2026-07-28 08:29:27.248 UTC [594] STATEMENT: -- name: CommitPendingClosure :exec niks3-go-unit-tests> SELECT commit_pending_closure($1::bigint) niks3-go-unit-tests> niks3-go-unit-tests> --- PASS: TestService_cleanupPendingClosuresHandler (0.35s) niks3-go-unit-tests> === CONT TestReadProxyRangeRequest niks3-go-unit-tests> 2026-07-28 08:29:27.248 UTC [636] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.248 UTC [636] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.249 UTC [637] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.249 UTC [637] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> --- PASS: TestService_Rustfstest (0.28s) niks3-go-unit-tests> === CONT TestReadProxyDisabled niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026-07-28 08:29:27.253 UTC [641] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.253 UTC [641] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.255 UTC [643] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.255 UTC [643] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.255 UTC [656] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.255 UTC [656] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.260 UTC [682] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.260 UTC [682] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> === NAME TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> metadata_upload_test.go:48: First store path: /build/TestNARDeduplicationMetadataUploadBug601643378/001/store/35q1r1slda6vg0dg21p6dqslzajk5irm-file1.txt niks3-go-unit-tests> === NAME TestClientIntegration niks3-go-unit-tests> client_integration_test.go:276: Created store path: /build/TestClientIntegration1624354415/002/store/l3bmkxahljz7nhf8lblmn4dl8hwwa5ry-test-file.txt niks3-go-unit-tests> --- PASS: TestCreatePendingClosure_SmallNARUsesSimplePUT (0.37s) niks3-go-unit-tests> === CONT TestReadProxyRootRedirectsToIndexHTML niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Registered completed upload object_key=nar/jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj0100000000000000000000.nar.zst niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (14.1ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (15.33ms) niks3-go-unit-tests> --- PASS: TestPresignedUploadRegisteredBeforeCommit (0.37s) niks3-go-unit-tests> === CONT TestReadProxyConditionalGet niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (11.38ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (21.94ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (13.05ms) niks3-go-unit-tests> --- PASS: TestObjectStatsTrigger (0.38s) niks3-go-unit-tests> === CONT TestReadProxyHead niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (24.23ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.39ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.87ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (20.71ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (26.41ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (5.53ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.84ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.95ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.67ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.05ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.32ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (8.9ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (5.94ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.8ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.98ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.43ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.97ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (4.42ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.61ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (6.42ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (8.09ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (15.34ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (13.55ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (13.66ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (14.89ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (13.56ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received cleanup request method=DELETE path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.72ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (4.18ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (4.24ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (4.68ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.74ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created nix-cache-info in bucket bucket=bucket21 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026-07-28 08:29:27.334 UTC [732] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.334 UTC [732] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.334 UTC [733] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.334 UTC [733] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> --- PASS: TestMultipartCleanup (0.44s) niks3-go-unit-tests> === CONT TestReadProxyInvalidPath niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created nix-cache-info in bucket bucket=bucket25 niks3-go-unit-tests> 2026-07-28 08:29:27.335 UTC [736] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.335 UTC [736] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026-07-28 08:29:27.336 UTC [734] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.336 UTC [734] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=0 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026-07-28 08:29:27.341 UTC [774] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.341 UTC [774] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Force mode enabled - objects will be deleted immediately without grace period niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Garbage collection completed failed-uploads-deleted=0 old-closures-deleted=0 objects-marked-for-deletion=0 objects-deleted-after-grace-period=0 objects-failed-to-delete=0 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=pending_objects niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=multipart_uploads niks3-go-unit-tests> --- PASS: TestCacheStatsHandler (0.29s) niks3-go-unit-tests> === CONT TestReadProxy404 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=objects niks3-go-unit-tests> 2026-07-28 08:29:27.354 UTC [780] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.354 UTC [780] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (12.88ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (14.33ms) niks3-go-unit-tests> --- PASS: TestGCMetrics (0.30s) niks3-go-unit-tests> === CONT TestService_AuthMiddleware_MTLSBoundSubjects niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (15.25ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.98ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.07ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (17.88ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.32ms) niks3-go-unit-tests> {"timestamp":"2026-07-28T08:29:27.363310993Z","level":"ERROR","fields":{"message":"complete_multipart_upload part error: \"part.1 not found\""},"target":"rustfs_ecstore::set_disk","filename":"crates/ecstore/src/set_disk.rs","line_number":3463,"threadName":"rustfs-worker","threadId":"ThreadId(374)"} niks3-go-unit-tests> {"timestamp":"2026-07-28T08:29:27.363418034Z","level":"ERROR","fields":{"message":"complete_multipart_upload etag err client=Some(\"deadbeef\"), stored=\"\", part_id=1, bucket=bucket24, object=nar/gggggggggggggggggggggggggggggg0300000000000000000000.nar.zst"},"target":"rustfs_ecstore::set_disk","filename":"crates/ecstore/src/set_disk.rs","line_number":3534,"threadName":"rustfs-worker","threadId":"ThreadId(374)"} niks3-go-unit-tests> 2026/07/28 08:29:27 WARN CompleteMultipartUpload errored but object exists; treating as success error="One or more of the specified parts could not be found. The part may not have been uploaded, or the specified entity tag may not match the part's entity tag." object_key=nar/gggggggggggggggggggggggggggggg0300000000000000000000.nar.zst upload_id=YjAwYzc1YzItOWUzMy00ZDJlLWFjOWQtN2I1MTQwMTQzZjViLmJlZmM4ZDkzLWRkNTUtNDQyZi1hYzg5LTI4YTYyN2NiODk0N3gxNzg1MjI3MzY3MzQwOTQ0NTI5 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (9.49ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (20.06ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (11.07ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (9.56ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (11.21ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (11.05ms) niks3-go-unit-tests> 2026-07-28 08:29:27.376 UTC [807] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.376 UTC [807] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed multipart upload object_key=nar/gggggggggggggggggggggggggggggg0300000000000000000000.nar.zst upload_id=YjAwYzc1YzItOWUzMy00ZDJlLWFjOWQtN2I1MTQwMTQzZjViLmJlZmM4ZDkzLWRkNTUtNDQyZi1hYzg5LTI4YTYyN2NiODk0N3gxNzg1MjI3MzY3MzQwOTQ0NTI5 parts=1 niks3-go-unit-tests> --- PASS: TestCompleteMultipartUpload_ErrorButObjectExists (0.40s) niks3-go-unit-tests> === CONT TestService_AuthMiddleware_MTLSProxyHeader niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (5.66ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (5.36ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.05ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.23ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (5.02ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.15ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.77ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (5.85ms) niks3-go-unit-tests> 2026-07-28 08:29:27.385 UTC [857] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.385 UTC [857] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (6.82ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.77ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (6.71ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (6.12ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (8.46ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 35q1r1slda6vg0dg21p6dqslzajk5irm-file1.txt (160B) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading l3bmkxahljz7nhf8lblmn4dl8hwwa5ry-test-file.txt (152B) niks3-go-unit-tests> 2026-07-28 08:29:27.389 UTC [861] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.389 UTC [861] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.43ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.22ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.33ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.29ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.3ms) niks3-go-unit-tests> === RUN TestService_AuthMiddleware_OIDC/valid_OIDC_token niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_OIDC/valid_OIDC_token niks3-go-unit-tests> === RUN TestService_AuthMiddleware_OIDC/OIDC_token_with_wrong_org_rejected niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_OIDC/OIDC_token_with_wrong_org_rejected niks3-go-unit-tests> === RUN TestService_AuthMiddleware_OIDC/malformed_token_rejected niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_OIDC/malformed_token_rejected niks3-go-unit-tests> === RUN TestService_AuthMiddleware_OIDC/static_token_still_works_with_OIDC_configured niks3-go-unit-tests> === PAUSE TestService_AuthMiddleware_OIDC/static_token_still_works_with_OIDC_configured niks3-go-unit-tests> === CONT TestParseSingleRange niks3-go-unit-tests> === RUN TestParseSingleRange/none niks3-go-unit-tests> === PAUSE TestParseSingleRange/none niks3-go-unit-tests> === RUN TestParseSingleRange/unknown_unit niks3-go-unit-tests> === PAUSE TestParseSingleRange/unknown_unit niks3-go-unit-tests> === RUN TestParseSingleRange/multi-range_ignored niks3-go-unit-tests> === PAUSE TestParseSingleRange/multi-range_ignored niks3-go-unit-tests> === RUN TestParseSingleRange/malformed_no_dash niks3-go-unit-tests> === PAUSE TestParseSingleRange/malformed_no_dash niks3-go-unit-tests> === RUN TestParseSingleRange/malformed_both_empty niks3-go-unit-tests> === PAUSE TestParseSingleRange/malformed_both_empty niks3-go-unit-tests> === RUN TestParseSingleRange/malformed_end_before_start niks3-go-unit-tests> === PAUSE TestParseSingleRange/malformed_end_before_start niks3-go-unit-tests> === RUN TestParseSingleRange/closed niks3-go-unit-tests> === PAUSE TestParseSingleRange/closed niks3-go-unit-tests> === RUN TestParseSingleRange/open-ended niks3-go-unit-tests> === PAUSE TestParseSingleRange/open-ended niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/11l1b7hsy9g9pz8i2rcn4n128l6pyr2yf58d49r12hr5caw9dzk1.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> === RUN TestParseSingleRange/end_clamped_to_size niks3-go-unit-tests> === PAUSE TestParseSingleRange/end_clamped_to_size niks3-go-unit-tests> === RUN TestParseSingleRange/suffix niks3-go-unit-tests> === PAUSE TestParseSingleRange/suffix niks3-go-unit-tests> === RUN TestParseSingleRange/suffix_exceeds_size niks3-go-unit-tests> === PAUSE TestParseSingleRange/suffix_exceeds_size niks3-go-unit-tests> === RUN TestParseSingleRange/single_byte niks3-go-unit-tests> === PAUSE TestParseSingleRange/single_byte niks3-go-unit-tests> === RUN TestParseSingleRange/start_past_EOF niks3-go-unit-tests> === PAUSE TestParseSingleRange/start_past_EOF niks3-go-unit-tests> === RUN TestParseSingleRange/start_far_past_EOF niks3-go-unit-tests> === PAUSE TestParseSingleRange/start_far_past_EOF niks3-go-unit-tests> === CONT TestReadProxyNarinfoAlreadyDecompressed niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.33ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created nix-cache-info in bucket bucket=bucket28 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (5.12ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=l3bmkxahljz7nhf8lblmn4dl8hwwa5ry.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.15ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/1/sign niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=35q1r1slda6vg0dg21p6dqslzajk5irm.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026-07-28 08:29:27.399 UTC [862] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.399 UTC [862] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/1/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=1 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.69ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=1 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.95ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=l3bmkxahljz7nhf8lblmn4dl8hwwa5ry.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026/07/28 08:29:27 WARN mTLS auth: subject not in bound subjects subject="CN=writer" niks3-go-unit-tests> --- PASS: TestService_ReadAuthMiddleware (0.19s) niks3-go-unit-tests> === CONT TestReadProxyNarinfo niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=35q1r1slda6vg0dg21p6dqslzajk5irm.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> --- PASS: TestReadProxyNarStreaming (0.17s) niks3-go-unit-tests> === CONT TestIsValidCachePath niks3-go-unit-tests> === RUN TestIsValidCachePath/narinfo niks3-go-unit-tests> === PAUSE TestIsValidCachePath/narinfo niks3-go-unit-tests> === RUN TestIsValidCachePath/narinfo_all_nix_base32_chars niks3-go-unit-tests> === PAUSE TestIsValidCachePath/narinfo_all_nix_base32_chars niks3-go-unit-tests> === RUN TestIsValidCachePath/nar_zst niks3-go-unit-tests> === PAUSE TestIsValidCachePath/nar_zst niks3-go-unit-tests> === RUN TestIsValidCachePath/nar_xz niks3-go-unit-tests> === PAUSE TestIsValidCachePath/nar_xz niks3-go-unit-tests> === RUN TestIsValidCachePath/nar_bz2 niks3-go-unit-tests> === PAUSE TestIsValidCachePath/nar_bz2 niks3-go-unit-tests> === RUN TestIsValidCachePath/nar_uncompressed niks3-go-unit-tests> === PAUSE TestIsValidCachePath/nar_uncompressed niks3-go-unit-tests> === RUN TestIsValidCachePath/ls niks3-go-unit-tests> === PAUSE TestIsValidCachePath/ls niks3-go-unit-tests> === RUN TestIsValidCachePath/log niks3-go-unit-tests> === PAUSE TestIsValidCachePath/log niks3-go-unit-tests> === RUN TestIsValidCachePath/realisation niks3-go-unit-tests> === PAUSE TestIsValidCachePath/realisation niks3-go-unit-tests> === RUN TestIsValidCachePath/nix-cache-info niks3-go-unit-tests> === PAUSE TestIsValidCachePath/nix-cache-info niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> === RUN TestIsValidCachePath/index.html niks3-go-unit-tests> === PAUSE TestIsValidCachePath/index.html niks3-go-unit-tests> === RUN TestIsValidCachePath/traversal_parent niks3-go-unit-tests> === PAUSE TestIsValidCachePath/traversal_parent niks3-go-unit-tests> === RUN TestIsValidCachePath/traversal_in_middle niks3-go-unit-tests> === PAUSE TestIsValidCachePath/traversal_in_middle niks3-go-unit-tests> === RUN TestIsValidCachePath/invalid_char_e niks3-go-unit-tests> === PAUSE TestIsValidCachePath/invalid_char_e niks3-go-unit-tests> === RUN TestIsValidCachePath/invalid_char_u niks3-go-unit-tests> === PAUSE TestIsValidCachePath/invalid_char_u niks3-go-unit-tests> === RUN TestIsValidCachePath/random_path niks3-go-unit-tests> === PAUSE TestIsValidCachePath/random_path niks3-go-unit-tests> === RUN TestIsValidCachePath/empty niks3-go-unit-tests> === PAUSE TestIsValidCachePath/empty niks3-go-unit-tests> === RUN TestIsValidCachePath/leading_slash niks3-go-unit-tests> === PAUSE TestIsValidCachePath/leading_slash niks3-go-unit-tests> === RUN TestIsValidCachePath/wrong_extension niks3-go-unit-tests> === PAUSE TestIsValidCachePath/wrong_extension niks3-go-unit-tests> === RUN TestIsValidCachePath/short_hash niks3-go-unit-tests> === PAUSE TestIsValidCachePath/short_hash niks3-go-unit-tests> === CONT TestResurrectedObjectNotDeleted niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (14.97ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (22.66ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created nix-cache-info in bucket bucket=bucket29 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.49ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (5.33ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (19.25ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (112ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (112ms) niks3-go-unit-tests> === NAME TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> metadata_upload_test.go:54: Retrieved narinfo from S3: niks3-go-unit-tests> StorePath: /build/TestNARDeduplicationMetadataUploadBug601643378/001/store/35q1r1slda6vg0dg21p6dqslzajk5irm-file1.txt niks3-go-unit-tests> URL: nar/1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf.nar.zst niks3-go-unit-tests> Compression: zstd niks3-go-unit-tests> NarHash: sha256:1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf niks3-go-unit-tests> NarSize: 160 niks3-go-unit-tests> References: niks3-go-unit-tests> CA: fixed:r:sha256:1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf niks3-go-unit-tests> === NAME TestClientIntegration niks3-go-unit-tests> client_integration_test.go:292: Retrieved narinfo from S3: niks3-go-unit-tests> StorePath: /build/TestClientIntegration1624354415/002/store/l3bmkxahljz7nhf8lblmn4dl8hwwa5ry-test-file.txt niks3-go-unit-tests> URL: nar/11l1b7hsy9g9pz8i2rcn4n128l6pyr2yf58d49r12hr5caw9dzk1.nar.zst niks3-go-unit-tests> Compression: zstd niks3-go-unit-tests> NarHash: sha256:11l1b7hsy9g9pz8i2rcn4n128l6pyr2yf58d49r12hr5caw9dzk1 niks3-go-unit-tests> NarSize: 152 niks3-go-unit-tests> References: niks3-go-unit-tests> CA: fixed:r:sha256:11l1b7hsy9g9pz8i2rcn4n128l6pyr2yf58d49r12hr5caw9dzk1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (8.28ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.06ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.58ms) niks3-go-unit-tests> --- PASS: TestReadProxyRangeRequest (0.18s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (15.72ms) niks3-go-unit-tests> === CONT TestOrphanedObjectsGC niks3-go-unit-tests> === NAME TestClientIntegration niks3-go-unit-tests> client_integration_test.go:293: Retrieved .ls file from S3 (compressed size: 77 bytes) niks3-go-unit-tests> === NAME TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> metadata_upload_test.go:55: Retrieved .ls file from S3 (compressed size: 77 bytes) niks3-go-unit-tests> === NAME TestClientIntegration niks3-go-unit-tests> client_integration_test.go:293: Decompressed .ls content (64 bytes): niks3-go-unit-tests> {"version":1,"root":{"type":"regular","size":39,"narOffset":96}} niks3-go-unit-tests> === NAME TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> metadata_upload_test.go:55: Decompressed .ls content (64 bytes): niks3-go-unit-tests> {"version":1,"root":{"type":"regular","size":44,"narOffset":96}} niks3-go-unit-tests> === NAME TestClientIntegration niks3-go-unit-tests> client_integration_test.go:296: Testing garbage collection... niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.4ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (5.93ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.46ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.44ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> === NAME TestClientCADerivations niks3-go-unit-tests> client_ca_test.go:136: Built CA derivation: /build/TestClientCADerivations3228148411/001/store/6pyqvkh2ynf2f2bdrhxz78rh4ss427yj-ca-test niks3-go-unit-tests> 2026-07-28 08:29:27.440 UTC [908] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.440 UTC [908] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> === NAME TestClientMultipleUploads niks3-go-unit-tests> client_integration_test.go:338: Created store path 0: /build/TestClientMultipleUploads4111240462/001/store/kpb9v1127v470pvjncdhakmkxr9cam35-test-file-0.txt niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (16.89ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (17.95ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (17.83ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (18.17ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> === NAME TestClientWithDependencies niks3-go-unit-tests> client_integration_test.go:593: Built derivation: /build/TestClientWithDependencies346514831/001/store/zxkap6m1pn5lylcdjs3q2ip6k1r3gryw-test-script niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.35ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.7ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.85ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.94ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.33ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.04ms) niks3-go-unit-tests> 2026-07-28 08:29:27.459 UTC [946] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.459 UTC [946] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> --- PASS: TestReadProxyRootRedirectsToIndexHTML (0.19s) niks3-go-unit-tests> === CONT TestOrphanedObjectsGCStressTest niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.76ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> --- PASS: TestReadProxyDisabled (0.21s) niks3-go-unit-tests> === CONT TestServerTLSConfig/no_client_CA niks3-go-unit-tests> === CONT TestServerTLSConfig/missing_CA_file niks3-go-unit-tests> === CONT TestServerTLSConfig/not_a_PEM_file niks3-go-unit-tests> === CONT TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_nix-cache-info niks3-go-unit-tests> --- PASS: TestServerTLSConfig (0.00s) niks3-go-unit-tests> --- PASS: TestServerTLSConfig/no_client_CA (0.00s) niks3-go-unit-tests> --- PASS: TestServerTLSConfig/missing_CA_file (0.00s) niks3-go-unit-tests> --- PASS: TestServerTLSConfig/not_a_PEM_file (0.00s) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/ niks3-go-unit-tests> === CONT TestUploadHandlersRejectInvalidKeys/request_more_parts_rejects_non-NAR_key niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received request for more parts method=POST path=/ niks3-go-unit-tests> === CONT TestUploadHandlersRejectInvalidKeys/complete_multipart_rejects_non-NAR_key niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/ niks3-go-unit-tests> === CONT TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_path_traversal niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/ niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectInvalidKeys (0.07s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_nix-cache-info (0.00s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectInvalidKeys/request_more_parts_rejects_non-NAR_key (0.00s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectInvalidKeys/complete_multipart_rejects_non-NAR_key (0.00s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectInvalidKeys/create_pending_closure_rejects_path_traversal (0.00s) niks3-go-unit-tests> === CONT TestProxyWriteTimeout/narinfo niks3-go-unit-tests> === CONT TestProxyWriteTimeout/1_GiB_nar niks3-go-unit-tests> === CONT TestProxyWriteTimeout/10_GiB_nar niks3-go-unit-tests> === CONT TestProxyWriteTimeout/unknown_size niks3-go-unit-tests> --- PASS: TestProxyWriteTimeout (0.07s) niks3-go-unit-tests> --- PASS: TestProxyWriteTimeout/narinfo (0.00s) niks3-go-unit-tests> --- PASS: TestProxyWriteTimeout/1_GiB_nar (0.00s) niks3-go-unit-tests> --- PASS: TestProxyWriteTimeout/10_GiB_nar (0.00s) niks3-go-unit-tests> --- PASS: TestProxyWriteTimeout/unknown_size (0.00s) niks3-go-unit-tests> === CONT TestUploadHandlersRejectOversizedBody/create_pending_closure niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/ niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Starting cleanup of old closures method=DELETE path=/api/closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Garbage collection started niks3-go-unit-tests> --- PASS: TestReadProxyConditionalGet (0.20s) niks3-go-unit-tests> === CONT TestUploadHandlersRejectOversizedBody/complete_multipart niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/ niks3-go-unit-tests> 2026-07-28 08:29:27.471 UTC [985] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.471 UTC [985] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> === NAME TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> metadata_upload_test.go:64: Second store path (same content): /build/TestNARDeduplicationMetadataUploadBug601643378/001/store/hzs28j8ass6ij2ic5s3m4mi8c5c9jp27-file2.txt niks3-go-unit-tests> === NAME TestClientCADerivations niks3-go-unit-tests> client_ca_test.go:139: Found 1 dependencies (including self) niks3-go-unit-tests> --- PASS: TestReadProxyHead (0.19s) niks3-go-unit-tests> === CONT TestUploadHandlersRejectOversizedBody/request_more_parts niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received request for more parts method=POST path=/ niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (21.95ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=0 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (11.73ms) niks3-go-unit-tests> === NAME TestClientMultipleUploads niks3-go-unit-tests> client_integration_test.go:338: Created store path 1: /build/TestClientMultipleUploads4111240462/001/store/s87f7a4y5m2ynkz2988mins31a7qjmvy-test-file-1.txt niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.89ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.15ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Force mode enabled - objects will be deleted immediately without grace period niks3-go-unit-tests> === NAME TestClientWithDependencies niks3-go-unit-tests> client_integration_test.go:595: Found 1 dependencies (including self) niks3-go-unit-tests> 2026-07-28 08:29:27.489 UTC [1031] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.489 UTC [1031] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> === NAME TestPinProtectsFromGC niks3-go-unit-tests> client_integration_test.go:646: Pinned store path: /build/TestPinProtectsFromGC2483151714/001/store/fjypgnl4j9nxjn0wwi4pnkl9zg0g4v0i-pinned-file.txt niks3-go-unit-tests> client_integration_test.go:647: Unpinned store path: /build/TestPinProtectsFromGC2483151714/001/store/h3rzl63yp5bzwwky2rhvv4j67jsrhg7p-unpinned-file.txt niks3-go-unit-tests> === CONT TestCacheConfigHandler/full_config,_no_issuer niks3-go-unit-tests> === CONT TestCacheConfigHandler/issuer_requested_but_no_OIDC_validator niks3-go-unit-tests> === CONT TestCacheConfigHandler/no_signing_keys niks3-go-unit-tests> === CONT TestCacheConfigHandler/no_cache_url_configured niks3-go-unit-tests> --- PASS: TestCacheConfigHandler (0.00s) niks3-go-unit-tests> --- PASS: TestCacheConfigHandler/full_config,_no_issuer (0.00s) niks3-go-unit-tests> --- PASS: TestCacheConfigHandler/issuer_requested_but_no_OIDC_validator (0.00s) niks3-go-unit-tests> --- PASS: TestCacheConfigHandler/no_signing_keys (0.00s) niks3-go-unit-tests> --- PASS: TestCacheConfigHandler/no_cache_url_configured (0.00s) niks3-go-unit-tests> === CONT TestIsValidUploadKey/narinfo niks3-go-unit-tests> === CONT TestIsValidUploadKey/unknown_type niks3-go-unit-tests> === CONT TestIsValidUploadKey/realisation niks3-go-unit-tests> === CONT TestIsValidUploadKey/build_log_equals niks3-go-unit-tests> === CONT TestIsValidUploadKey/build_log_question_mark niks3-go-unit-tests> === CONT TestIsValidUploadKey/build_log_plus_in_name niks3-go-unit-tests> === CONT TestIsValidUploadKey/build_log_home-manager_file niks3-go-unit-tests> === CONT TestIsValidUploadKey/realisation_plus_in_output niks3-go-unit-tests> === CONT TestIsValidUploadKey/build_log niks3-go-unit-tests> === CONT TestIsValidUploadKey/empty_key niks3-go-unit-tests> === CONT TestIsValidUploadKey/listing niks3-go-unit-tests> === CONT TestIsValidUploadKey/absolute niks3-go-unit-tests> === CONT TestIsValidUploadKey/nar_plain niks3-go-unit-tests> === CONT TestIsValidUploadKey/traversal_nar niks3-go-unit-tests> === CONT TestIsValidUploadKey/nar_xz niks3-go-unit-tests> === CONT TestIsValidUploadKey/traversal niks3-go-unit-tests> === CONT TestIsValidUploadKey/nar_zst niks3-go-unit-tests> === CONT TestIsValidUploadKey/listing_key,_narinfo_type niks3-go-unit-tests> === CONT TestIsValidUploadKey/nix-cache-info niks3-go-unit-tests> === CONT TestIsValidUploadKey/index.html niks3-go-unit-tests> === CONT TestIsValidUploadKey/nar_key,_narinfo_type niks3-go-unit-tests> === CONT TestIsValidUploadKey/narinfo_key,_nar_type niks3-go-unit-tests> --- PASS: TestIsValidUploadKey (0.16s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/narinfo (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/unknown_type (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/realisation (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/build_log_equals (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/build_log_question_mark (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/build_log_plus_in_name (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/build_log_home-manager_file (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/realisation_plus_in_output (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/build_log (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/empty_key (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/listing (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/absolute (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/nar_plain (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/traversal_nar (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/nar_xz (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/traversal (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/nar_zst (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/listing_key,_narinfo_type (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/nix-cache-info (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/index.html (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/nar_key,_narinfo_type (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidUploadKey/narinfo_key,_nar_type (0.00s) niks3-go-unit-tests> === CONT TestClientErrorHandling/InvalidStorePath niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> === CONT TestClientErrorHandling/InvalidAuthToken niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (99.64ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (98.22ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (101.63ms) niks3-go-unit-tests> === NAME TestClientMultipleUploads niks3-go-unit-tests> client_integration_test.go:338: Created store path 2: /build/TestClientMultipleUploads4111240462/001/store/9bnbbqpdlvjbgzkj5r6fsdcy9pq3plpi-test-file-2.txt niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.17ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.3ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed multipart upload object_key=nar/dadb44fdadb44fdadb44fdadb44f000000000000000000000000.nar.zst upload_id=YjAwYzc1YzItOWUzMy00ZDJlLWFjOWQtN2I1MTQwMTQzZjViLjNmZTFkZjRiLWUzNjgtNDRiZi05YmMwLWZlOTBhN2NlMmZhMngxNzg1MjI3MzY3MjYwOTAxNjY5 parts=10 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (8.69ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026-07-28 08:29:27.591 UTC [1147] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.591 UTC [1147] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed multipart upload object_key=nar/0000000000000000000000000000000000000000000000000000.nar.zst upload_id=YjAwYzc1YzItOWUzMy00ZDJlLWFjOWQtN2I1MTQwMTQzZjViLmY2NjU5MWNmLTkyMDQtNDExNC04ZjM2LWY4Mzk2ZmVmZWZlYngxNzg1MjI3MzY3MjQ5NDM4OTk1 parts=10 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.07ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.23ms) niks3-go-unit-tests> --- PASS: TestGCBugBareHashReferences (0.54s) niks3-go-unit-tests> === CONT TestClientErrorHandling/ServerNotAvailable niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.81ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (4.01ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received get closure request method=GET path=/api/closures/00000000000000000000000000000000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.69ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (18.04ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (9.94ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026-07-28 08:29:27.604 UTC [1151] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.604 UTC [1151] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Starting cleanup of old closures method=DELETE path=/api/closures niks3-go-unit-tests> --- PASS: TestReadProxy404 (0.25s) niks3-go-unit-tests> === CONT TestService_AuthMiddleware_OIDC/valid_OIDC_token niks3-go-unit-tests> --- PASS: TestReadProxyInvalidPath (0.27s) niks3-go-unit-tests> === CONT TestService_AuthMiddleware_OIDC/malformed_token_rejected niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Authentication failed token_preview=not-a-valid-jwt token_length=15 oidc_error="no provider could verify the token (signature or issuer mismatch)" oidc_provider="" tried_providers=[test] niks3-go-unit-tests> === CONT TestService_AuthMiddleware_OIDC/static_token_still_works_with_OIDC_configured niks3-go-unit-tests> === CONT TestService_AuthMiddleware_OIDC/OIDC_token_with_wrong_org_rejected niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Object in database but missing from S3 key=dadb44fdadb44fdadb44fdadb44f0000.narinfo niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Found objects in DB but missing from S3, will re-upload count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (6.79ms) niks3-go-unit-tests> 2026-07-28 08:29:27.608 UTC [1152] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.608 UTC [1152] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (5.84ms) niks3-go-unit-tests> --- PASS: TestService_verifyS3Integrity (0.71s) niks3-go-unit-tests> === CONT TestParseSingleRange/none niks3-go-unit-tests> === CONT TestParseSingleRange/open-ended niks3-go-unit-tests> === CONT TestParseSingleRange/start_far_past_EOF niks3-go-unit-tests> === CONT TestParseSingleRange/start_past_EOF niks3-go-unit-tests> === CONT TestParseSingleRange/single_byte niks3-go-unit-tests> === CONT TestParseSingleRange/suffix_exceeds_size niks3-go-unit-tests> === CONT TestParseSingleRange/suffix niks3-go-unit-tests> === CONT TestParseSingleRange/end_clamped_to_size niks3-go-unit-tests> === CONT TestParseSingleRange/malformed_both_empty niks3-go-unit-tests> === CONT TestParseSingleRange/closed niks3-go-unit-tests> === CONT TestParseSingleRange/malformed_end_before_start niks3-go-unit-tests> === CONT TestParseSingleRange/multi-range_ignored niks3-go-unit-tests> === CONT TestParseSingleRange/malformed_no_dash niks3-go-unit-tests> === CONT TestParseSingleRange/unknown_unit niks3-go-unit-tests> --- PASS: TestParseSingleRange (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/none (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/open-ended (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/start_far_past_EOF (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/start_past_EOF (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/single_byte (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/suffix_exceeds_size (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/suffix (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/end_clamped_to_size (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/malformed_both_empty (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/closed (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/malformed_end_before_start (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/multi-range_ignored (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/malformed_no_dash (0.00s) niks3-go-unit-tests> --- PASS: TestParseSingleRange/unknown_unit (0.00s) niks3-go-unit-tests> === CONT TestIsValidCachePath/narinfo niks3-go-unit-tests> === CONT TestIsValidCachePath/index.html niks3-go-unit-tests> === CONT TestIsValidCachePath/short_hash niks3-go-unit-tests> === CONT TestIsValidCachePath/wrong_extension niks3-go-unit-tests> === CONT TestIsValidCachePath/leading_slash niks3-go-unit-tests> === CONT TestIsValidCachePath/empty niks3-go-unit-tests> === CONT TestIsValidCachePath/random_path niks3-go-unit-tests> === CONT TestIsValidCachePath/invalid_char_u niks3-go-unit-tests> === CONT TestIsValidCachePath/nar_uncompressed niks3-go-unit-tests> === CONT TestIsValidCachePath/invalid_char_e niks3-go-unit-tests> === CONT TestIsValidCachePath/nix-cache-info niks3-go-unit-tests> === CONT TestIsValidCachePath/traversal_in_middle niks3-go-unit-tests> === CONT TestIsValidCachePath/realisation niks3-go-unit-tests> === CONT TestIsValidCachePath/log niks3-go-unit-tests> === CONT TestIsValidCachePath/ls niks3-go-unit-tests> === CONT TestIsValidCachePath/nar_zst niks3-go-unit-tests> === CONT TestIsValidCachePath/nar_xz niks3-go-unit-tests> === CONT TestIsValidCachePath/nar_bz2 niks3-go-unit-tests> === CONT TestIsValidCachePath/traversal_parent niks3-go-unit-tests> === CONT TestIsValidCachePath/narinfo_all_nix_base32_chars niks3-go-unit-tests> --- PASS: TestIsValidCachePath (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/narinfo (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/index.html (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/short_hash (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/wrong_extension (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/leading_slash (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/empty (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/random_path (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/invalid_char_u (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/nar_uncompressed (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/invalid_char_e (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/nix-cache-info (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/traversal_in_middle (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/realisation (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/log (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/ls (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/nar_zst (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/nar_xz (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/nar_bz2 (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/traversal_parent (0.00s) niks3-go-unit-tests> --- PASS: TestIsValidCachePath/narinfo_all_nix_base32_chars (0.00s) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO OIDC auth successful provider=test niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Authentication failed token_preview=eyJhbGciOi...wgQHLSLtTw token_length=702 oidc_error="bound claims validation failed: claim \"repository_owner\" value [otherorg] not in allowed patterns [myorg]" oidc_provider=test tried_providers=[test] niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (3.64ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_OIDC (0.17s) niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_OIDC/malformed_token_rejected (0.00s) niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_OIDC/static_token_still_works_with_OIDC_configured (0.00s) niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_OIDC/valid_OIDC_token (0.01s) niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_OIDC/OIDC_token_with_wrong_org_rejected (0.01s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (15.85ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (7.81ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN mTLS auth: subject not in bound subjects subject="CN=untrusted,O=Other" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN mTLS auth: bound subjects configured but subject DN unavailable niks3-go-unit-tests> 2026/07/28 08:29:27 WARN mTLS auth: subject not in bound subjects subject="CN=untrusted" niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_MTLSBoundSubjects (0.26s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.12ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=0 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (4.49ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.86ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (12.15ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.49ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (7.51ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (13.33ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (4.9ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete multipart upload request method=POST path=/api/multipart/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.56ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026-07-28 08:29:27.632 UTC [1189] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.632 UTC [1189] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.49ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Garbage collection completed failed-uploads-deleted=0 old-closures-deleted=1 objects-marked-for-deletion=2 objects-deleted-after-grace-period=0 objects-failed-to-delete=0 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.45ms) niks3-go-unit-tests> --- PASS: TestService_AuthMiddleware_MTLSProxyHeader (0.26s) niks3-go-unit-tests> 2026-07-28 08:29:27.635 UTC [1224] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.635 UTC [1224] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (4.48ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.3ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading zxkap6m1pn5lylcdjs3q2ip6k1r3gryw-test-script (136B) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (5.25ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=pending_objects niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (4.95ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/1s7yghixzpinyqm7g59kyn3sav81pmnsdi5v63m6x4r2vacy907j.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=log/jrzhrsspkmy5hzxdr9zq0xp5243ls7k7-test-script.drv error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=zxkap6m1pn5lylcdjs3q2ip6k1r3gryw.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (5.18ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/1/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=multipart_uploads niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=1 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.16ms) niks3-go-unit-tests> --- PASS: TestReadProxyNarinfoAlreadyDecompressed (0.25s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (4.04ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (2.97ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=zxkap6m1pn5lylcdjs3q2ip6k1r3gryw.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (1.93ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed multipart upload object_key=nar/gggggggggggggggggggggggggggggg0100000000000000000000.nar.zst upload_id=YjAwYzc1YzItOWUzMy00ZDJlLWFjOWQtN2I1MTQwMTQzZjViLjQ3YzkxMGQ4LWVlNDMtNDAxMy05MTczLWI3YWE0ZjJhNTQwZHgxNzg1MjI3MzY3MjYxMDE0MjMw parts=12 niks3-go-unit-tests> --- PASS: TestRedundantMultipartUpload (0.75s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (12.39ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed multipart upload object_key=nar/hhhhhhhhhhhhhhhhhhhhhhhhhhhhhh0100000000000000000000.nar.zst upload_id=YjAwYzc1YzItOWUzMy00ZDJlLWFjOWQtN2I1MTQwMTQzZjViLjI5YjA4NDFlLWMxMWMtNDZiYi1iOGRhLTQxZDg2YzYxZGU0NHgxNzg1MjI3MzY3MjU5ODkwMDAx parts=12 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Vacuumed table table=objects niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (2.63ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received get closure request method=GET path=/api/closures/00000000000000000000000000000000 niks3-go-unit-tests> --- PASS: TestService_createPendingClosureHandler (0.75s) niks3-go-unit-tests> --- PASS: TestReadProxyNarinfo (0.25s) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (10.15ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (84ms) niks3-go-unit-tests> --- PASS: TestCompletedNarNotReofferedAcrossClosures (0.69s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (22.54ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> === NAME TestClientWithDependencies niks3-go-unit-tests> client_integration_test.go:597: Skipping nix copy test - isolated store (/build/TestClientWithDependencies346514831/001/store) requires matching store prefix niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (3.28ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 0 paths to 127.0.0.1 (1 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (6.85ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.01ms) niks3-go-unit-tests> --- PASS: TestClientWithDependencies (0.62s) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=hzs28j8ass6ij2ic5s3m4mi8c5c9jp27.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/2/sign niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (6.47ms) niks3-go-unit-tests> 2026-07-28 08:29:27.676 UTC [1333] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.676 UTC [1333] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=2 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (1.55ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading fjypgnl4j9nxjn0wwi4pnkl9zg0g4v0i-pinned-file.txt (128B) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 6pyqvkh2ynf2f2bdrhxz78rh4ss427yj-ca-test (144B) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=hzs28j8ass6ij2ic5s3m4mi8c5c9jp27.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/0qmhsg42pqsz7x6hh02j8gznnac3yi3qpjhrqbwvz88i194jbb5s.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/2/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (5.59ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (102ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=log/gkkmp8ypwrw9qgkscl1njgy0jlkd772v-ca-test.drv error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/04jj7iiy79vhzp5kk3r2751n9x3xa44j98y5bk1ds4jp31kky74n.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=fjypgnl4j9nxjn0wwi4pnkl9zg0g4v0i.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/1/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=1 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> === NAME TestNARDeduplicationMetadataUploadBug niks3-go-unit-tests> metadata_upload_test.go:76: Retrieved narinfo from S3: niks3-go-unit-tests> StorePath: /build/TestNARDeduplicationMetadataUploadBug601643378/001/store/hzs28j8ass6ij2ic5s3m4mi8c5c9jp27-file2.txt niks3-go-unit-tests> URL: nar/1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf.nar.zst niks3-go-unit-tests> Compression: zstd niks3-go-unit-tests> NarHash: sha256:1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf niks3-go-unit-tests> NarSize: 160 niks3-go-unit-tests> References: niks3-go-unit-tests> CA: fixed:r:sha256:1byf36hhc5sn8lvwqfkjh3ybgn76slmx8naakslrypxs6mna71rf niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=6pyqvkh2ynf2f2bdrhxz78rh4ss427yj.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/1/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=1 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=fjypgnl4j9nxjn0wwi4pnkl9zg0g4v0i.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> metadata_upload_test.go:77: Retrieved .ls file from S3 (compressed size: 62 bytes) niks3-go-unit-tests> metadata_upload_test.go:77: Decompressed .ls content (49 bytes): niks3-go-unit-tests> {"version":1,"root":{"type":"regular","size":44}} niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=6pyqvkh2ynf2f2bdrhxz78rh4ss427yj.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (10.28ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (10.71ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (1.59ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (114ms) niks3-go-unit-tests> --- PASS: TestNARDeduplicationMetadataUploadBug (0.80s) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (1.71ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (3.56ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (119ms) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (3.52ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> --- PASS: TestResurrectedObjectNotDeleted (0.30s) niks3-go-unit-tests> 2026-07-28 08:29:27.703 UTC [1372] ERROR: relation "goose_db_version" does not exist at character 36 niks3-go-unit-tests> 2026-07-28 08:29:27.703 UTC [1372] STATEMENT: SELECT version_id, is_applied from goose_db_version ORDER BY id DESC niks3-go-unit-tests> === NAME TestClientCADerivations niks3-go-unit-tests> client_ca_test.go:180: Narinfo contains CA field: StorePath: /build/TestClientCADerivations3228148411/001/store/6pyqvkh2ynf2f2bdrhxz78rh4ss427yj-ca-test niks3-go-unit-tests> URL: nar/04jj7iiy79vhzp5kk3r2751n9x3xa44j98y5bk1ds4jp31kky74n.nar.zst niks3-go-unit-tests> Compression: zstd niks3-go-unit-tests> NarHash: sha256:04jj7iiy79vhzp5kk3r2751n9x3xa44j98y5bk1ds4jp31kky74n niks3-go-unit-tests> NarSize: 144 niks3-go-unit-tests> References: niks3-go-unit-tests> Deriver: /build/TestClientCADerivations3228148411/001/store/gkkmp8ypwrw9qgkscl1njgy0jlkd772v-ca-test.drv niks3-go-unit-tests> CA: fixed:r:sha256:04jj7iiy79vhzp5kk3r2751n9x3xa44j98y5bk1ds4jp31kky74n niks3-go-unit-tests> client_ca_test.go:185: Checking for realisation files in S3... niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (3.87ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (1.35ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> client_ca_test.go:207: No realisation files uploaded - this is expected for locally built CA derivations niks3-go-unit-tests> client_ca_test.go:208: Locally built CA derivations don't have DrvOutput IDs until they're substituted from a cache niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Request failed, retrying attempt=1 max_attempts=6 backoff=100ms error="Get \"http://localhost:19999/api/cache-config\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/cache-config niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 3 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 9bnbbqpdlvjbgzkj5r6fsdcy9pq3plpi-test-file-2.txt (160B) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading s87f7a4y5m2ynkz2988mins31a7qjmvy-test-file-1.txt (160B) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading kpb9v1127v470pvjncdhakmkxr9cam35-test-file-0.txt (160B) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/1823g6vx4q5zqvr73m7lkq1wpk40fin7bsc792di430yk7sg4lka.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/0ahq3izw3h0b0c08p3xdfclh758fwxnp85ccvflasb4vnfsv50ri.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/13p9pqi0ga6fx2apcwls9hjnv7nmf740ggpn5zvfzdsp5vz2bbg4.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20241026095416_initial_model.sql (14.69ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251210153512_drop_unused_gin_index.sql (1.76ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=9bnbbqpdlvjbgzkj5r6fsdcy9pq3plpi.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=kpb9v1127v470pvjncdhakmkxr9cam35.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=s87f7a4y5m2ynkz2988mins31a7qjmvy.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/2/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=2 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/3/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=3 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/1/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=1 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 3 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20251218171726_add_pins.sql (4.77ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=9bnbbqpdlvjbgzkj5r6fsdcy9pq3plpi.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 OK 20260628120000_add_object_size_and_stats.sql (4.32ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: successfully migrated database to version: 20260628120000 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=s87f7a4y5m2ynkz2988mins31a7qjmvy.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=kpb9v1127v470pvjncdhakmkxr9cam35.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/1/complete niks3-go-unit-tests> 2026/07/28 08:29:27 OK 1_commit_pending_closure.sql (2.58ms) niks3-go-unit-tests> 2026/07/28 08:29:27 OK 2_object_stats_trigger.sql (1.33ms) niks3-go-unit-tests> 2026/07/28 08:29:27 goose: up to current file version: 2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/2/complete niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/3/complete niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=3 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (109ms) niks3-go-unit-tests> === NAME TestClientMultipleUploads niks3-go-unit-tests> client_integration_test.go:349: Uploaded 3 paths in 164.307554ms niks3-go-unit-tests> --- PASS: TestClientMultipleUploads (0.55s) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received uploads request method=POST path=/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 paths to 127.0.0.1 (0 already cached) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading h3rzl63yp5bzwwky2rhvv4j67jsrhg7p-unpinned-file.txt (128B) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=nar/0gh0wdnr6gmk4r5sfzzh12isnl14rgmkrwy1ws41hpsrlndclg5h.nar.zst error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=h3rzl63yp5bzwwky2rhvv4j67jsrhg7p.ls error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received sign narinfos request method=POST path=/api/pending_closures/2/sign niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Signed narinfos id=2 count=1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Uploading 1 narinfos niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to register uploaded object key=h3rzl63yp5bzwwky2rhvv4j67jsrhg7p.narinfo error="server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received complete upload request method=POST path=/api/pending_closures/2/complete niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Completed upload id=2 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Upload complete. (87ms) niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Request failed, retrying attempt=2 max_attempts=6 backoff=219.522851ms error="Get \"http://localhost:19999/api/cache-config\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/cache-config niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: server returned 404: 404 page not found\n" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Received create pin request method=POST path=/api/pins/myapp niks3-go-unit-tests> === NAME TestClientCADerivations niks3-go-unit-tests> client_ca_test.go:258: nix copy output: warning: you don't have Internet access; disabling some network-dependent features niks3-go-unit-tests> warning: failed to create TLS context for AWS credential providers; SSO, STS WebIdentity, and ECS container authentication will be unavailable niks3-go-unit-tests> error: binary cache 's3://bucket21?endpoint=http://localhost:36265®ion=eu-west-1' is for Nix stores with prefix '/nix/store', not '/build/TestClientCADerivations3228148411/001/store' niks3-go-unit-tests> client_ca_test.go:259: nix copy failed (might be expected with isolated stores): exit status 1 niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Created/updated pin name=myapp store_path=/build/TestPinProtectsFromGC2483151714/001/store/fjypgnl4j9nxjn0wwi4pnkl9zg0g4v0i-pinned-file.txt narinfo_key=fjypgnl4j9nxjn0wwi4pnkl9zg0g4v0i.narinfo niks3-go-unit-tests> --- PASS: TestClientCADerivations (0.79s) niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Starting cleanup of old closures method=DELETE path=/api/closures niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Garbage collection started niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Authentication failed token_preview=invalid-token token_length=13 reason="static API token mismatch" niks3-go-unit-tests> 2026/07/28 08:29:27 INFO Aborted multipart uploads count=0 niks3-go-unit-tests> 2026/07/28 08:29:27 WARN Force mode enabled - objects will be deleted immediately without grace period niks3-go-unit-tests> 2026/07/28 08:29:28 WARN Request failed, retrying attempt=3 max_attempts=6 backoff=397.542466ms error="Get \"http://localhost:19999/api/cache-config\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/cache-config niks3-go-unit-tests> === NAME TestOrphanedObjectsGC niks3-go-unit-tests> orphaned_objects_gc_test.go:290: GC Test Summary: niks3-go-unit-tests> orphaned_objects_gc_test.go:291: - Kept: 2 objects from closure A niks3-go-unit-tests> orphaned_objects_gc_test.go:292: - Deleted: 2 objects from closure B niks3-go-unit-tests> orphaned_objects_gc_test.go:293: - Deleted: 6 orphaned chain objects (X1->X2->X3) niks3-go-unit-tests> orphaned_objects_gc_test.go:294: - Deleted: 2 orphaned single objects (Y) niks3-go-unit-tests> orphaned_objects_gc_test.go:295: - Total deleted: 10 objects niks3-go-unit-tests> --- PASS: TestOrphanedObjectsGC (0.65s) niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Garbage collection completed failed-uploads-deleted=0 old-closures-deleted=1 objects-marked-for-deletion=3 objects-deleted-after-grace-period=2001 objects-failed-to-delete=0 niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=pending_closures niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=pending_objects niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=multipart_uploads niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=closures niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=objects niks3-go-unit-tests> 2026/07/28 08:29:28 WARN Request failed, retrying attempt=4 max_attempts=6 backoff=875.405341ms error="Get \"http://localhost:19999/api/cache-config\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/cache-config niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Garbage collection completed failed-uploads-deleted=0 old-closures-deleted=1 objects-marked-for-deletion=3 objects-deleted-after-grace-period=2001 objects-failed-to-delete=0 niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=pending_closures niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=pending_objects niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=multipart_uploads niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=closures niks3-go-unit-tests> 2026/07/28 08:29:28 INFO Vacuumed table table=objects niks3-go-unit-tests> === NAME TestOrphanedObjectsGCStressTest niks3-go-unit-tests> orphaned_objects_gc_test.go:425: Created 10 active closures, 5 to-delete closures, 20 orphaned chains niks3-go-unit-tests> orphaned_objects_gc_test.go:446: Marked 210 objects for deletion niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectOversizedBody (0.16s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectOversizedBody/request_more_parts (0.07s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectOversizedBody/complete_multipart (0.11s) niks3-go-unit-tests> --- PASS: TestUploadHandlersRejectOversizedBody/create_pending_closure (1.58s) niks3-go-unit-tests> === NAME TestOrphanedObjectsGCStressTest niks3-go-unit-tests> orphaned_objects_gc_test.go:509: Stress test completed successfully: niks3-go-unit-tests> orphaned_objects_gc_test.go:510: - Active objects preserved: 20 niks3-go-unit-tests> orphaned_objects_gc_test.go:511: - Objects deleted: 210 niks3-go-unit-tests> orphaned_objects_gc_test.go:512: - Total GC'd: 210 niks3-go-unit-tests> --- PASS: TestOrphanedObjectsGCStressTest (1.66s) niks3-go-unit-tests> 2026/07/28 08:29:29 WARN Request failed, retrying attempt=5 max_attempts=6 backoff=1.537168071s error="Get \"http://localhost:19999/api/cache-config\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/cache-config niks3-go-unit-tests> 2026/07/28 08:29:29 INFO Garbage collection progress phase="" failed_uploads_deleted=0 old_closures_deleted=1 objects_marked=3 objects_deleted=2001 objects_failed=0 niks3-go-unit-tests> === NAME TestClientIntegration niks3-go-unit-tests> client_integration_test.go:303: Objects in database after GC: niks3-go-unit-tests> client_integration_test.go:303: Successfully deleted all objects with GC --force niks3-go-unit-tests> --- PASS: TestClientIntegration (2.58s) niks3-go-unit-tests> 2026/07/28 08:29:29 INFO Garbage collection progress phase="" failed_uploads_deleted=0 old_closures_deleted=1 objects_marked=3 objects_deleted=2001 objects_failed=0 niks3-go-unit-tests> === NAME TestPinProtectsFromGC niks3-go-unit-tests> client_integration_test.go:709: Pin successfully protected closure from garbage collection niks3-go-unit-tests> --- PASS: TestPinProtectsFromGC (2.66s) niks3-go-unit-tests> 2026/07/28 08:29:30 WARN Rate limiter enabled after throttle name=s3-test rate=5 niks3-go-unit-tests> 2026/07/28 08:29:30 WARN S3 rate limit hit operation="complete multipart upload" error="Please reduce your request rate." niks3-go-unit-tests> === NAME TestCompleteMultipartUploadHandler_RateLimitTriggersThrottle niks3-go-unit-tests> throttle_test.go:213: Proxy stats: total=15, throttled=10, completeMultipart=10 niks3-go-unit-tests> throttle_test.go:215: Rate limiter: enabled=true, rate=5.00 niks3-go-unit-tests> --- PASS: TestCompleteMultipartUploadHandler_RateLimitTriggersThrottle (3.31s) niks3-go-unit-tests> 2026/07/28 08:29:30 WARN Failed to fetch cache config, uploading without size limit error="fetching cache config: sending request: request failed after retries: Get \"http://localhost:19999/api/cache-config\": dial tcp [::1]:19999: connect: connection refused" niks3-go-unit-tests> 2026/07/28 08:29:30 WARN Request failed, retrying attempt=1 max_attempts=6 backoff=100ms error="Post \"http://localhost:19999/api/pending_closures\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:30 WARN Request failed, retrying attempt=2 max_attempts=6 backoff=198.341204ms error="Post \"http://localhost:19999/api/pending_closures\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:31 WARN Request failed, retrying attempt=3 max_attempts=6 backoff=395.948102ms error="Post \"http://localhost:19999/api/pending_closures\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:31 WARN Request failed, retrying attempt=4 max_attempts=6 backoff=815.604029ms error="Post \"http://localhost:19999/api/pending_closures\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/pending_closures niks3-go-unit-tests> 2026/07/28 08:29:32 WARN Request failed, retrying attempt=5 max_attempts=6 backoff=1.577582347s error="Post \"http://localhost:19999/api/pending_closures\": dial tcp [::1]:19999: connect: connection refused" url=http://localhost:19999/api/pending_closures niks3-go-unit-tests> --- PASS: TestClientErrorHandling (0.00s) niks3-go-unit-tests> --- PASS: TestClientErrorHandling/InvalidStorePath (0.24s) niks3-go-unit-tests> --- PASS: TestClientErrorHandling/InvalidAuthToken (0.28s) niks3-go-unit-tests> --- PASS: TestClientErrorHandling/ServerNotAvailable (6.40s) niks3-go-unit-tests> PASS niks3-go-unit-tests> 2026-07-28 08:29:34.673 UTC [111] LOG: received smart shutdown request niks3-go-unit-tests> 2026-07-28 08:29:34.678 UTC [111] LOG: background worker "logical replication launcher" (PID 121) exited with exit code 1 niks3-go-unit-tests> 2026-07-28 08:29:34.689 UTC [116] LOG: shutting down niks3-go-unit-tests> 2026-07-28 08:29:34.692 UTC [116] LOG: checkpoint starting: shutdown immediate niks3-go-unit-tests> 2026-07-28 08:29:36.120 UTC [116] LOG: checkpoint complete: wrote 11240 buffers (68.6%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 13 recycled; write=0.256 s, sync=1.156 s, total=1.431 s; sync files=15167, longest=0.089 s, average=0.001 s; distance=208930 kB, estimate=208930 kB; lsn=0/E36C830, redo lsn=0/E36C830 niks3-go-unit-tests> 2026-07-28 08:29:36.239 UTC [111] LOG: database system is shut down niks3-go-unit-tests> Running OIDC tests... niks3-go-unit-tests> === RUN TestGlobMatch niks3-go-unit-tests> === PAUSE TestGlobMatch niks3-go-unit-tests> === RUN TestAudienceForIssuer niks3-go-unit-tests> === PAUSE TestAudienceForIssuer niks3-go-unit-tests> === RUN TestValidateToken_ValidToken niks3-go-unit-tests> === PAUSE TestValidateToken_ValidToken niks3-go-unit-tests> === RUN TestValidateToken_WrongAudience niks3-go-unit-tests> === PAUSE TestValidateToken_WrongAudience niks3-go-unit-tests> === RUN TestValidateToken_Expired niks3-go-unit-tests> === PAUSE TestValidateToken_Expired niks3-go-unit-tests> === RUN TestValidateToken_BoundClaimsMismatch niks3-go-unit-tests> === PAUSE TestValidateToken_BoundClaimsMismatch niks3-go-unit-tests> === RUN TestValidateToken_BoundSubjectMismatch niks3-go-unit-tests> === PAUSE TestValidateToken_BoundSubjectMismatch niks3-go-unit-tests> === RUN TestValidateToken_MultipleProviders niks3-go-unit-tests> === PAUSE TestValidateToken_MultipleProviders niks3-go-unit-tests> === RUN TestValidateToken_NoMatchingProvider niks3-go-unit-tests> === PAUSE TestValidateToken_NoMatchingProvider niks3-go-unit-tests> === CONT TestGlobMatch niks3-go-unit-tests> === RUN TestGlobMatch/foo_foo niks3-go-unit-tests> === CONT TestValidateToken_ValidToken niks3-go-unit-tests> === CONT TestValidateToken_Expired niks3-go-unit-tests> === PAUSE TestGlobMatch/foo_foo niks3-go-unit-tests> === RUN TestGlobMatch/foo_bar niks3-go-unit-tests> === CONT TestAudienceForIssuer niks3-go-unit-tests> === PAUSE TestGlobMatch/foo_bar niks3-go-unit-tests> === RUN TestGlobMatch/*_ niks3-go-unit-tests> === PAUSE TestGlobMatch/*_ niks3-go-unit-tests> === RUN TestGlobMatch/*_anything niks3-go-unit-tests> === PAUSE TestGlobMatch/*_anything niks3-go-unit-tests> === RUN TestGlobMatch/foo*_foo niks3-go-unit-tests> === PAUSE TestGlobMatch/foo*_foo niks3-go-unit-tests> === RUN TestGlobMatch/foo*_foobar niks3-go-unit-tests> === PAUSE TestGlobMatch/foo*_foobar niks3-go-unit-tests> === RUN TestGlobMatch/foo*_bar niks3-go-unit-tests> === PAUSE TestGlobMatch/foo*_bar niks3-go-unit-tests> === RUN TestGlobMatch/*bar_bar niks3-go-unit-tests> === PAUSE TestGlobMatch/*bar_bar niks3-go-unit-tests> === RUN TestGlobMatch/*bar_foobar niks3-go-unit-tests> === PAUSE TestGlobMatch/*bar_foobar niks3-go-unit-tests> === RUN TestGlobMatch/*bar_foo niks3-go-unit-tests> === PAUSE TestGlobMatch/*bar_foo niks3-go-unit-tests> === RUN TestGlobMatch/foo*bar_foobar niks3-go-unit-tests> === PAUSE TestGlobMatch/foo*bar_foobar niks3-go-unit-tests> === RUN TestGlobMatch/foo*bar_foo123bar niks3-go-unit-tests> === PAUSE TestGlobMatch/foo*bar_foo123bar niks3-go-unit-tests> === RUN TestGlobMatch/foo*bar_foobarbaz niks3-go-unit-tests> === PAUSE TestGlobMatch/foo*bar_foobarbaz niks3-go-unit-tests> === RUN TestGlobMatch/*/*_foo/bar niks3-go-unit-tests> === PAUSE TestGlobMatch/*/*_foo/bar niks3-go-unit-tests> === RUN TestGlobMatch/*/*_foo niks3-go-unit-tests> === PAUSE TestGlobMatch/*/*_foo niks3-go-unit-tests> --- PASS: TestAudienceForIssuer (0.00s) niks3-go-unit-tests> === CONT TestValidateToken_MultipleProviders niks3-go-unit-tests> === CONT TestValidateToken_NoMatchingProvider niks3-go-unit-tests> === CONT TestValidateToken_BoundSubjectMismatch niks3-go-unit-tests> === CONT TestValidateToken_BoundClaimsMismatch niks3-go-unit-tests> === CONT TestValidateToken_WrongAudience niks3-go-unit-tests> === RUN TestGlobMatch/refs/heads/*_refs/heads/main niks3-go-unit-tests> === PAUSE TestGlobMatch/refs/heads/*_refs/heads/main niks3-go-unit-tests> === RUN TestGlobMatch/refs/heads/*_refs/tags/v1.0 niks3-go-unit-tests> === PAUSE TestGlobMatch/refs/heads/*_refs/tags/v1.0 niks3-go-unit-tests> === RUN TestGlobMatch/refs/*/main_refs/heads/main niks3-go-unit-tests> === PAUSE TestGlobMatch/refs/*/main_refs/heads/main niks3-go-unit-tests> === RUN TestGlobMatch/fo?_foo niks3-go-unit-tests> === PAUSE TestGlobMatch/fo?_foo niks3-go-unit-tests> === RUN TestGlobMatch/fo?_fo niks3-go-unit-tests> === PAUSE TestGlobMatch/fo?_fo niks3-go-unit-tests> === RUN TestGlobMatch/fo?_fooo niks3-go-unit-tests> === PAUSE TestGlobMatch/fo?_fooo niks3-go-unit-tests> === RUN TestGlobMatch/?oo_foo niks3-go-unit-tests> === PAUSE TestGlobMatch/?oo_foo niks3-go-unit-tests> === RUN TestGlobMatch/?oo_boo niks3-go-unit-tests> === PAUSE TestGlobMatch/?oo_boo niks3-go-unit-tests> === RUN TestGlobMatch/repo:myorg/*:*_repo:myorg/myrepo:ref:refs/heads/main niks3-go-unit-tests> === PAUSE TestGlobMatch/repo:myorg/*:*_repo:myorg/myrepo:ref:refs/heads/main niks3-go-unit-tests> === RUN TestGlobMatch/repo:myorg/*:*_repo:otherorg/myrepo:ref:refs/heads/main niks3-go-unit-tests> === PAUSE TestGlobMatch/repo:myorg/*:*_repo:otherorg/myrepo:ref:refs/heads/main niks3-go-unit-tests> === CONT TestGlobMatch/foo_foo niks3-go-unit-tests> === CONT TestGlobMatch/repo:myorg/*:*_repo:otherorg/myrepo:ref:refs/heads/main niks3-go-unit-tests> === CONT TestGlobMatch/foo*bar_foo123bar niks3-go-unit-tests> === CONT TestGlobMatch/foo*_foobar niks3-go-unit-tests> === CONT TestGlobMatch/foo*_foo niks3-go-unit-tests> === CONT TestGlobMatch/*/*_foo niks3-go-unit-tests> === CONT TestGlobMatch/?oo_foo niks3-go-unit-tests> === CONT TestGlobMatch/*/*_foo/bar niks3-go-unit-tests> === CONT TestGlobMatch/*bar_foobar niks3-go-unit-tests> === CONT TestGlobMatch/foo*bar_foobarbaz niks3-go-unit-tests> === CONT TestGlobMatch/foo*bar_foobar niks3-go-unit-tests> === CONT TestGlobMatch/*bar_foo niks3-go-unit-tests> === CONT TestGlobMatch/*_anything niks3-go-unit-tests> === CONT TestGlobMatch/*bar_bar niks3-go-unit-tests> === CONT TestGlobMatch/foo*_bar niks3-go-unit-tests> === CONT TestGlobMatch/*_ niks3-go-unit-tests> === CONT TestGlobMatch/fo?_foo niks3-go-unit-tests> === CONT TestGlobMatch/foo_bar niks3-go-unit-tests> === CONT TestGlobMatch/repo:myorg/*:*_repo:myorg/myrepo:ref:refs/heads/main niks3-go-unit-tests> === CONT TestGlobMatch/?oo_boo niks3-go-unit-tests> === CONT TestGlobMatch/refs/heads/*_refs/heads/main niks3-go-unit-tests> === CONT TestGlobMatch/refs/*/main_refs/heads/main niks3-go-unit-tests> === CONT TestGlobMatch/fo?_fo niks3-go-unit-tests> === CONT TestGlobMatch/refs/heads/*_refs/tags/v1.0 niks3-go-unit-tests> === CONT TestGlobMatch/fo?_fooo niks3-go-unit-tests> --- PASS: TestGlobMatch (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo_foo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/repo:myorg/*:*_repo:otherorg/myrepo:ref:refs/heads/main (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo*bar_foo123bar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo*_foobar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo*_foo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*/*_foo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/?oo_foo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*/*_foo/bar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*bar_foobar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo*bar_foobarbaz (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo*bar_foobar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*bar_foo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*_anything (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*bar_bar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo*_bar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/*_ (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/fo?_foo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/foo_bar (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/repo:myorg/*:*_repo:myorg/myrepo:ref:refs/heads/main (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/?oo_boo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/refs/heads/*_refs/heads/main (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/refs/*/main_refs/heads/main (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/fo?_fo (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/refs/heads/*_refs/tags/v1.0 (0.00s) niks3-go-unit-tests> --- PASS: TestGlobMatch/fo?_fooo (0.00s) niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=test niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=test niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=provider1 niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=test niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=provider1 niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=test niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=provider2 niks3-go-unit-tests> 2026/07/28 08:29:37 INFO OIDC provider initialized name=test niks3-go-unit-tests> --- PASS: TestValidateToken_ValidToken (0.01s) niks3-go-unit-tests> --- PASS: TestValidateToken_NoMatchingProvider (0.01s) niks3-go-unit-tests> --- PASS: TestValidateToken_WrongAudience (0.01s) niks3-go-unit-tests> --- PASS: TestValidateToken_Expired (0.01s) niks3-go-unit-tests> --- PASS: TestValidateToken_MultipleProviders (0.01s) niks3-go-unit-tests> --- PASS: TestValidateToken_BoundSubjectMismatch (0.01s) niks3-go-unit-tests> --- PASS: TestValidateToken_BoundClaimsMismatch (0.01s) niks3-go-unit-tests> PASS niks3-go-unit-tests> Running hook tests... niks3-go-unit-tests> === RUN TestSendPathsEmpty niks3-go-unit-tests> === PAUSE TestSendPathsEmpty niks3-go-unit-tests> === RUN TestQueueEnqueueAndFetch niks3-go-unit-tests> === PAUSE TestQueueEnqueueAndFetch niks3-go-unit-tests> === RUN TestQueueDeduplication niks3-go-unit-tests> === PAUSE TestQueueDeduplication niks3-go-unit-tests> === RUN TestQueueRemove niks3-go-unit-tests> === PAUSE TestQueueRemove niks3-go-unit-tests> === RUN TestQueueFetchBatchLimit niks3-go-unit-tests> === PAUSE TestQueueFetchBatchLimit niks3-go-unit-tests> === RUN TestQueueFetchRemoveLifecycle niks3-go-unit-tests> === PAUSE TestQueueFetchRemoveLifecycle niks3-go-unit-tests> === RUN TestQueueConcurrentWriters niks3-go-unit-tests> === PAUSE TestQueueConcurrentWriters niks3-go-unit-tests> === RUN TestServerClientIntegration niks3-go-unit-tests> === PAUSE TestServerClientIntegration niks3-go-unit-tests> === RUN TestServerQueueError niks3-go-unit-tests> === PAUSE TestServerQueueError niks3-go-unit-tests> === RUN TestGetListenerSocketActivation niks3-go-unit-tests> server_test.go:210: === RUN TestGetListenerSocketActivation niks3-go-unit-tests> --- PASS: TestGetListenerSocketActivation (0.00s) niks3-go-unit-tests> PASS niks3-go-unit-tests> niks3-go-unit-tests> --- PASS: TestGetListenerSocketActivation (0.01s) niks3-go-unit-tests> === RUN TestWorkerUploadsAndRemoves niks3-go-unit-tests> === PAUSE TestWorkerUploadsAndRemoves niks3-go-unit-tests> === RUN TestWorkerSkipsGCdPaths niks3-go-unit-tests> === PAUSE TestWorkerSkipsGCdPaths niks3-go-unit-tests> === RUN TestWorkerPrunesClosureDeps niks3-go-unit-tests> === PAUSE TestWorkerPrunesClosureDeps niks3-go-unit-tests> === CONT TestSendPathsEmpty niks3-go-unit-tests> === CONT TestQueueFetchRemoveLifecycle niks3-go-unit-tests> === CONT TestWorkerPrunesClosureDeps niks3-go-unit-tests> === CONT TestQueueRemove niks3-go-unit-tests> === CONT TestServerQueueError niks3-go-unit-tests> === CONT TestWorkerUploadsAndRemoves niks3-go-unit-tests> === CONT TestQueueFetchBatchLimit niks3-go-unit-tests> === CONT TestQueueDeduplication niks3-go-unit-tests> === CONT TestQueueEnqueueAndFetch niks3-go-unit-tests> === CONT TestServerClientIntegration niks3-go-unit-tests> === CONT TestQueueConcurrentWriters niks3-go-unit-tests> 2026/07/28 08:29:37 ERROR Failed to queue paths error="permission denied" count=1 niks3-go-unit-tests> --- PASS: TestSendPathsEmpty (0.00s) niks3-go-unit-tests> === CONT TestWorkerSkipsGCdPaths niks3-go-unit-tests> --- PASS: TestServerQueueError (0.00s) niks3-go-unit-tests> --- PASS: TestServerClientIntegration (0.00s) niks3-go-unit-tests> --- PASS: TestQueueDeduplication (0.01s) niks3-go-unit-tests> --- PASS: TestQueueRemove (0.01s) niks3-go-unit-tests> 2026/07/28 08:29:37 INFO Upload queue status pending=2 niks3-go-unit-tests> --- PASS: TestQueueFetchBatchLimit (0.01s) niks3-go-unit-tests> 2026/07/28 08:29:37 WARN Store path no longer exists (garbage collected?), removing from queue path=/build/TestWorkerSkipsGCdPaths1924351434/002/nonexistent niks3-go-unit-tests> 2026/07/28 08:29:37 INFO Upload queue status pending=2 niks3-go-unit-tests> 2026/07/28 08:29:37 INFO Uploading batch count=2 niks3-go-unit-tests> 2026/07/28 08:29:37 INFO Upload queue status pending=2 niks3-go-unit-tests> 2026/07/28 08:29:37 INFO Uploading batch count=1 niks3-go-unit-tests> --- PASS: TestQueueEnqueueAndFetch (0.01s) niks3-go-unit-tests> 2026/07/28 08:29:37 INFO Uploading batch count=1 niks3-go-unit-tests> --- PASS: TestQueueFetchRemoveLifecycle (0.02s) niks3-go-unit-tests> --- PASS: TestWorkerUploadsAndRemoves (0.13s) niks3-go-unit-tests> --- PASS: TestWorkerPrunesClosureDeps (0.13s) niks3-go-unit-tests> --- PASS: TestWorkerSkipsGCdPaths (0.13s) niks3-go-unit-tests> --- PASS: TestQueueConcurrentWriters (0.27s) niks3-go-unit-tests> PASS post-build step Upload coverage to codecov: ok Skipping codecov: project=Mic92/niks3 attr=default.checks.aarch64-linux.go-unit-tests