1this derivation will be built:2 /nix/store/8kka6i809w69wc13p5wjz727l5axqy4d-niks3-go-unit-tests.drv3building '/nix/store/8kka6i809w69wc13p5wjz727l5axqy4d-niks3-go-unit-tests.drv' on 'ssh-ng://customer@mac02'4building '/nix/store/8kka6i809w69wc13p5wjz727l5axqy4d-niks3-go-unit-tests.drv'5niks3-go-unit-tests> Running client tests...6niks3-go-unit-tests> === RUN TestDoServerRequestAttachesToken7niks3-go-unit-tests> === PAUSE TestDoServerRequestAttachesToken8niks3-go-unit-tests> === RUN TestRegisterUploadedObjectReusesConnections9niks3-go-unit-tests> === PAUSE TestRegisterUploadedObjectReusesConnections10niks3-go-unit-tests> === RUN TestCaseHackSuffix11niks3-go-unit-tests> === PAUSE TestCaseHackSuffix12niks3-go-unit-tests> === RUN TestFilterOversizedClosures13niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures14niks3-go-unit-tests> === RUN TestUploadMultipart_PartsInParallel15niks3-go-unit-tests> === PAUSE TestUploadMultipart_PartsInParallel16niks3-go-unit-tests> === RUN TestPartSizeForNAR17niks3-go-unit-tests> === PAUSE TestPartSizeForNAR18niks3-go-unit-tests> === RUN TestUploadMultipart_SupersededByPeer19niks3-go-unit-tests> === PAUSE TestUploadMultipart_SupersededByPeer20niks3-go-unit-tests> === RUN TestDumpPathCaseHackMatchesNix21niks3-go-unit-tests> --- PASS: TestDumpPathCaseHackMatchesNix (0.11s)22niks3-go-unit-tests> === RUN TestDumpPathCaseHackCollision23niks3-go-unit-tests> --- PASS: TestDumpPathCaseHackCollision (0.00s)24niks3-go-unit-tests> === RUN TestDumpPathMatchesNix25niks3-go-unit-tests> === PAUSE TestDumpPathMatchesNix26niks3-go-unit-tests> === RUN TestDumpPathSingleFile27niks3-go-unit-tests> === PAUSE TestDumpPathSingleFile28niks3-go-unit-tests> === RUN TestDumpPathWriterError29niks3-go-unit-tests> === PAUSE TestDumpPathWriterError30niks3-go-unit-tests> === RUN TestEncodeNixBase3231niks3-go-unit-tests> === PAUSE TestEncodeNixBase3232niks3-go-unit-tests> === RUN TestEncodeNixBase32WithRealHash33niks3-go-unit-tests> === PAUSE TestEncodeNixBase32WithRealHash34niks3-go-unit-tests> === RUN TestConvertHashToNix3235niks3-go-unit-tests> === PAUSE TestConvertHashToNix3236niks3-go-unit-tests> === RUN TestGetStorePathHash37niks3-go-unit-tests> === PAUSE TestGetStorePathHash38niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility39niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility40niks3-go-unit-tests> === RUN TestParsePathInfoJSON41niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON42niks3-go-unit-tests> === RUN TestParsePathInfoJSONMultiplePaths43niks3-go-unit-tests> === PAUSE TestParsePathInfoJSONMultiplePaths44niks3-go-unit-tests> === RUN TestPathInfoCACompatibility45niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility46niks3-go-unit-tests> === RUN TestRateLimiterFeedback47niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback48niks3-go-unit-tests> === RUN TestRateLimiterFeedback_400DoesNotCountAsSuccess49niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback_400DoesNotCountAsSuccess50niks3-go-unit-tests> === RUN TestResolveStorePath51niks3-go-unit-tests> === PAUSE TestResolveStorePath52niks3-go-unit-tests> === RUN TestDoWithRetry_BodyReplayedViaGetBody53niks3-go-unit-tests> === PAUSE TestDoWithRetry_BodyReplayedViaGetBody54niks3-go-unit-tests> === RUN TestShellSplit55niks3-go-unit-tests> === PAUSE TestShellSplit56niks3-go-unit-tests> === RUN TestShellSplitErrors57niks3-go-unit-tests> === PAUSE TestShellSplitErrors58niks3-go-unit-tests> === RUN TestStreamPushReportsEveryPath59niks3-go-unit-tests> === PAUSE TestStreamPushReportsEveryPath60niks3-go-unit-tests> === RUN TestStreamPushBatchesUnderLoad61niks3-go-unit-tests> === PAUSE TestStreamPushBatchesUnderLoad62niks3-go-unit-tests> === RUN TestStreamPushIsolatesFailures63niks3-go-unit-tests> === PAUSE TestStreamPushIsolatesFailures64niks3-go-unit-tests> === RUN TestStreamPushGivesUpOnDeadServer65niks3-go-unit-tests> === PAUSE TestStreamPushGivesUpOnDeadServer66niks3-go-unit-tests> === RUN TestStreamPushRequestLine67niks3-go-unit-tests> === PAUSE TestStreamPushRequestLine68niks3-go-unit-tests> === RUN TestStreamPushReportsSignatures69niks3-go-unit-tests> === PAUSE TestStreamPushReportsSignatures70niks3-go-unit-tests> === RUN TestClientSignaturesByStorePath71niks3-go-unit-tests> === PAUSE TestClientSignaturesByStorePath72niks3-go-unit-tests> === RUN TestSetClientTLS73niks3-go-unit-tests> === PAUSE TestSetClientTLS74niks3-go-unit-tests> === RUN TestSetClientTLSDoesNotMutateDefaultTransport75niks3-go-unit-tests> === PAUSE TestSetClientTLSDoesNotMutateDefaultTransport76niks3-go-unit-tests> === RUN TestSetClientTLSErrors77niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors78niks3-go-unit-tests> === RUN TestStaticToken79niks3-go-unit-tests> === PAUSE TestStaticToken80niks3-go-unit-tests> === RUN TestFileTokenReadsAndCaches81niks3-go-unit-tests> === PAUSE TestFileTokenReadsAndCaches82niks3-go-unit-tests> === RUN TestFileTokenMissing83niks3-go-unit-tests> === PAUSE TestFileTokenMissing84niks3-go-unit-tests> === RUN TestFileTokenEmpty85niks3-go-unit-tests> === PAUSE TestFileTokenEmpty86niks3-go-unit-tests> === RUN TestScriptTokenNoExpiryRerunsEveryCall87niks3-go-unit-tests> === PAUSE TestScriptTokenNoExpiryRerunsEveryCall88niks3-go-unit-tests> === RUN TestScriptTokenCachesUntilRefresh89niks3-go-unit-tests> === PAUSE TestScriptTokenCachesUntilRefresh90niks3-go-unit-tests> === RUN TestScriptTokenEmptyToken91niks3-go-unit-tests> === PAUSE TestScriptTokenEmptyToken92niks3-go-unit-tests> === RUN TestScriptTokenBadJSON93niks3-go-unit-tests> === PAUSE TestScriptTokenBadJSON94niks3-go-unit-tests> === RUN TestScriptTokenScriptFails95niks3-go-unit-tests> === PAUSE TestScriptTokenScriptFails96niks3-go-unit-tests> === RUN TestScriptTokenEmptyCommand97niks3-go-unit-tests> === PAUSE TestScriptTokenEmptyCommand98niks3-go-unit-tests> === CONT TestDoServerRequestAttachesToken99niks3-go-unit-tests> === CONT TestShellSplit100niks3-go-unit-tests> === CONT TestStreamPushRequestLine101niks3-go-unit-tests> === CONT TestSetClientTLSErrors102niks3-go-unit-tests> --- PASS: TestShellSplit (0.00s)103niks3-go-unit-tests> === CONT TestFileTokenEmpty104niks3-go-unit-tests> === CONT TestScriptTokenEmptyCommand105niks3-go-unit-tests> --- PASS: TestScriptTokenEmptyCommand (0.00s)106niks3-go-unit-tests> === CONT TestFileTokenMissing107niks3-go-unit-tests> === CONT TestScriptTokenScriptFails108niks3-go-unit-tests> === CONT TestScriptTokenBadJSON109niks3-go-unit-tests> === CONT TestScriptTokenEmptyToken110niks3-go-unit-tests> === CONT TestScriptTokenCachesUntilRefresh111niks3-go-unit-tests> 2026/10/01 07:35:22 ERROR Upload failed error=boom count=1112niks3-go-unit-tests> === CONT TestScriptTokenNoExpiryRerunsEveryCall113niks3-go-unit-tests> --- PASS: TestFileTokenEmpty (0.00s)114niks3-go-unit-tests> === CONT TestFileTokenReadsAndCaches115niks3-go-unit-tests> --- PASS: TestFileTokenMissing (0.00s)116niks3-go-unit-tests> === CONT TestStaticToken117niks3-go-unit-tests> --- PASS: TestStaticToken (0.00s)118niks3-go-unit-tests> === CONT TestSetClientTLS119niks3-go-unit-tests> --- PASS: TestFileTokenReadsAndCaches (0.00s)120niks3-go-unit-tests> === CONT TestSetClientTLSDoesNotMutateDefaultTransport121niks3-go-unit-tests> === RUN TestSetClientTLSErrors/missing_cert_file122niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/missing_cert_file123niks3-go-unit-tests> === RUN TestSetClientTLSErrors/missing_key_file124niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/missing_key_file125niks3-go-unit-tests> === RUN TestSetClientTLSErrors/missing_ca_file126niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/missing_ca_file127niks3-go-unit-tests> === RUN TestSetClientTLSErrors/invalid_ca_file128niks3-go-unit-tests> === PAUSE TestSetClientTLSErrors/invalid_ca_file129niks3-go-unit-tests> === CONT TestClientSignaturesByStorePath130niks3-go-unit-tests> --- PASS: TestClientSignaturesByStorePath (0.00s)131niks3-go-unit-tests> === CONT TestEncodeNixBase32WithRealHash132niks3-go-unit-tests> --- PASS: TestEncodeNixBase32WithRealHash (0.00s)133niks3-go-unit-tests> === CONT TestDoWithRetry_BodyReplayedViaGetBody134niks3-go-unit-tests> --- PASS: TestScriptTokenScriptFails (0.01s)135niks3-go-unit-tests> === CONT TestResolveStorePath136niks3-go-unit-tests> 2026/10/01 07:35:22 WARN Rate limiter enabled after throttle name=server-test rate=5137niks3-go-unit-tests> === RUN TestSetClientTLS/rejects_connection_without_client_cert138niks3-go-unit-tests> 2026/10/01 07:35:22 WARN Request returned retryable status, retrying attempt=1 max_attempts=6 backoff=0s status=503 url=http://127.0.0.1:55783139niks3-go-unit-tests> === PAUSE TestSetClientTLS/rejects_connection_without_client_cert140niks3-go-unit-tests> === RUN TestSetClientTLS/succeeds_with_client_cert_and_CA141niks3-go-unit-tests> === PAUSE TestSetClientTLS/succeeds_with_client_cert_and_CA142niks3-go-unit-tests> === RUN TestSetClientTLS/preserves_debug_logging_transport143niks3-go-unit-tests> === PAUSE TestSetClientTLS/preserves_debug_logging_transport144niks3-go-unit-tests> === CONT TestRateLimiterFeedback_400DoesNotCountAsSuccess145niks3-go-unit-tests> 2026/10/01 07:35:22 WARN Rate limiter enabled after throttle name=server-test rate=5146niks3-go-unit-tests> 2026/10/01 07:35:22 WARN Rate limiter backed off name=server-test rate=5147niks3-go-unit-tests> 2026/10/01 07:35:22 WARN Request returned retryable status, retrying attempt=2 max_attempts=6 backoff=0s status=503 url=http://127.0.0.1:55783148niks3-go-unit-tests> --- PASS: TestSetClientTLSDoesNotMutateDefaultTransport (0.00s)149niks3-go-unit-tests> === CONT TestRateLimiterFeedback150niks3-go-unit-tests> === RUN TestRateLimiterFeedback/429_enables_limiter151niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/429_enables_limiter152niks3-go-unit-tests> === RUN TestRateLimiterFeedback/503_enables_limiter153niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/503_enables_limiter154niks3-go-unit-tests> === RUN TestRateLimiterFeedback/200_does_not_enable_limiter155niks3-go-unit-tests> --- PASS: TestDoServerRequestAttachesToken (0.01s)156niks3-go-unit-tests> === CONT TestPathInfoCACompatibility157niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/null_ca_field158niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/200_does_not_enable_limiter159niks3-go-unit-tests> === RUN TestRateLimiterFeedback/400_does_not_enable_limiter160niks3-go-unit-tests> === PAUSE TestRateLimiterFeedback/400_does_not_enable_limiter161niks3-go-unit-tests> === CONT TestParsePathInfoJSONMultiplePaths162niks3-go-unit-tests> === RUN TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths163niks3-go-unit-tests> === PAUSE TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths164niks3-go-unit-tests> === RUN TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths165niks3-go-unit-tests> === PAUSE TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths166niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/null_ca_field167niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/old_string_format_-_text168niks3-go-unit-tests> --- PASS: TestDoWithRetry_BodyReplayedViaGetBody (0.00s)169niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility170niks3-go-unit-tests> === CONT TestParsePathInfoJSON171niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI)172niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI)173niks3-go-unit-tests> === RUN TestParsePathInfoJSON/Nix_format174niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/old_string_format_with_colon175niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/old_string_format_with_colon176niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/old_string_format_-_text177niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI178niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI179niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/Nix_format180niks3-go-unit-tests> === RUN TestPathInfoHashCompatibility/new_structured_format_with_sha512181niks3-go-unit-tests> === RUN TestParsePathInfoJSON/Lix_format182niks3-go-unit-tests> === PAUSE TestPathInfoHashCompatibility/new_structured_format_with_sha512183niks3-go-unit-tests> === CONT TestGetStorePathHash184niks3-go-unit-tests> === RUN TestGetStorePathHash/valid_store_path185niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/old_string_format_-_fixed_recursive186niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/old_string_format_-_fixed_recursive187niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/new_structured_format_-_text188niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/new_structured_format_-_text189niks3-go-unit-tests> === RUN TestPathInfoCACompatibility/new_structured_format_-_nar_method190niks3-go-unit-tests> === PAUSE TestPathInfoCACompatibility/new_structured_format_-_nar_method191niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/Lix_format192niks3-go-unit-tests> === RUN TestParsePathInfoJSON/empty_input193niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/empty_input194niks3-go-unit-tests> === RUN TestParsePathInfoJSON/whitespace_only195niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/whitespace_only196niks3-go-unit-tests> === RUN TestParsePathInfoJSON/invalid_JSON197niks3-go-unit-tests> === PAUSE TestParsePathInfoJSON/invalid_JSON198niks3-go-unit-tests> === CONT TestConvertHashToNix32199niks3-go-unit-tests> === RUN TestConvertHashToNix32/SRI_format_to_Nix32200niks3-go-unit-tests> === PAUSE TestConvertHashToNix32/SRI_format_to_Nix32201niks3-go-unit-tests> === CONT TestStreamPushReportsSignatures202niks3-go-unit-tests> === RUN TestConvertHashToNix32/already_Nix32_format203niks3-go-unit-tests> === PAUSE TestConvertHashToNix32/already_Nix32_format204niks3-go-unit-tests> === RUN TestConvertHashToNix32/invalid_format205niks3-go-unit-tests> === PAUSE TestConvertHashToNix32/invalid_format206niks3-go-unit-tests> === PAUSE TestGetStorePathHash/valid_store_path207niks3-go-unit-tests> === RUN TestGetStorePathHash/basename_without_hyphen_should_error208niks3-go-unit-tests> === PAUSE TestGetStorePathHash/basename_without_hyphen_should_error209niks3-go-unit-tests> === RUN TestGetStorePathHash/hash_with_invalid_characters_should_error210niks3-go-unit-tests> === PAUSE TestGetStorePathHash/hash_with_invalid_characters_should_error211niks3-go-unit-tests> === RUN TestGetStorePathHash/hash_with_wrong_length_should_error212niks3-go-unit-tests> === PAUSE TestGetStorePathHash/hash_with_wrong_length_should_error213niks3-go-unit-tests> === CONT TestUploadMultipart_SupersededByPeer214niks3-go-unit-tests> === RUN TestUploadMultipart_SupersededByPeer/exists215niks3-go-unit-tests> === PAUSE TestUploadMultipart_SupersededByPeer/exists216niks3-go-unit-tests> === RUN TestUploadMultipart_SupersededByPeer/missing217niks3-go-unit-tests> === PAUSE TestUploadMultipart_SupersededByPeer/missing218niks3-go-unit-tests> === CONT TestEncodeNixBase32219niks3-go-unit-tests> === RUN TestEncodeNixBase32/test_string_hash220niks3-go-unit-tests> === PAUSE TestEncodeNixBase32/test_string_hash221niks3-go-unit-tests> === RUN TestEncodeNixBase32/empty_input222niks3-go-unit-tests> === PAUSE TestEncodeNixBase32/empty_input223niks3-go-unit-tests> === CONT TestDumpPathWriterError224niks3-go-unit-tests> === CONT TestDumpPathSingleFile225niks3-go-unit-tests> 2026/10/01 07:35:22 ERROR Upload failed error=boom count=1226niks3-go-unit-tests> --- PASS: TestStreamPushReportsSignatures (0.00s)227niks3-go-unit-tests> === CONT TestDumpPathMatchesNix228niks3-go-unit-tests> --- PASS: TestResolveStorePath (0.00s)229niks3-go-unit-tests> === CONT TestStreamPushReportsEveryPath230niks3-go-unit-tests> --- PASS: TestStreamPushReportsEveryPath (0.00s)231niks3-go-unit-tests> === CONT TestFilterOversizedClosures232niks3-go-unit-tests> === RUN TestFilterOversizedClosures/no_limit_keeps_everything233niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures/no_limit_keeps_everything234niks3-go-unit-tests> === RUN TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped235niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped236niks3-go-unit-tests> === RUN TestFilterOversizedClosures/all_closures_skipped237niks3-go-unit-tests> === PAUSE TestFilterOversizedClosures/all_closures_skipped238niks3-go-unit-tests> === CONT TestPartSizeForNAR239niks3-go-unit-tests> === RUN TestPartSizeForNAR/zero_stays_at_minimum240niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/zero_stays_at_minimum241niks3-go-unit-tests> === RUN TestPartSizeForNAR/small_stays_at_minimum242niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/small_stays_at_minimum243niks3-go-unit-tests> === RUN TestPartSizeForNAR/80_GiB_fits_at_minimum244niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/80_GiB_fits_at_minimum245niks3-go-unit-tests> === RUN TestPartSizeForNAR/115_GiB_needs_larger_parts246niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/115_GiB_needs_larger_parts247niks3-go-unit-tests> === RUN TestPartSizeForNAR/1_TiB248niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/1_TiB249niks3-go-unit-tests> === RUN TestPartSizeForNAR/5_TiB_S3_max_object250niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/5_TiB_S3_max_object251niks3-go-unit-tests> === RUN TestPartSizeForNAR/capped_at_5_GiB252niks3-go-unit-tests> === PAUSE TestPartSizeForNAR/capped_at_5_GiB253niks3-go-unit-tests> === CONT TestUploadMultipart_PartsInParallel254niks3-go-unit-tests> --- PASS: TestScriptTokenEmptyToken (0.01s)255niks3-go-unit-tests> === CONT TestShellSplitErrors256niks3-go-unit-tests> --- PASS: TestShellSplitErrors (0.00s)257niks3-go-unit-tests> === CONT TestCaseHackSuffix258niks3-go-unit-tests> --- PASS: TestScriptTokenBadJSON (0.01s)259niks3-go-unit-tests> === CONT TestRegisterUploadedObjectReusesConnections260niks3-go-unit-tests> --- PASS: TestStreamPushRequestLine (0.02s)261niks3-go-unit-tests> === CONT TestStreamPushGivesUpOnDeadServer262niks3-go-unit-tests> 2026/10/01 07:35:23 ERROR Upload failed error="connection refused" count=20263niks3-go-unit-tests> 2026/10/01 07:35:23 ERROR Server seems unavailable, giving up on batch untried=17264niks3-go-unit-tests> --- PASS: TestStreamPushGivesUpOnDeadServer (0.00s)265niks3-go-unit-tests> === CONT TestStreamPushIsolatesFailures266niks3-go-unit-tests> 2026/10/01 07:35:23 ERROR Upload failed error="bad path" count=3267niks3-go-unit-tests> --- PASS: TestStreamPushIsolatesFailures (0.00s)268niks3-go-unit-tests> === CONT TestStreamPushBatchesUnderLoad269niks3-go-unit-tests> --- PASS: TestRegisterUploadedObjectReusesConnections (0.03s)270niks3-go-unit-tests> === CONT TestSetClientTLSErrors/missing_cert_file271niks3-go-unit-tests> === CONT TestSetClientTLSErrors/invalid_ca_file272niks3-go-unit-tests> === CONT TestSetClientTLSErrors/missing_ca_file273niks3-go-unit-tests> === CONT TestSetClientTLSErrors/missing_key_file274niks3-go-unit-tests> === CONT TestSetClientTLS/rejects_connection_without_client_cert275niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors (0.00s)276niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/missing_cert_file (0.00s)277niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/invalid_ca_file (0.00s)278niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/missing_ca_file (0.00s)279niks3-go-unit-tests> --- PASS: TestSetClientTLSErrors/missing_key_file (0.00s)280niks3-go-unit-tests> --- PASS: TestScriptTokenNoExpiryRerunsEveryCall (0.05s)281niks3-go-unit-tests> === CONT TestSetClientTLS/preserves_debug_logging_transport282niks3-go-unit-tests> --- PASS: TestScriptTokenCachesUntilRefresh (0.05s)283niks3-go-unit-tests> === CONT TestSetClientTLS/succeeds_with_client_cert_and_CA284niks3-go-unit-tests> === CONT TestRateLimiterFeedback/429_enables_limiter285niks3-go-unit-tests> 2026/10/01 07:35:23 WARN Rate limiter enabled after throttle name=server-test rate=5286niks3-go-unit-tests> 2026/10/01 07:35:23 WARN Request returned retryable status, retrying attempt=1 max_attempts=2 backoff=0s status=429 url=http://127.0.0.1:55861287niks3-go-unit-tests> 2026/10/01 07:35:23 WARN Rate limiter backed off name=server-test rate=5288niks3-go-unit-tests> === CONT TestRateLimiterFeedback/400_does_not_enable_limiter289niks3-go-unit-tests> === CONT TestRateLimiterFeedback/200_does_not_enable_limiter290niks3-go-unit-tests> === CONT TestRateLimiterFeedback/503_enables_limiter291niks3-go-unit-tests> === CONT TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths292niks3-go-unit-tests> === CONT TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths293niks3-go-unit-tests> --- PASS: TestParsePathInfoJSONMultiplePaths (0.00s)294niks3-go-unit-tests> --- PASS: TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths (0.00s)295niks3-go-unit-tests> --- PASS: TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths (0.00s)296niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI)297niks3-go-unit-tests> 2026/10/01 07:35:23 WARN Rate limiter enabled after throttle name=server-test rate=5298niks3-go-unit-tests> 2026/10/01 07:35:23 WARN Request returned retryable status, retrying attempt=1 max_attempts=2 backoff=0s status=503 url=http://127.0.0.1:55867299niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI300niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/new_structured_format_with_sha512301niks3-go-unit-tests> === CONT TestPathInfoHashCompatibility/old_string_format_with_colon302niks3-go-unit-tests> 2026/10/01 07:35:23 WARN Rate limiter backed off name=server-test rate=5303niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility (0.00s)304niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) (0.00s)305niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI (0.00s)306niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/new_structured_format_with_sha512 (0.00s)307niks3-go-unit-tests> --- PASS: TestPathInfoHashCompatibility/old_string_format_with_colon (0.00s)308niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/new_structured_format_-_text309niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/new_structured_format_-_nar_method310niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/old_string_format_-_text311niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/old_string_format_-_fixed_recursive312niks3-go-unit-tests> === CONT TestParsePathInfoJSON/Nix_format313niks3-go-unit-tests> === CONT TestParsePathInfoJSON/whitespace_only314niks3-go-unit-tests> === CONT TestParsePathInfoJSON/empty_input315niks3-go-unit-tests> === CONT TestParsePathInfoJSON/Lix_format316niks3-go-unit-tests> === CONT TestParsePathInfoJSON/invalid_JSON317niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON (0.00s)318niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/Nix_format (0.00s)319niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/whitespace_only (0.00s)320niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/empty_input (0.00s)321niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/Lix_format (0.00s)322niks3-go-unit-tests> --- PASS: TestParsePathInfoJSON/invalid_JSON (0.00s)323niks3-go-unit-tests> === CONT TestConvertHashToNix32/SRI_format_to_Nix32324niks3-go-unit-tests> === CONT TestGetStorePathHash/valid_store_path325niks3-go-unit-tests> === CONT TestUploadMultipart_SupersededByPeer/exists326niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback (0.00s)327niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/429_enables_limiter (0.00s)328niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/400_does_not_enable_limiter (0.00s)329niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/200_does_not_enable_limiter (0.00s)330niks3-go-unit-tests> --- PASS: TestRateLimiterFeedback/503_enables_limiter (0.00s)331niks3-go-unit-tests> === CONT TestPathInfoCACompatibility/null_ca_field332niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility (0.00s)333niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/new_structured_format_-_text (0.00s)334niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/new_structured_format_-_nar_method (0.00s)335niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/old_string_format_-_text (0.00s)336niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/old_string_format_-_fixed_recursive (0.00s)337niks3-go-unit-tests> --- PASS: TestPathInfoCACompatibility/null_ca_field (0.00s)338niks3-go-unit-tests> === CONT TestConvertHashToNix32/invalid_format339niks3-go-unit-tests> === CONT TestConvertHashToNix32/already_Nix32_format340niks3-go-unit-tests> --- PASS: TestConvertHashToNix32 (0.00s)341niks3-go-unit-tests> --- PASS: TestConvertHashToNix32/SRI_format_to_Nix32 (0.00s)342niks3-go-unit-tests> --- PASS: TestConvertHashToNix32/invalid_format (0.00s)343niks3-go-unit-tests> --- PASS: TestConvertHashToNix32/already_Nix32_format (0.00s)344niks3-go-unit-tests> === CONT TestEncodeNixBase32/test_string_hash345niks3-go-unit-tests> === CONT TestGetStorePathHash/hash_with_wrong_length_should_error346niks3-go-unit-tests> === CONT TestGetStorePathHash/hash_with_invalid_characters_should_error347niks3-go-unit-tests> === CONT TestGetStorePathHash/basename_without_hyphen_should_error348niks3-go-unit-tests> --- PASS: TestGetStorePathHash (0.00s)349niks3-go-unit-tests> --- PASS: TestGetStorePathHash/valid_store_path (0.00s)350niks3-go-unit-tests> --- PASS: TestGetStorePathHash/hash_with_wrong_length_should_error (0.00s)351niks3-go-unit-tests> --- PASS: TestGetStorePathHash/hash_with_invalid_characters_should_error (0.00s)352niks3-go-unit-tests> --- PASS: TestGetStorePathHash/basename_without_hyphen_should_error (0.00s)353niks3-go-unit-tests> === CONT TestUploadMultipart_SupersededByPeer/missing354niks3-go-unit-tests> === CONT TestEncodeNixBase32/empty_input355niks3-go-unit-tests> --- PASS: TestEncodeNixBase32 (0.00s)356niks3-go-unit-tests> --- PASS: TestEncodeNixBase32/test_string_hash (0.00s)357niks3-go-unit-tests> --- PASS: TestEncodeNixBase32/empty_input (0.00s)358niks3-go-unit-tests> === CONT TestFilterOversizedClosures/no_limit_keeps_everything359niks3-go-unit-tests> === CONT TestPartSizeForNAR/zero_stays_at_minimum360niks3-go-unit-tests> === CONT TestFilterOversizedClosures/all_closures_skipped361niks3-go-unit-tests> 2026/10/01 07:35:23 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=50362niks3-go-unit-tests> === CONT TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped363niks3-go-unit-tests> 2026/10/01 07:35:23 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=2000364niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures (0.00s)365niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures/no_limit_keeps_everything (0.00s)366niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures/all_closures_skipped (0.00s)367niks3-go-unit-tests> --- PASS: TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped (0.00s)368niks3-go-unit-tests> === CONT TestPartSizeForNAR/1_TiB369niks3-go-unit-tests> === CONT TestPartSizeForNAR/capped_at_5_GiB370niks3-go-unit-tests> === CONT TestPartSizeForNAR/5_TiB_S3_max_object371niks3-go-unit-tests> === CONT TestPartSizeForNAR/80_GiB_fits_at_minimum372niks3-go-unit-tests> === CONT TestPartSizeForNAR/115_GiB_needs_larger_parts373niks3-go-unit-tests> === CONT TestPartSizeForNAR/small_stays_at_minimum374niks3-go-unit-tests> --- PASS: TestPartSizeForNAR (0.00s)375niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/zero_stays_at_minimum (0.00s)376niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/1_TiB (0.00s)377niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/capped_at_5_GiB (0.00s)378niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/5_TiB_S3_max_object (0.00s)379niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/80_GiB_fits_at_minimum (0.00s)380niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/115_GiB_needs_larger_parts (0.00s)381niks3-go-unit-tests> --- PASS: TestPartSizeForNAR/small_stays_at_minimum (0.00s)382niks3-go-unit-tests> --- PASS: TestUploadMultipart_SupersededByPeer (0.00s)383niks3-go-unit-tests> --- PASS: TestUploadMultipart_SupersededByPeer/exists (0.00s)384niks3-go-unit-tests> --- PASS: TestUploadMultipart_SupersededByPeer/missing (0.00s)385niks3-go-unit-tests> 2026/10/01 07:35:23 http: TLS handshake error from 127.0.0.1:55858: remote error: tls: bad certificate386niks3-go-unit-tests> --- PASS: TestSetClientTLS (0.01s)387niks3-go-unit-tests> --- PASS: TestSetClientTLS/preserves_debug_logging_transport (0.00s)388niks3-go-unit-tests> --- PASS: TestSetClientTLS/succeeds_with_client_cert_and_CA (0.00s)389niks3-go-unit-tests> --- PASS: TestSetClientTLS/rejects_connection_without_client_cert (0.01s)390niks3-go-unit-tests> --- PASS: TestDumpPathWriterError (0.06s)391niks3-go-unit-tests> --- PASS: TestCaseHackSuffix (0.10s)392niks3-go-unit-tests> --- PASS: TestStreamPushBatchesUnderLoad (0.10s)393niks3-go-unit-tests> --- PASS: TestDumpPathMatchesNix (0.13s)