tribuchet: building on eliza Running client tests... === RUN TestDoServerRequestAttachesToken === PAUSE TestDoServerRequestAttachesToken === RUN TestUploadBuildLog_FileBodyReplayedOnRetry === PAUSE TestUploadBuildLog_FileBodyReplayedOnRetry === RUN TestRegisterUploadedObjectReusesConnections === PAUSE TestRegisterUploadedObjectReusesConnections === RUN TestRunGarbageCollection_FinishedOnAnotherReplica === PAUSE TestRunGarbageCollection_FinishedOnAnotherReplica === RUN TestRunGarbageCollection_NotFoundAfterLocalRun === PAUSE TestRunGarbageCollection_NotFoundAfterLocalRun === RUN TestCaseHackSuffix === PAUSE TestCaseHackSuffix === RUN TestFilterOversizedClosures === PAUSE TestFilterOversizedClosures === RUN TestUploadMultipart_PartsInParallel === PAUSE TestUploadMultipart_PartsInParallel === RUN TestUploadMultipart_ReturnsAfterDroppedBody === PAUSE TestUploadMultipart_ReturnsAfterDroppedBody === RUN TestPartSizeForNAR === PAUSE TestPartSizeForNAR === RUN TestDumpPathCaseHackMatchesNix --- PASS: TestDumpPathCaseHackMatchesNix (2.70s) === RUN TestDumpPathCaseHackCollision --- PASS: TestDumpPathCaseHackCollision (0.00s) === RUN TestDumpPathMatchesNix === PAUSE TestDumpPathMatchesNix === RUN TestDumpPathSingleFile === PAUSE TestDumpPathSingleFile === RUN TestDumpPathWriterError === PAUSE TestDumpPathWriterError === RUN TestEncodeNixBase32 === PAUSE TestEncodeNixBase32 === RUN TestEncodeNixBase32WithRealHash === PAUSE TestEncodeNixBase32WithRealHash === RUN TestConvertHashToNix32 === PAUSE TestConvertHashToNix32 === RUN TestGetStorePathHash === PAUSE TestGetStorePathHash === RUN TestPathInfoHashCompatibility === PAUSE TestPathInfoHashCompatibility === RUN TestParsePathInfoJSON === PAUSE TestParsePathInfoJSON === RUN TestParsePathInfoJSONMultiplePaths === PAUSE TestParsePathInfoJSONMultiplePaths === RUN TestPathInfoCACompatibility === PAUSE TestPathInfoCACompatibility === RUN TestRateLimiterFeedback === PAUSE TestRateLimiterFeedback === RUN TestRateLimiterFeedback_400DoesNotCountAsSuccess === PAUSE TestRateLimiterFeedback_400DoesNotCountAsSuccess === RUN TestRegisterUploadedObject_BoundedAgainstSilentServer === PAUSE TestRegisterUploadedObject_BoundedAgainstSilentServer === RUN TestRegisterUploadedObject_OutlivesPush === PAUSE TestRegisterUploadedObject_OutlivesPush === RUN TestResolveStorePath === PAUSE TestResolveStorePath === RUN TestDoWithRetry_BodyReplayedViaGetBody === PAUSE TestDoWithRetry_BodyReplayedViaGetBody === RUN TestRetryTimeoutOutlastsMaxRetries === PAUSE TestRetryTimeoutOutlastsMaxRetries === RUN TestDoWithRetry_FinalResponseBodyReadable === PAUSE TestDoWithRetry_FinalResponseBodyReadable === RUN TestShellSplit === PAUSE TestShellSplit === RUN TestShellSplitErrors === PAUSE TestShellSplitErrors === RUN TestStreamPushReportsEveryPath === PAUSE TestStreamPushReportsEveryPath === RUN TestStreamPushBatchesUnderLoad === PAUSE TestStreamPushBatchesUnderLoad === RUN TestStreamPushIsolatesFailures === PAUSE TestStreamPushIsolatesFailures === RUN TestStreamPushGivesUpOnDeadServer === PAUSE TestStreamPushGivesUpOnDeadServer === RUN TestStreamPushRequestLine === PAUSE TestStreamPushRequestLine === RUN TestStreamPushReportsSignatures === PAUSE TestStreamPushReportsSignatures === RUN TestStreamPushReportsSkippedPaths === PAUSE TestStreamPushReportsSkippedPaths === RUN TestClientSignaturesByStorePath === PAUSE TestClientSignaturesByStorePath === RUN TestStreamPushStopsWhenCanceled === PAUSE TestStreamPushStopsWhenCanceled === RUN TestSetClientTLS === PAUSE TestSetClientTLS === RUN TestSetClientTLSDoesNotMutateDefaultTransport === PAUSE TestSetClientTLSDoesNotMutateDefaultTransport === RUN TestSetClientTLSErrors === PAUSE TestSetClientTLSErrors === RUN TestStaticToken === PAUSE TestStaticToken === RUN TestFileTokenReadsAndCaches === PAUSE TestFileTokenReadsAndCaches === RUN TestFileTokenMissing === PAUSE TestFileTokenMissing === RUN TestFileTokenEmpty === PAUSE TestFileTokenEmpty === RUN TestScriptTokenNoExpiryRerunsEveryCall === PAUSE TestScriptTokenNoExpiryRerunsEveryCall === RUN TestScriptTokenCachesUntilRefresh === PAUSE TestScriptTokenCachesUntilRefresh === RUN TestScriptTokenEmptyToken === PAUSE TestScriptTokenEmptyToken === RUN TestScriptTokenBadJSON === PAUSE TestScriptTokenBadJSON === RUN TestScriptTokenScriptFails === PAUSE TestScriptTokenScriptFails === RUN TestScriptTokenEmptyCommand === PAUSE TestScriptTokenEmptyCommand === CONT TestSetClientTLS === CONT TestDoServerRequestAttachesToken === CONT TestStreamPushStopsWhenCanceled --- PASS: TestStreamPushStopsWhenCanceled (0.00s) === CONT TestRegisterUploadedObjectReusesConnections === RUN TestSetClientTLS/rejects_connection_without_client_cert === PAUSE TestSetClientTLS/rejects_connection_without_client_cert === RUN TestSetClientTLS/succeeds_with_client_cert_and_CA === PAUSE TestSetClientTLS/succeeds_with_client_cert_and_CA === RUN TestSetClientTLS/preserves_debug_logging_transport === PAUSE TestSetClientTLS/preserves_debug_logging_transport === CONT TestClientSignaturesByStorePath --- PASS: TestClientSignaturesByStorePath (0.00s) === CONT TestScriptTokenBadJSON === CONT TestUploadBuildLog_FileBodyReplayedOnRetry === CONT TestStreamPushReportsSkippedPaths === CONT TestStreamPushReportsSignatures === CONT TestStreamPushRequestLine === CONT TestStreamPushGivesUpOnDeadServer === CONT TestStreamPushIsolatesFailures === CONT TestStreamPushBatchesUnderLoad === CONT TestStreamPushReportsEveryPath === CONT TestShellSplitErrors === CONT TestEncodeNixBase32WithRealHash === CONT TestEncodeNixBase32 === CONT TestDumpPathWriterError === CONT TestDumpPathSingleFile === CONT TestDumpPathMatchesNix === CONT TestPartSizeForNAR === CONT TestUploadMultipart_ReturnsAfterDroppedBody === CONT TestUploadMultipart_PartsInParallel === CONT TestFilterOversizedClosures === CONT TestCaseHackSuffix === CONT TestRunGarbageCollection_NotFoundAfterLocalRun === CONT TestRunGarbageCollection_FinishedOnAnotherReplica --- PASS: TestScriptTokenBadJSON (6.00s) === RUN TestStreamPushBatchesUnderLoad/oneAtATime=false === PAUSE TestStreamPushBatchesUnderLoad/oneAtATime=false === RUN TestStreamPushBatchesUnderLoad/oneAtATime=true === CONT TestScriptTokenEmptyCommand --- PASS: TestStreamPushReportsEveryPath (0.00s) --- PASS: TestStreamPushReportsSkippedPaths (0.01s) === CONT TestScriptTokenScriptFails --- PASS: TestShellSplitErrors (0.00s) --- PASS: TestEncodeNixBase32WithRealHash (0.00s) === RUN TestEncodeNixBase32/test_string_hash === PAUSE TestEncodeNixBase32/test_string_hash === RUN TestEncodeNixBase32/empty_input === PAUSE TestEncodeNixBase32/empty_input === CONT TestFileTokenEmpty === CONT TestFileTokenReadsAndCaches 2026/11/11 23:00:13 ERROR Upload failed error="bad path" count=3 === CONT TestRegisterUploadedObject_BoundedAgainstSilentServer === CONT TestFileTokenMissing 2026/11/11 23:00:13 ERROR Upload failed error="connection refused" count=20 2026/11/11 23:00:13 ERROR Server seems unavailable, giving up on batch untried=17 2026/11/11 23:00:13 WARN Rate limiter enabled after throttle name=s3-test rate=5 2026/11/11 23:00:13 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:41499 --- PASS: TestStreamPushIsolatesFailures (0.01s) === CONT TestShellSplit --- PASS: TestFileTokenEmpty (0.00s) 2026/11/11 23:00:13 INFO Garbage collection started === CONT TestDoWithRetry_FinalResponseBodyReadable 2026/11/11 23:00:13 ERROR Upload failed error=boom count=1 --- PASS: TestFileTokenReadsAndCaches (0.00s) --- PASS: TestShellSplit (0.00s) === CONT TestDoWithRetry_BodyReplayedViaGetBody === CONT TestRetryTimeoutOutlastsMaxRetries --- PASS: TestDoServerRequestAttachesToken (6.02s) === CONT TestResolveStorePath --- PASS: TestStreamPushGivesUpOnDeadServer (0.01s) === CONT TestRegisterUploadedObject_OutlivesPush 2026/11/11 23:00:13 ERROR Upload failed error=boom count=1 --- PASS: TestResolveStorePath (0.00s) === CONT TestParsePathInfoJSONMultiplePaths === RUN TestPartSizeForNAR/zero_stays_at_minimum === RUN TestFilterOversizedClosures/no_limit_keeps_everything === PAUSE TestFilterOversizedClosures/no_limit_keeps_everything === RUN TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === PAUSE TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === RUN TestFilterOversizedClosures/all_closures_skipped === PAUSE TestFilterOversizedClosures/all_closures_skipped === CONT TestRateLimiterFeedback_400DoesNotCountAsSuccess === PAUSE TestStreamPushBatchesUnderLoad/oneAtATime=true --- PASS: TestScriptTokenEmptyCommand (0.00s) === CONT TestPathInfoCACompatibility === RUN TestPathInfoCACompatibility/null_ca_field === PAUSE TestPathInfoCACompatibility/null_ca_field === RUN TestPathInfoCACompatibility/old_string_format_-_text 2026/11/11 23:00:14 WARN Rate limiter enabled after throttle name=server-test rate=5 === PAUSE TestPathInfoCACompatibility/old_string_format_-_text --- PASS: TestStreamPushReportsSignatures (0.01s) === CONT TestRateLimiterFeedback 2026/11/11 23:00:14 WARN Rate limiter enabled after throttle name=server-test rate=5 === RUN TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === PAUSE TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === PAUSE TestPartSizeForNAR/zero_stays_at_minimum === CONT TestPathInfoHashCompatibility === RUN TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === PAUSE TestPathInfoCACompatibility/old_string_format_-_fixed_recursive --- PASS: TestScriptTokenScriptFails (0.01s) === CONT TestParsePathInfoJSON === RUN TestRateLimiterFeedback/429_enables_limiter === RUN TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === RUN TestParsePathInfoJSON/Nix_format === RUN TestPathInfoCACompatibility/new_structured_format_-_text === PAUSE TestRateLimiterFeedback/429_enables_limiter === PAUSE TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === RUN TestPartSizeForNAR/small_stays_at_minimum === RUN TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) === PAUSE TestParsePathInfoJSON/Nix_format === RUN TestRateLimiterFeedback/503_enables_limiter --- PASS: TestUploadBuildLog_FileBodyReplayedOnRetry (6.02s) === RUN TestParsePathInfoJSON/Lix_format --- PASS: TestFileTokenMissing (0.00s) 2026/11/11 23:00:14 WARN Request failed, retrying attempt=1 backoff=100ms error="Post \"http://127.0.0.1:41067/api/uploads/complete\": context deadline exceeded" url=http://127.0.0.1:41067/api/uploads/complete 2026/11/11 23:00:14 WARN Request failed, retrying attempt=1 backoff=100ms error="Post \"http://127.0.0.1:41067/api/uploads/complete\": context deadline exceeded" url=http://127.0.0.1:41067/api/uploads/complete 2026/11/11 23:00:14 WARN Failed to register uploaded object key=abc.narinfo error="sending request: context canceled during retry: context deadline exceeded" 2026/11/11 23:00:14 WARN Failed to register uploaded object key=abc.narinfo error="sending request: context canceled during retry: context deadline exceeded" 2026/11/11 23:00:14 WARN Request failed, retrying attempt=1 backoff=100ms error="Post \"http://127.0.0.1:41067/api/uploads/complete\": context deadline exceeded" url=http://127.0.0.1:41067/api/uploads/complete 2026/11/11 23:00:14 WARN Failed to register uploaded object key=abc.narinfo error="sending request: context canceled during retry: context deadline exceeded" --- PASS: TestUploadMultipart_PartsInParallel (0.69s) === CONT TestGetStorePathHash === RUN TestGetStorePathHash/valid_store_path === PAUSE TestGetStorePathHash/valid_store_path === RUN TestGetStorePathHash/basename_without_hyphen_should_error === PAUSE TestGetStorePathHash/basename_without_hyphen_should_error === RUN TestGetStorePathHash/hash_with_invalid_characters_should_error === PAUSE TestGetStorePathHash/hash_with_invalid_characters_should_error === RUN TestGetStorePathHash/hash_with_wrong_length_should_error === PAUSE TestGetStorePathHash/hash_with_wrong_length_should_error === CONT TestScriptTokenCachesUntilRefresh --- PASS: TestScriptTokenCachesUntilRefresh (0.02s) === CONT TestSetClientTLSDoesNotMutateDefaultTransport --- PASS: TestSetClientTLSDoesNotMutateDefaultTransport (0.01s) === CONT TestScriptTokenNoExpiryRerunsEveryCall --- PASS: TestScriptTokenNoExpiryRerunsEveryCall (0.01s) === CONT TestConvertHashToNix32 === RUN TestConvertHashToNix32/SRI_format_to_Nix32 === PAUSE TestConvertHashToNix32/SRI_format_to_Nix32 === RUN TestConvertHashToNix32/already_Nix32_format === PAUSE TestConvertHashToNix32/already_Nix32_format === RUN TestConvertHashToNix32/invalid_format === PAUSE TestConvertHashToNix32/invalid_format === CONT TestSetClientTLS/rejects_connection_without_client_cert === CONT TestSetClientTLS/preserves_debug_logging_transport 2026/11/11 23:00:14 http: TLS handshake error from 127.0.0.1:51542: remote error: tls: bad certificate === PAUSE TestPathInfoCACompatibility/new_structured_format_-_text === RUN TestPathInfoCACompatibility/new_structured_format_-_nar_method === PAUSE TestPathInfoCACompatibility/new_structured_format_-_nar_method === CONT TestSetClientTLS/succeeds_with_client_cert_and_CA 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:38543 2026/11/11 23:00:15 INFO Garbage collection started === CONT TestSetClientTLSErrors === PAUSE TestPartSizeForNAR/small_stays_at_minimum === CONT TestStaticToken === PAUSE TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) 2026/11/11 23:00:15 WARN Rate limiter enabled after throttle name=server-test rate=5 --- PASS: TestStaticToken (0.00s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:33137 === CONT TestEncodeNixBase32/test_string_hash 2026/11/11 23:00:15 WARN Rate limiter backed off name=server-test rate=5 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=1 backoff=1ms status=502 url=http://127.0.0.1:35153 === RUN TestPartSizeForNAR/80_GiB_fits_at_minimum === PAUSE TestPartSizeForNAR/80_GiB_fits_at_minimum === CONT TestEncodeNixBase32/empty_input === CONT TestFilterOversizedClosures/all_closures_skipped 2026/11/11 23:00:15 WARN Rate limiter backed off name=server-test rate=5 === PAUSE TestRateLimiterFeedback/503_enables_limiter 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=2 backoff=0s status=503 url=http://127.0.0.1:33137 === RUN TestRateLimiterFeedback/200_does_not_enable_limiter === PAUSE TestRateLimiterFeedback/200_does_not_enable_limiter === RUN TestRateLimiterFeedback/400_does_not_enable_limiter === PAUSE TestRateLimiterFeedback/400_does_not_enable_limiter === PAUSE TestParsePathInfoJSON/Lix_format === RUN TestParsePathInfoJSON/empty_input === PAUSE TestParsePathInfoJSON/empty_input === RUN TestParsePathInfoJSON/whitespace_only === PAUSE TestParsePathInfoJSON/whitespace_only === RUN TestParsePathInfoJSON/invalid_JSON === CONT TestStreamPushBatchesUnderLoad/oneAtATime=true === RUN TestPartSizeForNAR/115_GiB_needs_larger_parts 2026/11/11 23:00:15 WARN Skipping closure: path exceeds server max NAR size top_level_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper oversized_path=/nix/store/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-small nar_size=1000 max_nar_size=50 === PAUSE TestPartSizeForNAR/115_GiB_needs_larger_parts === CONT TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === CONT TestScriptTokenEmptyToken === PAUSE TestParsePathInfoJSON/invalid_JSON === RUN TestPartSizeForNAR/1_TiB === PAUSE TestPartSizeForNAR/1_TiB === RUN TestPartSizeForNAR/5_TiB_S3_max_object === PAUSE TestPartSizeForNAR/5_TiB_S3_max_object === RUN TestPartSizeForNAR/capped_at_5_GiB === PAUSE TestPartSizeForNAR/capped_at_5_GiB === CONT TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped 2026/11/11 23:00:15 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 === CONT TestGetStorePathHash/hash_with_wrong_length_should_error === CONT TestGetStorePathHash/hash_with_invalid_characters_should_error --- PASS: TestRunGarbageCollection_NotFoundAfterLocalRun (1.90s) --- PASS: TestDoWithRetry_FinalResponseBodyReadable (1.88s) === CONT TestFilterOversizedClosures/no_limit_keeps_everything === CONT TestConvertHashToNix32/invalid_format === CONT TestConvertHashToNix32/already_Nix32_format === RUN TestPathInfoHashCompatibility/old_string_format_with_colon === PAUSE TestPathInfoHashCompatibility/old_string_format_with_colon === RUN TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === PAUSE TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === RUN TestPathInfoHashCompatibility/new_structured_format_with_sha512 === PAUSE TestPathInfoHashCompatibility/new_structured_format_with_sha512 === CONT TestStreamPushBatchesUnderLoad/oneAtATime=false === CONT TestPathInfoCACompatibility/new_structured_format_-_text === CONT TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === CONT TestPathInfoCACompatibility/new_structured_format_-_nar_method === CONT TestPathInfoCACompatibility/old_string_format_-_text === CONT TestRateLimiterFeedback/429_enables_limiter === CONT TestRateLimiterFeedback/200_does_not_enable_limiter === CONT TestPathInfoCACompatibility/null_ca_field === CONT TestParsePathInfoJSON/invalid_JSON === CONT TestParsePathInfoJSON/Nix_format === CONT TestParsePathInfoJSON/whitespace_only === CONT TestParsePathInfoJSON/empty_input 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=2 backoff=1ms status=502 url=http://127.0.0.1:35153 === CONT TestParsePathInfoJSON/Lix_format === CONT TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === CONT TestGetStorePathHash/valid_store_path === CONT TestGetStorePathHash/basename_without_hyphen_should_error --- PASS: TestEncodeNixBase32 (0.00s) --- PASS: TestEncodeNixBase32/test_string_hash (0.00s) --- PASS: TestEncodeNixBase32/empty_input (0.00s) === CONT TestConvertHashToNix32/SRI_format_to_Nix32 === CONT TestRateLimiterFeedback/503_enables_limiter === CONT TestPartSizeForNAR/zero_stays_at_minimum === CONT TestPartSizeForNAR/1_TiB === CONT TestPartSizeForNAR/capped_at_5_GiB === CONT TestPartSizeForNAR/5_TiB_S3_max_object === CONT TestPartSizeForNAR/80_GiB_fits_at_minimum === CONT TestPartSizeForNAR/115_GiB_needs_larger_parts === CONT TestPartSizeForNAR/small_stays_at_minimum === CONT TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) === CONT TestPathInfoHashCompatibility/new_structured_format_with_sha512 === CONT TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === CONT TestPathInfoHashCompatibility/old_string_format_with_colon === RUN TestSetClientTLSErrors/missing_cert_file === PAUSE TestSetClientTLSErrors/missing_cert_file === RUN TestSetClientTLSErrors/missing_key_file === PAUSE TestSetClientTLSErrors/missing_key_file === RUN TestSetClientTLSErrors/missing_ca_file === PAUSE TestSetClientTLSErrors/missing_ca_file === RUN TestSetClientTLSErrors/invalid_ca_file === PAUSE TestSetClientTLSErrors/invalid_ca_file === CONT TestSetClientTLSErrors/missing_cert_file === CONT TestSetClientTLSErrors/invalid_ca_file === CONT TestSetClientTLSErrors/missing_ca_file === CONT TestSetClientTLSErrors/missing_key_file === CONT TestRateLimiterFeedback/400_does_not_enable_limiter --- PASS: TestRegisterUploadedObject_BoundedAgainstSilentServer (1.89s) --- PASS: TestUploadMultipart_ReturnsAfterDroppedBody (1.88s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=1 backoff=1ms status=502 url=http://127.0.0.1:35153 --- PASS: TestFilterOversizedClosures (0.00s) --- PASS: TestFilterOversizedClosures/all_closures_skipped (0.00s) --- PASS: TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped (0.00s) --- PASS: TestFilterOversizedClosures/no_limit_keeps_everything (0.00s) --- PASS: TestRegisterUploadedObject_OutlivesPush (1.88s) --- PASS: TestPathInfoCACompatibility (1.88s) --- PASS: TestPathInfoCACompatibility/new_structured_format_-_text (0.00s) --- PASS: TestPathInfoCACompatibility/old_string_format_-_fixed_recursive (0.00s) --- PASS: TestPathInfoCACompatibility/old_string_format_-_text (0.00s) --- PASS: TestPathInfoCACompatibility/new_structured_format_-_nar_method (0.00s) --- PASS: TestPathInfoCACompatibility/null_ca_field (0.00s) --- PASS: TestDoWithRetry_BodyReplayedViaGetBody (1.89s) --- PASS: TestConvertHashToNix32 (0.00s) --- PASS: TestConvertHashToNix32/invalid_format (0.00s) --- PASS: TestConvertHashToNix32/already_Nix32_format (0.00s) --- PASS: TestConvertHashToNix32/SRI_format_to_Nix32 (0.00s) --- PASS: TestStreamPushBatchesUnderLoad (0.01s) --- PASS: TestStreamPushBatchesUnderLoad/oneAtATime=true (0.00s) --- PASS: TestStreamPushBatchesUnderLoad/oneAtATime=false (0.00s) 2026/11/11 23:00:15 WARN Rate limiter enabled after throttle name=server-test rate=5 --- PASS: TestPathInfoHashCompatibility (1.88s) --- PASS: TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) (0.00s) --- PASS: TestPathInfoHashCompatibility/new_structured_format_with_sha512 (0.00s) --- PASS: TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI (0.00s) --- PASS: TestPathInfoHashCompatibility/old_string_format_with_colon (0.00s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=429 url=http://127.0.0.1:43033 --- PASS: TestParsePathInfoJSON (1.88s) --- PASS: TestParsePathInfoJSON/invalid_JSON (0.00s) --- PASS: TestParsePathInfoJSON/whitespace_only (0.00s) --- PASS: TestParsePathInfoJSON/empty_input (0.00s) --- PASS: TestParsePathInfoJSON/Nix_format (0.00s) --- PASS: TestParsePathInfoJSON/Lix_format (0.00s) --- PASS: TestGetStorePathHash (0.00s) --- PASS: TestGetStorePathHash/hash_with_wrong_length_should_error (0.00s) --- PASS: TestGetStorePathHash/hash_with_invalid_characters_should_error (0.00s) --- PASS: TestGetStorePathHash/valid_store_path (0.00s) --- PASS: TestGetStorePathHash/basename_without_hyphen_should_error (0.00s) --- PASS: TestPartSizeForNAR (1.88s) --- PASS: TestPartSizeForNAR/zero_stays_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/1_TiB (0.00s) --- PASS: TestPartSizeForNAR/capped_at_5_GiB (0.00s) --- PASS: TestPartSizeForNAR/5_TiB_S3_max_object (0.00s) --- PASS: TestPartSizeForNAR/80_GiB_fits_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/115_GiB_needs_larger_parts (0.00s) --- PASS: TestPartSizeForNAR/small_stays_at_minimum (0.00s) 2026/11/11 23:00:15 WARN Rate limiter backed off name=server-test rate=5 --- PASS: TestParsePathInfoJSONMultiplePaths (0.00s) --- PASS: TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths (0.00s) --- PASS: TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths (0.00s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=2 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 INFO Garbage collection progress phase=running_on_another_replica failed_uploads_deleted=0 old_closures_deleted=0 objects_marked=0 objects_deleted=0 objects_failed=0 2026/11/11 23:00:15 WARN Rate limiter enabled after throttle name=server-test rate=5 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=3 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:33403 2026/11/11 23:00:15 WARN Garbage collection finished on another replica. Its statistics are not available here 2026/11/11 23:00:15 WARN Rate limiter backed off name=server-test rate=5 --- PASS: TestSetClientTLSErrors (0.01s) --- PASS: TestSetClientTLSErrors/missing_cert_file (0.00s) --- PASS: TestSetClientTLSErrors/invalid_ca_file (0.00s) --- PASS: TestSetClientTLSErrors/missing_ca_file (0.00s) --- PASS: TestSetClientTLSErrors/missing_key_file (0.00s) --- PASS: TestRunGarbageCollection_FinishedOnAnotherReplica (1.89s) --- PASS: TestScriptTokenEmptyToken (0.01s) --- PASS: TestRateLimiterFeedback (1.88s) --- PASS: TestRateLimiterFeedback/200_does_not_enable_limiter (0.00s) --- PASS: TestRateLimiterFeedback/429_enables_limiter (0.00s) --- PASS: TestRateLimiterFeedback/400_does_not_enable_limiter (0.00s) --- PASS: TestRateLimiterFeedback/503_enables_limiter (0.01s) --- PASS: TestSetClientTLS (0.01s) --- PASS: TestSetClientTLS/rejects_connection_without_client_cert (0.02s) --- PASS: TestSetClientTLS/preserves_debug_logging_transport (1.14s) --- PASS: TestSetClientTLS/succeeds_with_client_cert_and_CA (0.01s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=4 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=5 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=6 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=7 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=8 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=9 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=10 backoff=1ms status=502 url=http://127.0.0.1:35153 --- PASS: TestDumpPathSingleFile (1.91s) --- PASS: TestDumpPathWriterError (1.91s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=11 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=12 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=13 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=14 backoff=1ms status=502 url=http://127.0.0.1:35153 --- PASS: TestRegisterUploadedObjectReusesConnections (7.93s) 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=15 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=16 backoff=1ms status=502 url=http://127.0.0.1:35153 2026/11/11 23:00:15 WARN Request returned retryable status, retrying attempt=17 backoff=1ms status=502 url=http://127.0.0.1:35153 --- PASS: TestStreamPushRequestLine (1.93s) --- PASS: TestRetryTimeoutOutlastsMaxRetries (1.92s) --- PASS: TestRateLimiterFeedback_400DoesNotCountAsSuccess (2.68s) --- PASS: TestCaseHackSuffix (4.12s) --- PASS: TestDumpPathMatchesNix (4.15s) PASS Running server tests... The files belonging to this database system will be owned by user "nixbld". This user must also own the server process. The database cluster will be initialized with locale "C". The default database encoding has accordingly been set to "SQL_ASCII". The default text search configuration will be set to "english". Data page checksums are enabled. creating directory /build/postgres2327898370/data ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default "max_connections" ... 100 selecting default "shared_buffers" ... 128MB selecting default time zone ... UTC creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok initdb: warning: enabling "trust" authentication for local connections 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. Success. You can now start the database server using: pg_ctl -D /build/postgres2327898370/data -l logfile start /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response /build/postgres2327898370:5432 - no response 2026-11-11 23:00:44.187 UTC [129] LOG: starting PostgreSQL 18.6 on aarch64-unknown-linux-gnu, compiled by clang version 21.1.8, 64-bit 2026-11-11 23:00:44.188 UTC [129] LOG: listening on Unix socket "/build/postgres2327898370/.s.PGSQL.5432" 2026-11-11 23:00:44.195 UTC [129] LOG: received smart shutdown request 2026-11-11 23:00:44.197 UTC [165] LOG: database system was shut down at 2026-11-11 23:00:39 UTC 2026-11-11 23:00:44.204 UTC [163] LOG: shutting down 2026-11-11 23:00:44.205 UTC [163] LOG: checkpoint starting: shutdown immediate 2026-11-11 23:00:44.207 UTC [163] LOG: checkpoint complete: wrote 0 buffers (0.0%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.003 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB; lsn=0/1765D58, redo lsn=0/1765D58 2026-11-11 23:00:44.233 UTC [129] LOG: database system is shut down 2026/11/11 23:00:44 ERROR failed to start postgres error="failed to wait for postgres: exit status 2"