tribuchet: building on mac02 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 TestPushPathsReportsOnlyUnuploadablePathsOfSkippedClosure === PAUSE TestPushPathsReportsOnlyUnuploadablePathsOfSkippedClosure === RUN TestUploadMultipart_PartsInParallel === PAUSE TestUploadMultipart_PartsInParallel === RUN TestUploadMultipart_ProducerErrorIsNotEOF === PAUSE TestUploadMultipart_ProducerErrorIsNotEOF === RUN TestUploadMultipart_FailedPartBufferNotReused === PAUSE TestUploadMultipart_FailedPartBufferNotReused === RUN TestPartSizeForNAR === PAUSE TestPartSizeForNAR === RUN TestUploadMultipart_SupersededByPeer === PAUSE TestUploadMultipart_SupersededByPeer === RUN TestDumpPathCaseHackMatchesNix --- PASS: TestDumpPathCaseHackMatchesNix (0.24s) === RUN TestDumpPathCaseHackCollision --- PASS: TestDumpPathCaseHackCollision (0.00s) === RUN TestSupersededNARStillUploadsListing === PAUSE TestSupersededNARStillUploadsListing === RUN TestTruncatedNARDumpIsNotCompleted === PAUSE TestTruncatedNARDumpIsNotCompleted === RUN TestDumpPathMatchesNix === PAUSE TestDumpPathMatchesNix === RUN TestDumpPathSingleFile === PAUSE TestDumpPathSingleFile === RUN TestDumpPathWriterError === PAUSE TestDumpPathWriterError === RUN TestDumpPathWriterErrorStopsReading nar_test.go:280: no /proc/self/io: open /proc/self/io: no such file or directory --- SKIP: TestDumpPathWriterErrorStopsReading (0.44s) === 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 TestUploadPendingObjectsStopsStartingAfterFailure --- PASS: TestUploadPendingObjectsStopsStartingAfterFailure (0.01s) === RUN TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent === PAUSE TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent === RUN TestCompletePendingClosure_NotFoundWithoutKey === PAUSE TestCompletePendingClosure_NotFoundWithoutKey === RUN TestRateLimiterFeedback === PAUSE TestRateLimiterFeedback === RUN TestRateLimiterFeedback_400DoesNotCountAsSuccess === PAUSE TestRateLimiterFeedback_400DoesNotCountAsSuccess === RUN TestRegisterUploadedObject_BoundedAgainstSilentServer === PAUSE TestRegisterUploadedObject_BoundedAgainstSilentServer === RUN TestResolveStorePath === PAUSE TestResolveStorePath === RUN TestDoWithRetry_BodyReplayedViaGetBody === PAUSE TestDoWithRetry_BodyReplayedViaGetBody === RUN TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade === PAUSE TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade === 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 TestClientSignaturesByStorePath === PAUSE TestClientSignaturesByStorePath === RUN TestStreamPushStopsOnCancel === PAUSE TestStreamPushStopsOnCancel === 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 === RUN TestScriptTokenDoesNotWaitForItsChildren === PAUSE TestScriptTokenDoesNotWaitForItsChildren === CONT TestDoServerRequestAttachesToken === CONT TestScriptTokenDoesNotWaitForItsChildren === CONT TestDumpPathMatchesNix === CONT TestUploadMultipart_SupersededByPeer === CONT TestStreamPushReportsSignatures === RUN TestUploadMultipart_SupersededByPeer/exists === CONT TestClientSignaturesByStorePath === CONT TestRegisterUploadedObject_BoundedAgainstSilentServer === CONT TestTruncatedNARDumpIsNotCompleted --- PASS: TestClientSignaturesByStorePath (0.00s) === RUN TestScriptTokenDoesNotWaitForItsChildren/cancelled_while_a_child_runs === CONT TestShellSplitErrors === PAUSE TestScriptTokenDoesNotWaitForItsChildren/cancelled_while_a_child_runs === CONT TestRateLimiterFeedback === RUN TestScriptTokenDoesNotWaitForItsChildren/child_left_holding_stdout === CONT TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent === RUN TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/committed_earlier === CONT TestCompletePendingClosure_NotFoundWithoutKey === PAUSE TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/committed_earlier === RUN TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/cleaned_up === CONT TestGetStorePathHash === RUN TestGetStorePathHash/valid_store_path === CONT TestEncodeNixBase32WithRealHash === CONT TestStreamPushGivesUpOnDeadServer === CONT TestConvertHashToNix32 === CONT TestEncodeNixBase32 === CONT TestDumpPathWriterError === CONT TestPathInfoCACompatibility === CONT TestParsePathInfoJSONMultiplePaths === CONT TestPathInfoHashCompatibility === CONT TestParsePathInfoJSON === CONT TestFilterOversizedClosures === CONT TestSupersededNARStillUploadsListing === PAUSE TestUploadMultipart_SupersededByPeer/exists === CONT TestScriptTokenEmptyCommand --- PASS: TestShellSplitErrors (0.00s) === CONT TestStreamPushRequestLine === RUN TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) === RUN TestParsePathInfoJSON/Nix_format === RUN TestSupersededNARStillUploadsListing/small_NAR === PAUSE TestParsePathInfoJSON/Nix_format === PAUSE TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) --- PASS: TestScriptTokenEmptyCommand (0.00s) === RUN TestParsePathInfoJSON/Lix_format === CONT TestRateLimiterFeedback_400DoesNotCountAsSuccess === PAUSE TestScriptTokenDoesNotWaitForItsChildren/child_left_holding_stdout === PAUSE TestGetStorePathHash/valid_store_path === PAUSE TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/cleaned_up === PAUSE TestParsePathInfoJSON/Lix_format === CONT TestStreamPushBatchesUnderLoad === RUN TestStreamPushBatchesUnderLoad/together === RUN TestParsePathInfoJSON/empty_input === RUN TestEncodeNixBase32/test_string_hash === RUN TestPathInfoCACompatibility/null_ca_field === PAUSE TestPathInfoCACompatibility/null_ca_field === RUN TestFilterOversizedClosures/no_limit_keeps_everything === RUN TestRateLimiterFeedback/429_enables_limiter === CONT TestStreamPushStopsOnCancel === RUN TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === PAUSE TestFilterOversizedClosures/no_limit_keeps_everything === PAUSE TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === RUN TestStreamPushStopsOnCancel/waiting_for_input === RUN TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === PAUSE TestSupersededNARStillUploadsListing/small_NAR --- PASS: TestEncodeNixBase32WithRealHash (0.00s) --- PASS: TestStreamPushReportsSignatures (0.00s) === PAUSE TestStreamPushStopsOnCancel/waiting_for_input === PAUSE TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === RUN TestConvertHashToNix32/SRI_format_to_Nix32 === PAUSE TestStreamPushBatchesUnderLoad/together === CONT TestUploadMultipart_FailedPartBufferNotReused === RUN TestStreamPushBatchesUnderLoad/one_at_a_time === RUN TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_committed_earlier === PAUSE TestEncodeNixBase32/test_string_hash === PAUSE TestParsePathInfoJSON/empty_input === RUN TestEncodeNixBase32/empty_input === RUN TestParsePathInfoJSON/whitespace_only === CONT TestStreamPushIsolatesFailures === PAUSE TestParsePathInfoJSON/whitespace_only === RUN TestParsePathInfoJSON/invalid_JSON === RUN TestPathInfoCACompatibility/old_string_format_-_text === PAUSE TestRateLimiterFeedback/429_enables_limiter === PAUSE TestPathInfoCACompatibility/old_string_format_-_text === RUN TestRateLimiterFeedback/503_enables_limiter === RUN TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === RUN TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === PAUSE TestRateLimiterFeedback/503_enables_limiter === PAUSE TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === RUN TestGetStorePathHash/basename_without_hyphen_should_error === RUN TestPathInfoCACompatibility/new_structured_format_-_text --- PASS: TestCompletePendingClosure_NotFoundWithoutKey (0.00s) --- PASS: TestStreamPushIsolatesFailures (0.00s) === CONT TestDumpPathSingleFile --- PASS: TestStreamPushGivesUpOnDeadServer (0.00s) --- PASS: TestDoServerRequestAttachesToken (0.00s) === CONT TestFileTokenMissing === RUN TestSupersededNARStillUploadsListing/dump_cut_short === CONT TestScriptTokenBadJSON === PAUSE TestSupersededNARStillUploadsListing/dump_cut_short === RUN TestSupersededNARStillUploadsListing/listing_upload_fails === PAUSE TestSupersededNARStillUploadsListing/listing_upload_fails === CONT TestShellSplit --- PASS: TestShellSplit (0.00s) === CONT TestScriptTokenCachesUntilRefresh === RUN TestStreamPushStopsOnCancel/partial_batch_waiting_for_a_slot === CONT TestScriptTokenScriptFails === PAUSE TestStreamPushStopsOnCancel/partial_batch_waiting_for_a_slot === PAUSE TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_committed_earlier --- PASS: TestFileTokenMissing (0.00s) === CONT TestRegisterUploadedObjectReusesConnections === RUN TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_first_root_committed_by_another_client === PAUSE TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_first_root_committed_by_another_client === RUN TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_last_root_committed_by_another_client === PAUSE TestStreamPushBatchesUnderLoad/one_at_a_time === PAUSE TestConvertHashToNix32/SRI_format_to_Nix32 === PAUSE TestEncodeNixBase32/empty_input === PAUSE TestParsePathInfoJSON/invalid_JSON === RUN TestUploadMultipart_SupersededByPeer/missing === CONT TestScriptTokenNoExpiryRerunsEveryCall === PAUSE TestUploadMultipart_SupersededByPeer/missing === RUN TestPathInfoHashCompatibility/old_string_format_with_colon === PAUSE TestPathInfoHashCompatibility/old_string_format_with_colon === PAUSE TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === RUN TestRateLimiterFeedback/200_does_not_enable_limiter === RUN TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === PAUSE TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === CONT TestDoWithRetry_FinalResponseBodyReadable === RUN TestFilterOversizedClosures/all_closures_skipped === PAUSE TestPathInfoCACompatibility/new_structured_format_-_text === PAUSE TestRateLimiterFeedback/200_does_not_enable_limiter === RUN TestRateLimiterFeedback/400_does_not_enable_limiter === RUN TestPathInfoHashCompatibility/new_structured_format_with_sha512 === PAUSE TestPathInfoHashCompatibility/new_structured_format_with_sha512 === PAUSE TestFilterOversizedClosures/all_closures_skipped === PAUSE TestGetStorePathHash/basename_without_hyphen_should_error === RUN TestStreamPushStopsOnCancel/input_closed,_last_batch_waiting_for_a_slot === PAUSE TestStreamPushStopsOnCancel/input_closed,_last_batch_waiting_for_a_slot === RUN TestPathInfoCACompatibility/new_structured_format_-_nar_method === PAUSE TestRateLimiterFeedback/400_does_not_enable_limiter === CONT TestUploadMultipart_PartsInParallel === PAUSE TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_last_root_committed_by_another_client === CONT TestRunGarbageCollection_NotFoundAfterLocalRun === CONT TestPartSizeForNAR === RUN TestConvertHashToNix32/already_Nix32_format === CONT TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade === CONT TestCaseHackSuffix === PAUSE TestConvertHashToNix32/already_Nix32_format === CONT TestDoWithRetry_BodyReplayedViaGetBody === RUN TestGetStorePathHash/hash_with_invalid_characters_should_error === PAUSE TestGetStorePathHash/hash_with_invalid_characters_should_error --- PASS: TestScriptTokenBadJSON (0.03s) === CONT TestSetClientTLSErrors === PAUSE TestPathInfoCACompatibility/new_structured_format_-_nar_method === CONT TestRunGarbageCollection_FinishedOnAnotherReplica --- PASS: TestScriptTokenScriptFails (0.03s) === CONT TestSetClientTLSDoesNotMutateDefaultTransport === RUN TestStreamPushStopsOnCancel/full_batch_waiting_for_a_slot === RUN TestPartSizeForNAR/zero_stays_at_minimum === PAUSE TestStreamPushStopsOnCancel/full_batch_waiting_for_a_slot === RUN TestStreamPushStopsOnCancel/request_line_waiting_for_a_slot === PAUSE TestStreamPushStopsOnCancel/request_line_waiting_for_a_slot === RUN TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=0 === RUN TestConvertHashToNix32/invalid_format === PAUSE TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=0 === PAUSE TestConvertHashToNix32/invalid_format === RUN TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=5 === PAUSE TestPartSizeForNAR/zero_stays_at_minimum === RUN TestGetStorePathHash/hash_with_wrong_length_should_error === CONT TestStaticToken === CONT TestSetClientTLS --- PASS: TestStaticToken (0.00s) === PAUSE TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=5 === RUN TestStreamPushStopsOnCancel/lines_read_but_not_taken === RUN TestPartSizeForNAR/small_stays_at_minimum === CONT TestStreamPushReportsEveryPath === PAUSE TestGetStorePathHash/hash_with_wrong_length_should_error === PAUSE TestStreamPushStopsOnCancel/lines_read_but_not_taken === CONT TestUploadMultipart_ProducerErrorIsNotEOF === RUN TestUploadMultipart_ProducerErrorIsNotEOF/short_read_inside_a_part === PAUSE TestUploadMultipart_ProducerErrorIsNotEOF/short_read_inside_a_part === PAUSE TestPartSizeForNAR/small_stays_at_minimum === RUN TestPartSizeForNAR/80_GiB_fits_at_minimum === PAUSE TestPartSizeForNAR/80_GiB_fits_at_minimum === RUN TestUploadMultipart_ProducerErrorIsNotEOF/empty_read_on_a_part_boundary --- PASS: TestStreamPushReportsEveryPath (0.00s) === CONT TestResolveStorePath === RUN TestPartSizeForNAR/115_GiB_needs_larger_parts === CONT TestPushPathsReportsOnlyUnuploadablePathsOfSkippedClosure === PAUSE TestUploadMultipart_ProducerErrorIsNotEOF/empty_read_on_a_part_boundary === PAUSE TestPartSizeForNAR/115_GiB_needs_larger_parts === CONT TestScriptTokenEmptyToken === RUN TestPartSizeForNAR/1_TiB === CONT TestFileTokenReadsAndCaches --- PASS: TestScriptTokenCachesUntilRefresh (0.05s) --- PASS: TestFileTokenReadsAndCaches (0.00s) --- PASS: TestResolveStorePath (0.00s) --- PASS: TestSetClientTLSDoesNotMutateDefaultTransport (0.02s) === CONT TestScriptTokenDoesNotWaitForItsChildren/child_left_holding_stdout === 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 TestSetClientTLS/rejects_connection_without_client_cert === RUN TestSetClientTLSErrors/invalid_ca_file === PAUSE TestSetClientTLS/rejects_connection_without_client_cert === PAUSE TestSetClientTLSErrors/invalid_ca_file === 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 TestScriptTokenDoesNotWaitForItsChildren/cancelled_while_a_child_runs === CONT TestUploadBuildLog_FileBodyReplayedOnRetry --- PASS: TestScriptTokenNoExpiryRerunsEveryCall (0.05s) === CONT TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === CONT TestSupersededNARStillUploadsListing/listing_upload_fails --- PASS: TestDoWithRetry_FinalResponseBodyReadable (0.05s) === CONT TestSupersededNARStillUploadsListing/dump_cut_short === 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 TestSupersededNARStillUploadsListing/small_NAR === CONT TestFileTokenEmpty === CONT TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths --- PASS: TestDumpPathSingleFile (0.06s) === CONT TestStreamPushBatchesUnderLoad/together --- PASS: TestFileTokenEmpty (0.00s) === CONT TestStreamPushBatchesUnderLoad/one_at_a_time --- PASS: TestParsePathInfoJSONMultiplePaths (0.00s) --- PASS: TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths (0.00s) --- PASS: TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths (0.00s) === CONT TestEncodeNixBase32/test_string_hash --- PASS: TestDoWithRetry_BodyReplayedViaGetBody (0.05s) --- PASS: TestScriptTokenEmptyToken (0.02s) === CONT TestEncodeNixBase32/empty_input === CONT TestParsePathInfoJSON/whitespace_only === CONT TestParsePathInfoJSON/Lix_format === CONT TestParsePathInfoJSON/Nix_format === CONT TestUploadMultipart_SupersededByPeer/exists === CONT TestParsePathInfoJSON/empty_input === CONT TestPathInfoHashCompatibility/old_string_format_with_colon === CONT TestPathInfoHashCompatibility/new_structured_format_with_sha512 === CONT TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI --- PASS: TestStreamPushBatchesUnderLoad (0.01s) --- PASS: TestStreamPushBatchesUnderLoad/together (0.00s) --- PASS: TestStreamPushBatchesUnderLoad/one_at_a_time (0.01s) === CONT TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) === CONT TestRateLimiterFeedback/503_enables_limiter --- PASS: TestRunGarbageCollection_NotFoundAfterLocalRun (0.06s) --- PASS: TestPathInfoHashCompatibility (0.01s) --- PASS: TestPathInfoHashCompatibility/old_string_format_with_colon (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_dash_(SRI) (0.00s) === CONT TestUploadMultipart_SupersededByPeer/missing === CONT TestParsePathInfoJSON/invalid_JSON === NAME TestUploadBuildLog_FileBodyReplayedOnRetry buildlog_upload_test.go:51: attempt 1: body mismatch (err=unexpected EOF, 0 bytes, want 35) --- PASS: TestEncodeNixBase32 (0.01s) --- PASS: TestEncodeNixBase32/test_string_hash (0.00s) --- PASS: TestEncodeNixBase32/empty_input (0.00s) === CONT TestFilterOversizedClosures/no_limit_keeps_everything --- PASS: TestParsePathInfoJSON (0.01s) --- PASS: TestParsePathInfoJSON/whitespace_only (0.00s) --- PASS: TestParsePathInfoJSON/Lix_format (0.00s) --- PASS: TestParsePathInfoJSON/Nix_format (0.00s) --- PASS: TestParsePathInfoJSON/empty_input (0.00s) --- PASS: TestParsePathInfoJSON/invalid_JSON (0.00s) === CONT TestRateLimiterFeedback/200_does_not_enable_limiter === CONT TestRateLimiterFeedback/400_does_not_enable_limiter === CONT TestRateLimiterFeedback/429_enables_limiter === CONT TestFilterOversizedClosures/all_closures_skipped === CONT TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === CONT TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/committed_earlier === CONT TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/cleaned_up --- PASS: TestRunGarbageCollection_FinishedOnAnotherReplica (0.06s) --- PASS: TestFilterOversizedClosures (0.02s) --- PASS: TestFilterOversizedClosures/no_limit_keeps_everything (0.00s) --- PASS: TestFilterOversizedClosures/all_closures_skipped (0.00s) --- PASS: TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped (0.00s) === CONT TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_last_root_committed_by_another_client === CONT TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_first_root_committed_by_another_client === CONT TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_committed_earlier === NAME TestUploadBuildLog_FileBodyReplayedOnRetry buildlog_upload_test.go:51: attempt 2: body mismatch (err=unexpected EOF, 0 bytes, want 35) === CONT TestPathInfoCACompatibility/old_string_format_-_text === CONT TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === CONT TestPathInfoCACompatibility/new_structured_format_-_text === CONT TestPathInfoCACompatibility/new_structured_format_-_nar_method === CONT TestPathInfoCACompatibility/null_ca_field === CONT TestConvertHashToNix32/SRI_format_to_Nix32 === CONT TestConvertHashToNix32/already_Nix32_format --- PASS: TestPathInfoCACompatibility (0.03s) --- PASS: TestPathInfoCACompatibility/old_string_format_-_text (0.00s) --- PASS: TestPathInfoCACompatibility/old_string_format_-_fixed_recursive (0.00s) --- PASS: TestPathInfoCACompatibility/new_structured_format_-_nar_method (0.00s) --- PASS: TestPathInfoCACompatibility/null_ca_field (0.00s) --- PASS: TestPathInfoCACompatibility/new_structured_format_-_text (0.00s) === CONT TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=0 === CONT TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=5 === CONT TestGetStorePathHash/valid_store_path === CONT TestConvertHashToNix32/invalid_format === CONT TestGetStorePathHash/hash_with_invalid_characters_should_error === CONT TestStreamPushStopsOnCancel/waiting_for_input --- PASS: TestUploadMultipart_SupersededByPeer (0.01s) --- PASS: TestUploadMultipart_SupersededByPeer/exists (0.00s) --- PASS: TestUploadMultipart_SupersededByPeer/missing (0.01s) === CONT TestGetStorePathHash/hash_with_wrong_length_should_error === CONT TestGetStorePathHash/basename_without_hyphen_should_error === CONT TestStreamPushStopsOnCancel/full_batch_waiting_for_a_slot --- PASS: TestRateLimiterFeedback (0.01s) --- PASS: TestRateLimiterFeedback/400_does_not_enable_limiter (0.00s) --- PASS: TestRateLimiterFeedback/429_enables_limiter (0.00s) --- PASS: TestRateLimiterFeedback/503_enables_limiter (0.01s) --- PASS: TestRateLimiterFeedback/200_does_not_enable_limiter (0.01s) === CONT TestStreamPushStopsOnCancel/partial_batch_waiting_for_a_slot === CONT TestStreamPushStopsOnCancel/request_line_waiting_for_a_slot === CONT TestStreamPushStopsOnCancel/lines_read_but_not_taken --- PASS: TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade (0.02s) --- PASS: TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=0 (0.00s) --- PASS: TestDoWithRetry_ClosesBodyWhenNoAttemptIsMade/retries=5 (0.00s) === CONT TestStreamPushStopsOnCancel/input_closed,_last_batch_waiting_for_a_slot --- PASS: TestConvertHashToNix32 (0.04s) --- PASS: TestConvertHashToNix32/SRI_format_to_Nix32 (0.00s) --- PASS: TestConvertHashToNix32/already_Nix32_format (0.00s) --- PASS: TestConvertHashToNix32/invalid_format (0.00s) === NAME TestUploadBuildLog_FileBodyReplayedOnRetry buildlog_upload_test.go:51: attempt 3: body mismatch (err=unexpected EOF, 0 bytes, want 35) buildlog_upload_test.go:73: upload failed: uploading: request failed after retries: Put "http://127.0.0.1:63428": readfrom tcp 127.0.0.1:63471->127.0.0.1:63428: sendfile: operation not permitted === CONT TestUploadMultipart_ProducerErrorIsNotEOF/empty_read_on_a_part_boundary === CONT TestUploadMultipart_ProducerErrorIsNotEOF/short_read_inside_a_part --- PASS: TestGetStorePathHash (0.04s) --- PASS: TestGetStorePathHash/valid_store_path (0.00s) --- PASS: TestGetStorePathHash/basename_without_hyphen_should_error (0.00s) --- PASS: TestGetStorePathHash/hash_with_invalid_characters_should_error (0.00s) --- PASS: TestGetStorePathHash/hash_with_wrong_length_should_error (0.00s) === CONT TestSetClientTLSErrors/missing_cert_file === CONT TestSetClientTLS/succeeds_with_client_cert_and_CA --- FAIL: TestUploadBuildLog_FileBodyReplayedOnRetry (0.04s) === CONT TestPartSizeForNAR/zero_stays_at_minimum === CONT TestSetClientTLSErrors/invalid_ca_file --- PASS: TestCaseHackSuffix (0.08s) === CONT TestSetClientTLSErrors/missing_ca_file === CONT TestSetClientTLSErrors/missing_key_file === CONT TestSetClientTLS/preserves_debug_logging_transport === CONT TestSetClientTLS/rejects_connection_without_client_cert --- PASS: TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent (0.02s) --- PASS: TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_last_root_committed_by_another_client (0.00s) --- PASS: TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/committed_earlier (0.00s) --- PASS: TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_cleaned_up,_first_root_committed_by_another_client (0.00s) --- PASS: TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/push_committed_earlier (0.01s) --- PASS: TestCompletePendingClosure_NotFoundIsSuccessWhenClosurePresent/cleaned_up (0.01s) --- PASS: TestSetClientTLSErrors (0.03s) --- PASS: TestSetClientTLSErrors/missing_cert_file (0.00s) --- PASS: TestSetClientTLSErrors/invalid_ca_file (0.00s) --- PASS: TestSetClientTLSErrors/missing_key_file (0.00s) --- PASS: TestSetClientTLSErrors/missing_ca_file (0.00s) === CONT TestPartSizeForNAR/115_GiB_needs_larger_parts === CONT TestPartSizeForNAR/capped_at_5_GiB === CONT TestPartSizeForNAR/1_TiB === CONT TestPartSizeForNAR/small_stays_at_minimum === CONT TestPartSizeForNAR/80_GiB_fits_at_minimum === CONT TestPartSizeForNAR/5_TiB_S3_max_object --- PASS: TestPartSizeForNAR (0.04s) --- PASS: TestPartSizeForNAR/zero_stays_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/115_GiB_needs_larger_parts (0.00s) --- PASS: TestPartSizeForNAR/capped_at_5_GiB (0.00s) --- PASS: TestPartSizeForNAR/1_TiB (0.00s) --- PASS: TestPartSizeForNAR/small_stays_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/80_GiB_fits_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/5_TiB_S3_max_object (0.00s) --- PASS: TestUploadMultipart_ProducerErrorIsNotEOF (0.01s) --- PASS: TestUploadMultipart_ProducerErrorIsNotEOF/empty_read_on_a_part_boundary (0.05s) --- PASS: TestUploadMultipart_ProducerErrorIsNotEOF/short_read_inside_a_part (0.05s) --- PASS: TestStreamPushStopsOnCancel (0.04s) --- PASS: TestStreamPushStopsOnCancel/full_batch_waiting_for_a_slot (0.05s) --- PASS: TestStreamPushStopsOnCancel/input_closed,_last_batch_waiting_for_a_slot (0.05s) --- PASS: TestStreamPushStopsOnCancel/lines_read_but_not_taken (0.05s) --- PASS: TestStreamPushStopsOnCancel/request_line_waiting_for_a_slot (0.05s) --- PASS: TestStreamPushStopsOnCancel/waiting_for_input (0.05s) --- PASS: TestStreamPushStopsOnCancel/partial_batch_waiting_for_a_slot (0.05s) --- PASS: TestStreamPushRequestLine (0.17s) --- PASS: TestDumpPathWriterError (0.19s) --- PASS: TestSetClientTLS (0.01s) --- PASS: TestSetClientTLS/succeeds_with_client_cert_and_CA (0.01s) --- PASS: TestSetClientTLS/preserves_debug_logging_transport (0.03s) --- PASS: TestSetClientTLS/rejects_connection_without_client_cert (0.09s) --- PASS: TestDumpPathMatchesNix (0.24s) --- PASS: TestRegisterUploadedObjectReusesConnections (0.25s) --- PASS: TestPushPathsReportsOnlyUnuploadablePathsOfSkippedClosure (0.24s) --- PASS: TestTruncatedNARDumpIsNotCompleted (0.45s) --- PASS: TestUploadMultipart_FailedPartBufferNotReused (0.70s) --- PASS: TestUploadMultipart_PartsInParallel (0.72s) --- PASS: TestSupersededNARStillUploadsListing (0.00s) --- PASS: TestSupersededNARStillUploadsListing/small_NAR (0.03s) --- PASS: TestSupersededNARStillUploadsListing/listing_upload_fails (0.03s) --- PASS: TestSupersededNARStillUploadsListing/dump_cut_short (0.71s) --- PASS: TestRateLimiterFeedback_400DoesNotCountAsSuccess (1.00s) --- PASS: TestRegisterUploadedObject_BoundedAgainstSilentServer (2.00s) --- PASS: TestScriptTokenDoesNotWaitForItsChildren (0.00s) --- PASS: TestScriptTokenDoesNotWaitForItsChildren/child_left_holding_stdout (2.04s) --- PASS: TestScriptTokenDoesNotWaitForItsChildren/cancelled_while_a_child_runs (2.21s) FAIL