Bug#971155: gitlab-workhorse: FTBFS: dh_auto_test: error: cd _build && go test -vet=off -v -p 4 gitlab.com/gitlab-org/gitlab-workhorse gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-cat gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata/limit gitlab.com/gitlab-org/gitlab-workhorse/internal/api gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway gitlab.com/gitlab-org/gitlab-workhorse/internal/builds gitlab.com/gitlab-org/gitlab-workhorse/internal/channel gitlab.com/gitlab-org/gitlab-workhorse/internal/config gitlab.com/gitlab-org/gitlab-workhorse/internal/filestore gitlab.com/gitlab-org/gitlab-workhorse/internal/git gitlab.com/gitlab-org/gitlab-workhorse/internal/gitaly gitlab.com/gitlab-org/gitlab-workhorse/internal/headers gitlab.com/gitlab-org/gitlab-workhorse/internal/helper gitlab.com/gitlab-org/gitlab-workhorse/internal/lfs gitlab.com/gitlab-org/gitlab-workhorse/internal/lsif_transf ormer/parser gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore/test gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy gitlab.com/gitlab-org/gitlab-workhorse/internal/queueing gitlab.com/gitlab-org/gitlab-workhorse/internal/secret gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata/contentprocessor gitlab.com/gitlab-org/gitlab-workhorse/internal/sendfile gitlab.com/gitlab-org/gitlab-workhorse/internal/sendurl gitlab.com/gitlab-org/gitlab-workhorse/internal/staticpages gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper gitlab.com/gitlab-org/gitlab-workhorse/internal/upload gitlab.com/gitlab-org/gitlab-workhorse/internal/upload/exif gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream/roundtripper gitlab.com/gitlab-org/gitlab-workhorse/internal/urlprefix gitlab.com/gitlab-org/gitlab-w orkhorse/internal/utils/svg gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts returned exit code 1

Sun, 27 Sep 2020 11:57:45 -0700

Source: gitlab-workhorse
Version: 8.37.0+debian-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200926 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.

Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> PATH="/<<PKGBUILDDIR>>/_build/bin:$PATH" dh_auto_test
>       cd _build && go test -vet=off -v -p 4 
> gitlab.com/gitlab-org/gitlab-workhorse 
> gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-cat 
> gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata 
> gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata/limit 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/api 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/builds 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/channel 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/config 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/filestore 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/git 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/gitaly 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/headers 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/helper 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/lfs 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/lsif_transformer/parser 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore/test 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/queueing 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/secret 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata/contentprocessor 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/sendfile 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/sendurl 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/staticpages 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upload 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upload/exif 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream/roundtripper 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/urlprefix 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/utils/svg 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts
> === RUN   TestParseAuthBackend
> --- PASS: TestParseAuthBackend (0.00s)
> === RUN   TestProxyRequest
> --- PASS: TestProxyRequest (0.00s)
> === RUN   TestProxyError
> time="2020-09-27T11:24:02Z" level=error msg=error correlation_id= 
> duration_ms=0 error="badgateway: failed to receive response: dial tcp: 
> address 655575: invalid port" method=POST uri=
> --- PASS: TestProxyError (0.00s)
> === RUN   TestProxyReadTimeout
> time="2020-09-27T11:24:02Z" level=error msg=error correlation_id= 
> duration_ms=1 error="badgateway: failed to receive response: net/http: 
> timeout awaiting response headers" method=POST uri=
> --- PASS: TestProxyReadTimeout (0.00s)
> === RUN   TestProxyHandlerTimeout
> --- PASS: TestProxyHandlerTimeout (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse  0.067s
> ?     gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-cat       [no 
> test files]
> ?     gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata  [no 
> test files]
> === RUN   TestReadAt
> === RUN   TestReadAt/when_limit_has_not_been_reached
> === RUN   TestReadAt/when_read_limit_is_exceeded
> === RUN   TestReadAt/when_offset_is_higher_than_a_limit
> === RUN   TestReadAt/when_a_read_starts_at_the_limit
> --- PASS: TestReadAt (0.00s)
>     --- PASS: TestReadAt/when_limit_has_not_been_reached (0.00s)
>     --- PASS: TestReadAt/when_read_limit_is_exceeded (0.00s)
>     --- PASS: TestReadAt/when_offset_is_higher_than_a_limit (0.00s)
>     --- PASS: TestReadAt/when_a_read_starts_at_the_limit (0.00s)
> === RUN   TestSizeToLimit
> === RUN   TestSizeToLimit/1b_to_100mb
> === RUN   TestSizeToLimit/100b_to_100mb
> === RUN   TestSizeToLimit/100mb_to_100mb
> === RUN   TestSizeToLimit/1gb_to_100mb
> === RUN   TestSizeToLimit/10gb_to_1gb
> === RUN   TestSizeToLimit/50gb_to_5gb
> --- PASS: TestSizeToLimit (0.00s)
>     --- PASS: TestSizeToLimit/1b_to_100mb (0.00s)
>     --- PASS: TestSizeToLimit/100b_to_100mb (0.00s)
>     --- PASS: TestSizeToLimit/100mb_to_100mb (0.00s)
>     --- PASS: TestSizeToLimit/1gb_to_100mb (0.00s)
>     --- PASS: TestSizeToLimit/10gb_to_1gb (0.00s)
>     --- PASS: TestSizeToLimit/50gb_to_5gb (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata/limit    
> 0.005s
> === RUN   TestBlocker
> === RUN   TestBlocker/blocked
> time="2020-09-27T11:24:01Z" level=error msg=error correlation_id= 
> error="api.blocker: forbidden content-type: 
> \"application/vnd.gitlab-workhorse+json\"" method=GET uri=
> === RUN   TestBlocker/pass
> --- PASS: TestBlocker (0.00s)
>     --- PASS: TestBlocker/blocked (0.00s)
>     --- PASS: TestBlocker/pass (0.00s)
> === RUN   TestClone
> --- PASS: TestClone (0.00s)
> === RUN   TestValidate
> --- PASS: TestValidate (0.00s)
> === RUN   TestDialer
> --- PASS: TestDialer (0.00s)
> === RUN   TestIsEqual
> --- PASS: TestIsEqual (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/api     0.025s
> === RUN   TestErrorPage502
> === RUN   TestErrorPage502/production_mode
> time="2020-09-27T11:23:58Z" level=error msg=error correlation_id= 
> duration_ms=0 error="badgateway: failed to receive response: something went 
> wrong" method=GET uri=
> === RUN   TestErrorPage502/development_mode
> time="2020-09-27T11:23:58Z" level=error msg=error correlation_id= 
> duration_ms=0 error="badgateway: failed to receive response: something went 
> wrong" method=GET uri=
> --- PASS: TestErrorPage502 (0.00s)
>     --- PASS: TestErrorPage502/production_mode (0.00s)
>     --- PASS: TestErrorPage502/development_mode (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway      0.024s
> === RUN   TestRegisterHandlerLargeBody
> time="2020-09-27T11:23:59Z" level=error msg=error correlation_id= 
> error="http: request body too large" method=POST uri=
> --- PASS: TestRegisterHandlerLargeBody (0.00s)
> === RUN   TestRegisterHandlerInvalidRunnerRequest
> --- PASS: TestRegisterHandlerInvalidRunnerRequest (0.00s)
> === RUN   TestRegisterHandlerInvalidJsonPayload
> --- PASS: TestRegisterHandlerInvalidJsonPayload (0.00s)
> === RUN   TestRegisterHandlerMissingData
> --- PASS: TestRegisterHandlerMissingData (0.00s)
> === RUN   TestRegisterHandlerWatcherError
> --- PASS: TestRegisterHandlerWatcherError (0.00s)
> === RUN   TestRegisterHandlerWatcherAlreadyChanged
> --- PASS: TestRegisterHandlerWatcherAlreadyChanged (0.00s)
> === RUN   TestRegisterHandlerWatcherSeenChange
> --- PASS: TestRegisterHandlerWatcherSeenChange (0.00s)
> === RUN   TestRegisterHandlerWatcherTimeout
> --- PASS: TestRegisterHandlerWatcherTimeout (0.00s)
> === RUN   TestRegisterHandlerWatcherNoChange
> --- PASS: TestRegisterHandlerWatcherNoChange (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/builds  0.034s
> === RUN   TestAuthCheckerStopsWhenAuthFails
> --- PASS: TestAuthCheckerStopsWhenAuthFails (0.00s)
> === RUN   TestAuthCheckerStopsWhenAuthChanges
> --- PASS: TestAuthCheckerStopsWhenAuthChanges (0.00s)
> === RUN   TestReadMessage
> --- PASS: TestReadMessage (0.00s)
> === RUN   TestWriteMessage
> --- PASS: TestWriteMessage (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/channel 0.024s
> === RUN   TestLoadObjectStorageConfig
> --- PASS: TestLoadObjectStorageConfig (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/config  0.006s
> === RUN   TestSaveFileOptsLocalAndRemote
> === RUN   TestSaveFileOptsLocalAndRemote/Only_LocalTempPath
> === RUN   TestSaveFileOptsLocalAndRemote/Both_paths
> === RUN   TestSaveFileOptsLocalAndRemote/No_paths
> === RUN   TestSaveFileOptsLocalAndRemote/Only_remoteUrl
> === RUN   TestSaveFileOptsLocalAndRemote/Multipart
> === RUN   TestSaveFileOptsLocalAndRemote/Multipart_and_Local
> --- PASS: TestSaveFileOptsLocalAndRemote (0.00s)
>     --- PASS: TestSaveFileOptsLocalAndRemote/Only_LocalTempPath (0.00s)
>     --- PASS: TestSaveFileOptsLocalAndRemote/Both_paths (0.00s)
>     --- PASS: TestSaveFileOptsLocalAndRemote/No_paths (0.00s)
>     --- PASS: TestSaveFileOptsLocalAndRemote/Only_remoteUrl (0.00s)
>     --- PASS: TestSaveFileOptsLocalAndRemote/Multipart (0.00s)
>     --- PASS: TestSaveFileOptsLocalAndRemote/Multipart_and_Local (0.00s)
> === RUN   TestGetOpts
> === RUN   TestGetOpts/Single_upload
> === RUN   TestGetOpts/Multipart_upload
> === RUN   TestGetOpts/Single_upload_with_custom_content_type
> === RUN   TestGetOpts/Multipart_upload_with_custom_content_type
> --- PASS: TestGetOpts (0.00s)
>     --- PASS: TestGetOpts/Single_upload (0.00s)
>     --- PASS: TestGetOpts/Multipart_upload (0.00s)
>     --- PASS: TestGetOpts/Single_upload_with_custom_content_type (0.00s)
>     --- PASS: TestGetOpts/Multipart_upload_with_custom_content_type (0.00s)
> === RUN   TestGetOptsDefaultTimeout
> --- PASS: TestGetOptsDefaultTimeout (0.00s)
> === RUN   TestUseWorkhorseClientEnabled
> === RUN   TestUseWorkhorseClientEnabled/all_direct_access_settings_used
> === RUN   TestUseWorkhorseClientEnabled/missing_AWS_credentials
> === RUN   TestUseWorkhorseClientEnabled/direct_access_disabled
> === RUN   TestUseWorkhorseClientEnabled/with_IAM_instance_profile
> === RUN   TestUseWorkhorseClientEnabled/missing_remote_temp_object_ID
> === RUN   TestUseWorkhorseClientEnabled/missing_S3_config
> === RUN   TestUseWorkhorseClientEnabled/missing_S3_bucket
> --- PASS: TestUseWorkhorseClientEnabled (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/all_direct_access_settings_used 
> (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/missing_AWS_credentials (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/direct_access_disabled (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/with_IAM_instance_profile (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/missing_remote_temp_object_ID 
> (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/missing_S3_config (0.00s)
>     --- PASS: TestUseWorkhorseClientEnabled/missing_S3_bucket (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/filestore       0.053s
> === RUN   TestParseBasename
> --- PASS: TestParseBasename (0.00s)
> === RUN   TestFinalizeArchive
> --- PASS: TestFinalizeArchive (0.00s)
> === RUN   TestSetArchiveHeaders
> --- PASS: TestSetArchiveHeaders (0.00s)
> === RUN   TestSetBlobHeaders
> --- PASS: TestSetBlobHeaders (0.00s)
> === RUN   TestSuccessfulScanDeepen
> --- PASS: TestSuccessfulScanDeepen (0.00s)
> === RUN   TestFailedScanDeepen
> --- PASS: TestFailedScanDeepen (0.00s)
> === RUN   TestUploadPackTimesOut
> --- PASS: TestUploadPackTimesOut (0.01s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/git     0.069s
> === RUN   TestNewSmartHTTPClient
> --- PASS: TestNewSmartHTTPClient (0.00s)
> === RUN   TestNewBlobClient
> --- PASS: TestNewBlobClient (0.00s)
> === RUN   TestNewRepositoryClient
> --- PASS: TestNewRepositoryClient (0.00s)
> === RUN   TestNewNamespaceClient
> --- PASS: TestNewNamespaceClient (0.00s)
> === RUN   TestNewDiffClient
> --- PASS: TestNewDiffClient (0.00s)
> === RUN   TestUnmarshalJSON
> === RUN   TestUnmarshalJSON/basic_example
> === RUN   TestUnmarshalJSON/unknown_field
> --- PASS: TestUnmarshalJSON (0.00s)
>     --- PASS: TestUnmarshalJSON/basic_example (0.00s)
>     --- PASS: TestUnmarshalJSON/unknown_field (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/gitaly  0.016s
> === RUN   TestIsDetectContentTypeHeaderPresent
> --- PASS: TestIsDetectContentTypeHeaderPresent (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/headers 0.025s
> === RUN   TestContextReaderRead
> === RUN   TestContextReaderRead/Before_and_after_read_deadline_checks_are_fine
> === RUN   TestContextReaderRead/Before_read_deadline_check_fails
> === RUN   TestContextReaderRead/After_read_deadline_check_fails
> --- PASS: TestContextReaderRead (0.00s)
>     --- PASS: 
> TestContextReaderRead/Before_and_after_read_deadline_checks_are_fine (0.00s)
>     --- PASS: TestContextReaderRead/Before_read_deadline_check_fails (0.00s)
>     --- PASS: TestContextReaderRead/After_read_deadline_check_fails (0.00s)
> === RUN   TestCountingResponseWriterStatus
> --- PASS: TestCountingResponseWriterStatus (0.00s)
> === RUN   TestCountingResponseWriterCount
> --- PASS: TestCountingResponseWriterCount (0.00s)
> === RUN   TestCountingResponseWriterWrite
> --- PASS: TestCountingResponseWriterWrite (0.00s)
> === RUN   TestFixRemoteAddr
> --- PASS: TestFixRemoteAddr (0.00s)
> === RUN   TestSetForwardedForGeneratesHeader
> --- PASS: TestSetForwardedForGeneratesHeader (0.00s)
> === RUN   TestReadRequestBody
> --- PASS: TestReadRequestBody (0.00s)
> === RUN   TestReadRequestBodyLimit
> --- PASS: TestReadRequestBodyLimit (0.00s)
> === RUN   TestCloneRequestWithBody
> --- PASS: TestCloneRequestWithBody (0.00s)
> === RUN   TestApplicationJson
> --- PASS: TestApplicationJson (0.00s)
> === RUN   TestFail500WorksWithNils
> time="2020-09-27T11:24:01Z" level=error msg="unknown error" error="<nil>"
> --- PASS: TestFail500WorksWithNils (0.00s)
> === RUN   TestLogError
> === RUN   TestLogError/nil_request
> === RUN   TestLogError/nil_request_nil_error
> === RUN   TestLogError/basic_url
> === RUN   TestLogError/secret_url
> --- PASS: TestLogError (0.00s)
>     --- PASS: TestLogError/nil_request (0.00s)
>     --- PASS: TestLogError/nil_request_nil_error (0.00s)
>     --- PASS: TestLogError/basic_url (0.00s)
>     --- PASS: TestLogError/secret_url (0.00s)
> === RUN   TestLogErrorWithFields
> === RUN   TestLogErrorWithFields/nil_request
> === RUN   TestLogErrorWithFields/nil_request_nil_error
> === RUN   TestLogErrorWithFields/basic_url
> --- PASS: TestLogErrorWithFields (0.00s)
>     --- PASS: TestLogErrorWithFields/nil_request (0.00s)
>     --- PASS: TestLogErrorWithFields/nil_request_nil_error (0.00s)
>     --- PASS: TestLogErrorWithFields/basic_url (0.00s)
> === RUN   TestBusyReader
> --- PASS: TestBusyReader (0.00s)
> === RUN   TestFirstWriteAfterReadDone
> --- PASS: TestFirstWriteAfterReadDone (0.00s)
> === RUN   TestWriteDelay
> --- PASS: TestWriteDelay (0.00s)
> === RUN   TestComplainingWriterSanity
> --- PASS: TestComplainingWriterSanity (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/helper  0.030s
> ?     gitlab.com/gitlab-org/gitlab-workhorse/internal/lfs     [no test files]
> === RUN   TestCache
> --- PASS: TestCache (0.00s)
> === RUN   TestHighlight
> === RUN   TestHighlight/go_function_definition
>     code_hover_test.go:71: 
>               Error Trace:    code_hover_test.go:71
>               Error:          Not equal: 
>                               expected: 
> [][]parser.token{[]parser.token{parser.token{Class:"kd", Value:"func"}, 
> parser.token{Class:"", Value:" main()"}}}
>                               actual  : 
> [][]parser.token{[]parser.token{parser.token{Class:"kd", Value:"func"}, 
> parser.token{Class:"", Value:" main()\n"}}}
>                               
>                               Diff:
>                               --- Expected
>                               +++ Actual
>                               @@ -8,3 +8,3 @@
>                                   Class: (string) "",
>                               -   Value: (string) (len=7) " main()"
>                               +   Value: (string) (len=8) " main()\n"
>                                  }
>               Test:           TestHighlight/go_function_definition
> === RUN   TestHighlight/go_struct_definition
>     code_hover_test.go:71: 
>               Error Trace:    code_hover_test.go:71
>               Error:          Not equal: 
>                               expected: 
> [][]parser.token{[]parser.token{parser.token{Class:"kd", Value:"type"}, 
> parser.token{Class:"", Value:" Command "}, parser.token{Class:"kd", 
> Value:"struct"}}}
>                               actual  : 
> [][]parser.token{[]parser.token{parser.token{Class:"kd", Value:"type"}, 
> parser.token{Class:"", Value:" Command "}, parser.token{Class:"kd", 
> Value:"struct"}, parser.token{Class:"", Value:"\n"}}}
>                               
>                               Diff:
>                               --- Expected
>                               +++ Actual
>                               @@ -1,3 +1,3 @@
>                                ([][]parser.token) (len=1) {
>                               - ([]parser.token) (len=3) {
>                               + ([]parser.token) (len=4) {
>                                  (parser.token) {
>                               @@ -13,2 +13,6 @@
>                                   Value: (string) (len=6) "struct"
>                               +  },
>                               +  (parser.token) {
>                               +   Class: (string) "",
>                               +   Value: (string) (len=1) "\n"
>                                  }
>               Test:           TestHighlight/go_struct_definition
> === RUN   TestHighlight/go_struct_multiline_definition
>     code_hover_test.go:71: 
>               Error Trace:    code_hover_test.go:71
>               Error:          Not equal: 
>                               expected: 
> [][]parser.token{[]parser.token{parser.token{Class:"kd", Value:"struct"}, 
> parser.token{Class:"", Value:" {\n"}}, []parser.token{parser.token{Class:"", 
> Value:"Config *Config\n"}}, []parser.token{parser.token{Class:"", 
> Value:"ReadWriter *ReadWriter\n"}}, []parser.token{parser.token{Class:"", 
> Value:"EOFSent "}, parser.token{Class:"kt", Value:"bool"}, 
> parser.token{Class:"", Value:"\n"}}, []parser.token{parser.token{Class:"", 
> Value:"}"}}}
>                               actual  : 
> [][]parser.token{[]parser.token{parser.token{Class:"kd", Value:"struct"}, 
> parser.token{Class:"", Value:" {\n"}}, []parser.token{parser.token{Class:"", 
> Value:"Config *Config\n"}}, []parser.token{parser.token{Class:"", 
> Value:"ReadWriter *ReadWriter\n"}}, []parser.token{parser.token{Class:"", 
> Value:"EOFSent "}, parser.token{Class:"kt", Value:"bool"}, 
> parser.token{Class:"", Value:"\n"}}, []parser.token{parser.token{Class:"", 
> Value:"}\n"}}}
>                               
>                               Diff:
>                               --- Expected
>                               +++ Actual
>                               @@ -40,3 +40,3 @@
>                                   Class: (string) "",
>                               -   Value: (string) (len=1) "}"
>                               +   Value: (string) (len=2) "}\n"
>                                  }
>               Test:           TestHighlight/go_struct_multiline_definition
> === RUN   TestHighlight/ruby_method_definition
> === RUN   TestHighlight/ruby_multiline_method_definition
> === RUN   TestHighlight/unknown/malicious_language_is_passed
> --- FAIL: TestHighlight (0.01s)
>     --- FAIL: TestHighlight/go_function_definition (0.00s)
>     --- FAIL: TestHighlight/go_struct_definition (0.00s)
>     --- FAIL: TestHighlight/go_struct_multiline_definition (0.00s)
>     --- PASS: TestHighlight/ruby_method_definition (0.00s)
>     --- PASS: TestHighlight/ruby_multiline_method_definition (0.00s)
>     --- PASS: TestHighlight/unknown/malicious_language_is_passed (0.00s)
> === RUN   TestMarkdown
> --- PASS: TestMarkdown (0.00s)
> === RUN   TestTruncatedValue
> --- PASS: TestTruncatedValue (0.00s)
> === RUN   TestTruncatingMultiByteChars
> --- PASS: TestTruncatingMultiByteChars (0.00s)
> === RUN   TestRead
> --- PASS: TestRead (0.00s)
> === RUN   TestReadContainsLine
> --- PASS: TestReadContainsLine (0.00s)
> === RUN   TestCombineErrors
> --- PASS: TestCombineErrors (0.00s)
> === RUN   TestHoversRead
> --- PASS: TestHoversRead (0.00s)
> === RUN   TestId
> --- PASS: TestId (0.00s)
> === RUN   TestGenerate
>     parser_test.go:37: 
>               Error Trace:    parser_test.go:37
>                                                       parser_test.go:23
>               Error:          Not equal: 
>                               expected: "[\n    {\n        \"start_line\": 
> 7,\n        \"start_char\": 1,\n        \"definition_path\": 
> \"main.go#L4\",\n        \"hover\": [\n            {\n                
> \"tokens\": [\n                    [\n                        {\n             
>                \"class\": \"kn\",\n                            \"value\": 
> \"package\"\n                        },\n                        {\n          
>                   \"value\": \" \"\n                        },\n              
>           {\n                            \"class\": \"s\",\n                  
>           \"value\": \"\\\"github.com/user/hello/morestrings\\\"\"\n          
>               }\n                    ]\n                ],\n                
> \"language\": \"go\"\n            },\n            {\n                
> \"value\": \"Package morestrings implements additional functions to 
> manipulate UTF-8 encoded strings, beyond what is provided in the standard 
> \\\"strings\\\" package. \\n\\n\"\n            }\n        ],\n        
> \"references\": [\n            {\n                \"path\": \"main.go#L8\"\n  
>           },\n            {\n                \"path\": \"main.go#L9\"\n       
>      }\n        ]\n    },\n    {\n        \"start_line\": 7,\n        
> \"start_char\": 13,\n        \"definition_path\": 
> \"morestrings/reverse.go#L12\",\n        \"hover\": [\n            {\n        
>         \"tokens\": [\n                    [\n                        {\n     
>                        \"class\": \"kd\",\n                            
> \"value\": \"func\"\n                        },\n                        {\n  
>                           \"value\": \" Reverse(s \"\n                        
> },\n                        {\n                            \"class\": 
> \"kt\",\n                            \"value\": \"string\"\n                  
>       },\n                        {\n                            \"value\": 
> \") \"\n                        },\n                        {\n               
>              \"class\": \"kt\",\n                            \"value\": 
> \"string\"\n                        }\n                    ]\n                
> ],\n                \"language\": \"go\"\n            },\n            {\n     
>            \"value\": \"This method reverses a string \\n\\n\"\n            
> }\n        ],\n        \"references\": [\n            {\n                
> \"path\": \"main.go#L8\"\n            }\n        ]\n    },\n    {\n        
> \"start_line\": 8,\n        \"start_char\": 1,\n        \"definition_path\": 
> \"main.go#L4\",\n        \"hover\": [\n            {\n                
> \"tokens\": [\n                    [\n                        {\n             
>                \"class\": \"kn\",\n                            \"value\": 
> \"package\"\n                        },\n                        {\n          
>                   \"value\": \" \"\n                        },\n              
>           {\n                            \"class\": \"s\",\n                  
>           \"value\": \"\\\"github.com/user/hello/morestrings\\\"\"\n          
>               }\n                    ]\n                ],\n                
> \"language\": \"go\"\n            },\n            {\n                
> \"value\": \"Package morestrings implements additional functions to 
> manipulate UTF-8 encoded strings, beyond what is provided in the standard 
> \\\"strings\\\" package. \\n\\n\"\n            }\n        ],\n        
> \"references\": [\n            {\n                \"path\": \"main.go#L8\"\n  
>           },\n            {\n                \"path\": \"main.go#L9\"\n       
>      }\n        ]\n    },\n    {\n        \"start_line\": 8,\n        
> \"start_char\": 13,\n        \"definition_path\": 
> \"morestrings/reverse.go#L5\",\n        \"hover\": [\n            {\n         
>        \"tokens\": [\n                    [\n                        {\n      
>                       \"class\": \"kd\",\n                            
> \"value\": \"func\"\n                        },\n                        {\n  
>                           \"value\": \" Func2(i \"\n                        
> },\n                        {\n                            \"class\": 
> \"kt\",\n                            \"value\": \"int\"\n                     
>    },\n                        {\n                            \"value\": \") 
> \"\n                        },\n                        {\n                   
>          \"class\": \"kt\",\n                            \"value\": 
> \"string\"\n                        }\n                    ]\n                
> ],\n                \"language\": \"go\"\n            }\n        ],\n        
> \"references\": [\n            {\n                \"path\": \"main.go#L9\"\n  
>           }\n        ]\n    },\n    {\n        \"start_line\": 6,\n        
> \"start_char\": 5,\n        \"definition_path\": \"main.go#L7\",\n        
> \"hover\": [\n            {\n                \"tokens\": [\n                  
>   [\n                        {\n                            \"class\": 
> \"kd\",\n                            \"value\": \"func\"\n                    
>     },\n                        {\n                            \"value\": \" 
> main()\"\n                        }\n                    ]\n                
> ],\n                \"language\": \"go\"\n            }\n        ]\n    },\n  
>   {\n        \"start_line\": 3,\n        \"start_char\": 2,\n        
> \"definition_path\": \"main.go#L4\",\n        \"hover\": [\n            {\n   
>              \"tokens\": [\n                    [\n                        
> {\n                            \"class\": \"kn\",\n                           
>  \"value\": \"package\"\n                        },\n                        
> {\n                            \"value\": \" \"\n                        },\n 
>                        {\n                            \"class\": \"s\",\n     
>                        \"value\": 
> \"\\\"github.com/user/hello/morestrings\\\"\"\n                        }\n    
>                 ]\n                ],\n                \"language\": \"go\"\n 
>            },\n            {\n                \"value\": \"Package 
> morestrings implements additional functions to manipulate UTF-8 encoded 
> strings, beyond what is provided in the standard \\\"strings\\\" package. 
> \\n\\n\"\n            }\n        ],\n        \"references\": [\n            
> {\n                \"path\": \"main.go#L8\"\n            },\n            {\n  
>               \"path\": \"main.go#L9\"\n            }\n        ]\n    }\n]"
>                               actual  : "[\n    {\n        \"start_line\": 
> 7,\n        \"start_char\": 1,\n        \"definition_path\": 
> \"main.go#L4\",\n        \"hover\": [\n            {\n                
> \"tokens\": [\n                    [\n                        {\n             
>                \"class\": \"kn\",\n                            \"value\": 
> \"package\"\n                        },\n                        {\n          
>                   \"value\": \" \"\n                        },\n              
>           {\n                            \"class\": \"s\",\n                  
>           \"value\": \"\\\"github.com/user/hello/morestrings\\\"\"\n          
>               },\n                        {\n                            
> \"value\": \"\\n\"\n                        }\n                    ]\n        
>         ],\n                \"language\": \"go\"\n            },\n            
> {\n                \"value\": \"Package morestrings implements additional 
> functions to manipulate UTF-8 encoded strings, beyond what is provided in the 
> standard \\\"strings\\\" package. \\n\\n\"\n            }\n        ],\n       
>  \"references\": [\n            {\n                \"path\": \"main.go#L8\"\n 
>            },\n            {\n                \"path\": \"main.go#L9\"\n      
>       }\n        ]\n    },\n    {\n        \"start_line\": 7,\n        
> \"start_char\": 13,\n        \"definition_path\": 
> \"morestrings/reverse.go#L12\",\n        \"hover\": [\n            {\n        
>         \"tokens\": [\n                    [\n                        {\n     
>                        \"class\": \"kd\",\n                            
> \"value\": \"func\"\n                        },\n                        {\n  
>                           \"value\": \" Reverse(s \"\n                        
> },\n                        {\n                            \"class\": 
> \"kt\",\n                            \"value\": \"string\"\n                  
>       },\n                        {\n                            \"value\": 
> \") \"\n                        },\n                        {\n               
>              \"class\": \"kt\",\n                            \"value\": 
> \"string\"\n                        },\n                        {\n           
>                  \"value\": \"\\n\"\n                        }\n              
>       ]\n                ],\n                \"language\": \"go\"\n           
>  },\n            {\n                \"value\": \"This method reverses a 
> string \\n\\n\"\n            }\n        ],\n        \"references\": [\n       
>      {\n                \"path\": \"main.go#L8\"\n            }\n        ]\n  
>   },\n    {\n        \"start_line\": 8,\n        \"start_char\": 1,\n        
> \"definition_path\": \"main.go#L4\",\n        \"hover\": [\n            {\n   
>              \"tokens\": [\n                    [\n                        
> {\n                            \"class\": \"kn\",\n                           
>  \"value\": \"package\"\n                        },\n                        
> {\n                            \"value\": \" \"\n                        },\n 
>                        {\n                            \"class\": \"s\",\n     
>                        \"value\": 
> \"\\\"github.com/user/hello/morestrings\\\"\"\n                        },\n   
>                      {\n                            \"value\": \"\\n\"\n      
>                   }\n                    ]\n                ],\n              
>   \"language\": \"go\"\n            },\n            {\n                
> \"value\": \"Package morestrings implements additional functions to 
> manipulate UTF-8 encoded strings, beyond what is provided in the standard 
> \\\"strings\\\" package. \\n\\n\"\n            }\n        ],\n        
> \"references\": [\n            {\n                \"path\": \"main.go#L8\"\n  
>           },\n            {\n                \"path\": \"main.go#L9\"\n       
>      }\n        ]\n    },\n    {\n        \"start_line\": 8,\n        
> \"start_char\": 13,\n        \"definition_path\": 
> \"morestrings/reverse.go#L5\",\n        \"hover\": [\n            {\n         
>        \"tokens\": [\n                    [\n                        {\n      
>                       \"class\": \"kd\",\n                            
> \"value\": \"func\"\n                        },\n                        {\n  
>                           \"value\": \" Func2(i \"\n                        
> },\n                        {\n                            \"class\": 
> \"kt\",\n                            \"value\": \"int\"\n                     
>    },\n                        {\n                            \"value\": \") 
> \"\n                        },\n                        {\n                   
>          \"class\": \"kt\",\n                            \"value\": 
> \"string\"\n                        },\n                        {\n           
>                  \"value\": \"\\n\"\n                        }\n              
>       ]\n                ],\n                \"language\": \"go\"\n           
>  }\n        ],\n        \"references\": [\n            {\n                
> \"path\": \"main.go#L9\"\n            }\n        ]\n    },\n    {\n        
> \"start_line\": 6,\n        \"start_char\": 5,\n        \"definition_path\": 
> \"main.go#L7\",\n        \"hover\": [\n            {\n                
> \"tokens\": [\n                    [\n                        {\n             
>                \"class\": \"kd\",\n                            \"value\": 
> \"func\"\n                        },\n                        {\n             
>                \"value\": \" main()\\n\"\n                        }\n         
>            ]\n                ],\n                \"language\": \"go\"\n      
>       }\n        ]\n    },\n    {\n        \"start_line\": 3,\n        
> \"start_char\": 2,\n        \"definition_path\": \"main.go#L4\",\n        
> \"hover\": [\n            {\n                \"tokens\": [\n                  
>   [\n                        {\n                            \"class\": 
> \"kn\",\n                            \"value\": \"package\"\n                 
>        },\n                        {\n                            \"value\": 
> \" \"\n                        },\n                        {\n                
>             \"class\": \"s\",\n                            \"value\": 
> \"\\\"github.com/user/hello/morestrings\\\"\"\n                        },\n   
>                      {\n                            \"value\": \"\\n\"\n      
>                   }\n                    ]\n                ],\n              
>   \"language\": \"go\"\n            },\n            {\n                
> \"value\": \"Package morestrings implements additional functions to 
> manipulate UTF-8 encoded strings, beyond what is provided in the standard 
> \\\"strings\\\" package. \\n\\n\"\n            }\n        ],\n        
> \"references\": [\n            {\n                \"path\": \"main.go#L8\"\n  
>           },\n            {\n                \"path\": \"main.go#L9\"\n       
>      }\n        ]\n    }\n]"
>                               
>                               Diff:
>                               --- Expected
>                               +++ Actual
>                               @@ -19,2 +19,5 @@
>                                                            "value": 
> "\"github.com/user/hello/morestrings\""
>                               +                        },
>                               +                        {
>                               +                            "value": "\n"
>                                                        }
>                               @@ -62,2 +65,5 @@
>                                                            "value": "string"
>                               +                        },
>                               +                        {
>                               +                            "value": "\n"
>                                                        }
>                               @@ -95,2 +101,5 @@
>                                                            "value": 
> "\"github.com/user/hello/morestrings\""
>                               +                        },
>                               +                        {
>                               +                            "value": "\n"
>                                                        }
>                               @@ -138,2 +147,5 @@
>                                                            "value": "string"
>                               +                        },
>                               +                        {
>                               +                            "value": "\n"
>                                                        }
>                               @@ -163,3 +175,3 @@
>                                                        {
>                               -                            "value": " main()"
>                               +                            "value": " 
> main()\n"
>                                                        }
>                               @@ -189,2 +201,5 @@
>                                                            "value": 
> "\"github.com/user/hello/morestrings\""
>                               +                        },
>                               +                        {
>                               +                            "value": "\n"
>                                                        }
>               Test:           TestGenerate
> --- FAIL: TestGenerate (0.03s)
> === RUN   TestRangesRead
> --- PASS: TestRangesRead (0.00s)
> === RUN   TestSerialize
> --- PASS: TestSerialize (0.00s)
> === RUN   TestSerializeWithoutProcessingReferences
> --- PASS: TestSerializeWithoutProcessingReferences (0.00s)
> FAIL
> FAIL  gitlab.com/gitlab-org/gitlab-workhorse/internal/lsif_transformer/parser 
> 0.053s
> === RUN   TestS3SessionSetup
> --- PASS: TestS3SessionSetup (0.00s)
> === RUN   TestS3SessionExpiry
> --- PASS: TestS3SessionExpiry (0.00s)
> === RUN   TestMultipartUploadWithUpcaseETags
> --- PASS: TestMultipartUploadWithUpcaseETags (0.00s)
> === RUN   TestObjectUpload
> === RUN   TestObjectUpload/with_delete_URL
> ObjectStore Stub: PUT /bucket/object
> ObjectStore Stub: DELETE /bucket/object
> === RUN   TestObjectUpload/without_delete_URL
> ObjectStore Stub: PUT /bucket/object
> === RUN   TestObjectUpload/with_custom_content_type
> ObjectStore Stub: PUT /bucket/object
> === RUN   TestObjectUpload/with_upcase_ETAG
> ObjectStore Stub: PUT /bucket/object
> --- PASS: TestObjectUpload (0.02s)
>     --- PASS: TestObjectUpload/with_delete_URL (0.01s)
>     --- PASS: TestObjectUpload/without_delete_URL (0.00s)
>     --- PASS: TestObjectUpload/with_custom_content_type (0.00s)
>     --- PASS: TestObjectUpload/with_upcase_ETAG (0.00s)
> === RUN   TestObjectUpload404
> --- PASS: TestObjectUpload404 (0.00s)
> === RUN   TestObjectUploadBrokenConnection
> --- PASS: TestObjectUploadBrokenConnection (0.01s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore     0.045s
> === RUN   TestObjectStoreStub
> ObjectStore Stub: PUT /bucket/object
> ObjectStore Stub: DELETE /bucket/object
> --- PASS: TestObjectStoreStub (0.00s)
> === RUN   TestObjectStoreStubDelete404
> ObjectStore Stub: DELETE /bucket/object
> --- PASS: TestObjectStoreStubDelete404 (0.00s)
> === RUN   TestObjectStoreInitiateMultipartUpload
> --- PASS: TestObjectStoreInitiateMultipartUpload (0.00s)
> === RUN   TestObjectStoreCompleteMultipartUpload
> ObjectStore Stub: PUT /bucket/object?partNumber=1
> ObjectStore Stub: PUT /bucket/object?partNumber=2
> ObjectStore Stub: POST /bucket/object
> --- PASS: TestObjectStoreCompleteMultipartUpload (0.00s)
> === RUN   TestObjectStoreAbortMultipartUpload
> ObjectStore Stub: PUT /bucket/object?partNumber=1
> ObjectStore Stub: DELETE /bucket/object
> --- PASS: TestObjectStoreAbortMultipartUpload (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore/test        
> 0.014s
> ?     gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy   [no test files]
> === RUN   TestNormalQueueing
> --- PASS: TestNormalQueueing (0.00s)
> === RUN   TestQueueLimit
> --- PASS: TestQueueLimit (0.00s)
> === RUN   TestQueueProcessing
> --- PASS: TestQueueProcessing (0.00s)
> === RUN   TestNormalRequestProcessing
> --- PASS: TestNormalRequestProcessing (0.00s)
> === RUN   TestQueueingTimeout
> --- PASS: TestQueueingTimeout (0.00s)
> === RUN   TestQueueingTooManyRequests
> --- PASS: TestQueueingTooManyRequests (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/queueing        0.053s
> ?     gitlab.com/gitlab-org/gitlab-workhorse/internal/secret  [no test files]
> === RUN   TestWriter
> === RUN   TestWriter/inject
> === RUN   TestWriter/pass
> --- PASS: TestWriter (0.00s)
>     --- PASS: TestWriter/inject (0.00s)
>     --- PASS: TestWriter/pass (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata        0.037s
> === RUN   TestFailSetContentTypeAndDisposition
> --- PASS: TestFailSetContentTypeAndDisposition (0.00s)
> === RUN   TestSuccessSetContentTypeAndDispositionFeatureEnabled
> --- PASS: TestSuccessSetContentTypeAndDispositionFeatureEnabled (0.00s)
> === RUN   TestSetProperContentTypeAndDisposition
> === RUN   TestSetProperContentTypeAndDisposition/text_type
> === RUN   TestSetProperContentTypeAndDisposition/HTML_type
> === RUN   TestSetProperContentTypeAndDisposition/Javascript_type
> === RUN   TestSetProperContentTypeAndDisposition/Image_type
> === RUN   TestSetProperContentTypeAndDisposition/SVG_type
> === RUN   TestSetProperContentTypeAndDisposition/Partial_SVG_type
> === RUN   TestSetProperContentTypeAndDisposition/Application_type
> === RUN   
> TestSetProperContentTypeAndDisposition/Application_type_pdf_with_inline_disposition
> === RUN   TestSetProperContentTypeAndDisposition/Application_executable_type
> === RUN   TestSetProperContentTypeAndDisposition/Video_type
> === RUN   TestSetProperContentTypeAndDisposition/Audio_type
> === RUN   TestSetProperContentTypeAndDisposition/JSON_type
> === RUN   
> TestSetProperContentTypeAndDisposition/Forged_file_with_png_extension_but_SWF_content
> === RUN   TestSetProperContentTypeAndDisposition/BMPR_file
> === RUN   TestSetProperContentTypeAndDisposition/STL_file
> === RUN   TestSetProperContentTypeAndDisposition/RDoc_file
> === RUN   TestSetProperContentTypeAndDisposition/IPYNB_file
> === RUN   TestSetProperContentTypeAndDisposition/Sketch_file
> === RUN   
> TestSetProperContentTypeAndDisposition/PDF_file_with_non-ASCII_characters_in_filename
> --- PASS: TestSetProperContentTypeAndDisposition (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/text_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/HTML_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Javascript_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Image_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/SVG_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Partial_SVG_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Application_type (0.00s)
>     --- PASS: 
> TestSetProperContentTypeAndDisposition/Application_type_pdf_with_inline_disposition
>  (0.00s)
>     --- PASS: 
> TestSetProperContentTypeAndDisposition/Application_executable_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Video_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Audio_type (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/JSON_type (0.00s)
>     --- PASS: 
> TestSetProperContentTypeAndDisposition/Forged_file_with_png_extension_but_SWF_content
>  (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/BMPR_file (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/STL_file (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/RDoc_file (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/IPYNB_file (0.00s)
>     --- PASS: TestSetProperContentTypeAndDisposition/Sketch_file (0.00s)
>     --- PASS: 
> TestSetProperContentTypeAndDisposition/PDF_file_with_non-ASCII_characters_in_filename
>  (0.00s)
> === RUN   TestFailOverrideContentType
> --- PASS: TestFailOverrideContentType (0.00s)
> === RUN   TestSuccessOverrideContentDispositionFromInlineToAttachment
> --- PASS: TestSuccessOverrideContentDispositionFromInlineToAttachment (0.00s)
> === RUN   TestInlineContentDispositionForPdfFiles
> --- PASS: TestInlineContentDispositionForPdfFiles (0.00s)
> === RUN   TestFailOverrideContentDispositionFromAttachmentToInline
> --- PASS: TestFailOverrideContentDispositionFromAttachmentToInline (0.00s)
> === RUN   TestHeadersDelete
> --- PASS: TestHeadersDelete (0.00s)
> === RUN   TestWriteHeadersCalledOnce
> --- PASS: TestWriteHeadersCalledOnce (0.00s)
> PASS
> ok    
> gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata/contentprocessor     
>   0.065s
> === RUN   TestResponseWriter
> === RUN   TestResponseWriter/send_a_file
> time="2020-09-27T11:24:04Z" level=info msg="Send file" correlation_id= 
> file=testdata/sent-file.txt method=GET uri=
> === RUN   TestResponseWriter/pass_through_unaltered
> --- PASS: TestResponseWriter (0.00s)
>     --- PASS: TestResponseWriter/send_a_file (0.00s)
>     --- PASS: TestResponseWriter/pass_through_unaltered (0.00s)
> === RUN   TestAllowExistentContentHeaders
> time="2020-09-27T11:24:04Z" level=info msg="Send file" correlation_id= 
> file=../../testdata/forgedfile.png method=GET uri=
> --- PASS: TestAllowExistentContentHeaders (0.00s)
> === RUN   TestSuccessOverrideContentHeadersFeatureEnabled
> time="2020-09-27T11:24:04Z" level=info msg="Send file" correlation_id= 
> file=../../testdata/forgedfile.png method=GET uri=
> --- PASS: TestSuccessOverrideContentHeadersFeatureEnabled (0.00s)
> === RUN   TestSuccessOverrideContentHeadersRangeRequestFeatureEnabled
> time="2020-09-27T11:24:04Z" level=info msg="Send file" correlation_id= 
> file=../../testdata/forgedfile.png method=GET uri=
> --- PASS: TestSuccessOverrideContentHeadersRangeRequestFeatureEnabled (0.00s)
> === RUN   TestSuccessInlineWhitelistedTypesFeatureEnabled
> time="2020-09-27T11:24:04Z" level=info msg="Send file" correlation_id= 
> file=../../testdata/image.png method=GET uri=
> --- PASS: TestSuccessInlineWhitelistedTypesFeatureEnabled (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/sendfile        0.017s
> === RUN   TestDownloadingUsingSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/request url="http://127.0.0.1:38047/get/request/file";
> --- PASS: TestDownloadingUsingSendURL (0.00s)
> === RUN   TestDownloadingAChunkOfDataWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/request url="http://127.0.0.1:43279/get/request/file";
> --- PASS: TestDownloadingAChunkOfDataWithSendURL (0.00s)
> === RUN   TestAccessingAlreadyDownloadedFileWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/request url="http://127.0.0.1:42475/get/request/file";
> --- PASS: TestAccessingAlreadyDownloadedFileWithSendURL (0.00s)
> === RUN   TestAccessingRedirectWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/redirect url="http://127.0.0.1:33873/get/redirect/file";
> --- PASS: TestAccessingRedirectWithSendURL (0.00s)
> === RUN   TestAccessingAllowedRedirectWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/redirect url="http://127.0.0.1:43339/get/redirect/file";
> --- PASS: TestAccessingAllowedRedirectWithSendURL (0.00s)
> === RUN   TestAccessingAllowedRedirectWithChunkOfDataWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/redirect url="http://127.0.0.1:37699/get/redirect/file";
> --- PASS: TestAccessingAllowedRedirectWithChunkOfDataWithSendURL (0.00s)
> === RUN   TestOriginalCacheHeadersPreservedWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/redirect url="http://127.0.0.1:34093/get/redirect/file";
> --- PASS: TestOriginalCacheHeadersPreservedWithSendURL (0.00s)
> === RUN   TestDownloadingNonExistingFileUsingSendURL
> --- PASS: TestDownloadingNonExistingFileUsingSendURL (0.00s)
> === RUN   TestDownloadingNonExistingRemoteFileWithSendURL
> time="2020-09-27T11:24:04Z" level=info msg="SendURL: sending" correlation_id= 
> path=/get/file-not-existing 
> url="http://127.0.0.1:40459/get/file-not-existing/file";
> --- PASS: TestDownloadingNonExistingRemoteFileWithSendURL (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/sendurl 0.053s
> === RUN   TestIfNoDeployPageExist
> --- PASS: TestIfNoDeployPageExist (0.00s)
> === RUN   TestIfDeployPageExist
> --- PASS: TestIfDeployPageExist (0.00s)
> === RUN   TestIfErrorPageIsPresented
> --- PASS: TestIfErrorPageIsPresented (0.00s)
> === RUN   TestIfErrorPassedIfNoErrorPageIsFound
> --- PASS: TestIfErrorPassedIfNoErrorPageIsFound (0.00s)
> === RUN   TestIfErrorPageIsIgnoredInDevelopment
> --- PASS: TestIfErrorPageIsIgnoredInDevelopment (0.00s)
> === RUN   TestIfErrorPageIsIgnoredIfCustomError
> --- PASS: TestIfErrorPageIsIgnoredIfCustomError (0.00s)
> === RUN   TestErrorPageInterceptedByContentType
> --- PASS: TestErrorPageInterceptedByContentType (0.00s)
> === RUN   TestIfErrorPageIsPresentedJSON
> --- PASS: TestIfErrorPageIsPresentedJSON (0.00s)
> === RUN   TestIfErrorPageIsPresentedText
> --- PASS: TestIfErrorPageIsPresentedText (0.00s)
> === RUN   TestServingNonExistingFile
> --- PASS: TestServingNonExistingFile (0.00s)
> === RUN   TestServingDirectory
> --- PASS: TestServingDirectory (0.00s)
> === RUN   TestServingMalformedUri
> --- PASS: TestServingMalformedUri (0.00s)
> === RUN   TestExecutingHandlerWhenNoFileFound
> --- PASS: TestExecutingHandlerWhenNoFileFound (0.00s)
> === RUN   TestServingTheActualFile
> time="2020-09-27T11:24:04Z" level=info msg="Send static file" correlation_id= 
> encoding= file=/tmp/deploy298756707/file method=GET uri=
> --- PASS: TestServingTheActualFile (0.00s)
> === RUN   TestServingThePregzippedFile
> time="2020-09-27T11:24:04Z" level=info msg="Send static file" correlation_id= 
> encoding=gzip file=/tmp/deploy528223334/file method=GET uri=
> --- PASS: TestServingThePregzippedFile (0.00s)
> === RUN   TestServingThePregzippedFileWithoutEncoding
> time="2020-09-27T11:24:04Z" level=info msg="Send static file" correlation_id= 
> encoding= file=/tmp/deploy023897229/file method=GET uri=
> --- PASS: TestServingThePregzippedFileWithoutEncoding (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/staticpages     0.084s
> ?     gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper      [no 
> test files]
> === RUN   TestBodyUploader
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=19 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp remote_id= temp_file_prefix= use_s3_client=false
> --- PASS: TestBodyUploader (0.00s)
> === RUN   TestBodyUploaderCustomPreparer
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=19 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp remote_id= temp_file_prefix= use_s3_client=false
> --- PASS: TestBodyUploaderCustomPreparer (0.00s)
> === RUN   TestBodyUploaderCustomVerifier
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=19 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp remote_id= temp_file_prefix= use_s3_client=false
> --- PASS: TestBodyUploaderCustomVerifier (0.00s)
> === RUN   TestBodyUploaderAuthorizationFailure
> --- PASS: TestBodyUploaderAuthorizationFailure (0.00s)
> === RUN   TestBodyUploaderErrors
> === RUN   TestBodyUploaderErrors/Prepare_failure
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="BodyUploader: preparation failed: " method=POST 
> uri="http://example.com/upload";
> === RUN   TestBodyUploaderErrors/Verify_failure
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=0 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp remote_id= temp_file_prefix= use_s3_client=false
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="BodyUploader: verification failed: Verification failed" method=POST 
> uri="http://example.com/upload";
> --- PASS: TestBodyUploaderErrors (0.00s)
>     --- PASS: TestBodyUploaderErrors/Prepare_failure (0.00s)
>     --- PASS: TestBodyUploaderErrors/Verify_failure (0.00s)
> === RUN   TestSavedFileTracking
> --- PASS: TestSavedFileTracking (0.00s)
> === RUN   TestUploadTempPathRequirement
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="handleFileUploads: missing destination storage" method=GET uri=
> --- PASS: TestUploadTempPathRequirement (0.00s)
> === RUN   TestUploadHandlerForwardingRawData
> --- PASS: TestUploadHandlerForwardingRawData (0.00s)
> === RUN   TestUploadHandlerRewritingMultiPartData
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads648064547 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> --- PASS: TestUploadHandlerRewritingMultiPartData (0.10s)
> === RUN   TestUploadHandlerDetectingInjectedMultiPartData
> === RUN   TestUploadHandlerDetectingInjectedMultiPartData/injected_file.path
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads073070157 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="injected client parameter" method=PUT uri=
> === RUN   
> TestUploadHandlerDetectingInjectedMultiPartData/injected_file.remote_id
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads073070157 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="injected client parameter" method=PUT uri=
> === RUN   
> TestUploadHandlerDetectingInjectedMultiPartData/field_with_other_prefix
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads073070157 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> --- PASS: TestUploadHandlerDetectingInjectedMultiPartData (0.00s)
>     --- PASS: 
> TestUploadHandlerDetectingInjectedMultiPartData/injected_file.path (0.00s)
>     --- PASS: 
> TestUploadHandlerDetectingInjectedMultiPartData/injected_file.remote_id 
> (0.00s)
>     --- PASS: 
> TestUploadHandlerDetectingInjectedMultiPartData/field_with_other_prefix 
> (0.00s)
> === RUN   TestUploadProcessingField
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="handleFileUploads: extract files from multipart: process multipart 
> field: illegal field: token2" method=PUT uri=
> --- PASS: TestUploadProcessingField (0.00s)
> === RUN   TestUploadProcessingFile
> === RUN   TestUploadProcessingFile/FileStore_Upload
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads039902972 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> === RUN   TestUploadProcessingFile/ObjectStore_Upload
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads039902972 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> === RUN   TestUploadProcessingFile/ObjectStore_and_FileStore_Upload
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads039902972 remote_id= temp_file_prefix=my.file 
> use_s3_client=false
> --- PASS: TestUploadProcessingFile (0.00s)
>     --- PASS: TestUploadProcessingFile/FileStore_Upload (0.00s)
>     --- PASS: TestUploadProcessingFile/ObjectStore_Upload (0.00s)
>     --- PASS: TestUploadProcessingFile/ObjectStore_and_FileStore_Upload 
> (0.00s)
> === RUN   TestInvalidFileNames
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=4 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads535157232 remote_id= temp_file_prefix=foobar 
> use_s3_client=false
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="handleFileUploads: extract files from multipart: illegal filename: 
> \"foo/bar\"" method=POST uri=
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="handleFileUploads: extract files from multipart: illegal filename: 
> \"/../../foobar\"" method=POST uri=
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="handleFileUploads: extract files from multipart: illegal filename: 
> \".\"" method=POST uri=
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="handleFileUploads: extract files from multipart: illegal filename: 
> \"..\"" method=POST uri=
> --- PASS: TestInvalidFileNames (0.00s)
> === RUN   TestUploadHandlerRemovingExif
> time="2020-09-27T11:24:06Z" level=info msg="running exiftool to remove any 
> metadata" correlation_id= filename=test.jpg
> time="2020-09-27T11:24:06Z" level=info msg="saved file" copied_bytes=25399 
> correlation_id= is_local=true is_multipart=false is_remote=false 
> local_temp_path=/tmp/uploads154691746 remote_id= temp_file_prefix=test.jpg 
> use_s3_client=false
> --- PASS: TestUploadHandlerRemovingExif (0.22s)
> === RUN   TestUploadHandlerRemovingInvalidExif
> time="2020-09-27T11:24:06Z" level=info msg="running exiftool to remove any 
> metadata" correlation_id= filename=test.jpg
> time="2020-09-27T11:24:06Z" level=info msg="exiftool command failed" 
> command="[exiftool -all= --IPTC:all --XMP-iptcExt:all -tagsFromFile @ 
> -ResolutionUnit -XResolution -YResolution -YCbCrSubSampling -YCbCrPositioning 
> -BitsPerSample -ImageHeight -ImageWidth -ImageSize -Copyright 
> -CopyrightNotice -Orientation -]" correlation_id= error="exit status 1" 
> stderr="Warning: No writable tags set from -\nError: Writing of this type of 
> file is not supported - -\n"
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="error while removing EXIF" method=POST uri=
> --- PASS: TestUploadHandlerRemovingInvalidExif (0.16s)
> === RUN   TestPrepareWithS3Config
> --- PASS: TestPrepareWithS3Config (0.00s)
> === RUN   TestPrepareWithNoConfig
> --- PASS: TestPrepareWithNoConfig (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/upload  0.525s
> === RUN   TestIsExifFile
> === RUN   TestIsExifFile//full/path.jpg
> === RUN   TestIsExifFile/path.jpeg
> === RUN   TestIsExifFile/path.tiff
> === RUN   TestIsExifFile/path.JPG
> === RUN   TestIsExifFile/path.tar
> === RUN   TestIsExifFile/path
> --- PASS: TestIsExifFile (0.00s)
>     --- PASS: TestIsExifFile//full/path.jpg (0.00s)
>     --- PASS: TestIsExifFile/path.jpeg (0.00s)
>     --- PASS: TestIsExifFile/path.tiff (0.00s)
>     --- PASS: TestIsExifFile/path.JPG (0.00s)
>     --- PASS: TestIsExifFile/path.tar (0.00s)
>     --- PASS: TestIsExifFile/path (0.00s)
> === RUN   TestNewCleanerWithValidFile
> --- PASS: TestNewCleanerWithValidFile (0.35s)
> === RUN   TestNewCleanerWithInvalidFile
> time="2020-09-27T11:24:05Z" level=info msg="exiftool command failed" 
> command="[exiftool -all= --IPTC:all --XMP-iptcExt:all -tagsFromFile @ 
> -ResolutionUnit -XResolution -YResolution -YCbCrSubSampling -YCbCrPositioning 
> -BitsPerSample -ImageHeight -ImageWidth -ImageSize -Copyright 
> -CopyrightNotice -Orientation -]" correlation_id= error="exit status 1" 
> stderr="Warning: No writable tags set from -\nError: Writing of this type of 
> file is not supported - -\n"
> --- PASS: TestNewCleanerWithInvalidFile (0.25s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/upload/exif     0.616s
> === RUN   TestDevelopmentModeEnabled
> --- PASS: TestDevelopmentModeEnabled (0.00s)
> === RUN   TestDevelopmentModeDisabled
> --- PASS: TestDevelopmentModeDisabled (0.00s)
> === RUN   TestGzipEncoding
> --- PASS: TestGzipEncoding (0.00s)
> === RUN   TestNoEncoding
> --- PASS: TestNoEncoding (0.00s)
> === RUN   TestInvalidEncoding
> time="2020-09-27T11:24:06Z" level=error msg=error correlation_id= 
> error="contentEncodingHandler: unsupported content encoding: 
> application/unknown" method=POST uri=
> --- PASS: TestInvalidEncoding (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream        0.038s
> === RUN   TestMustParseAddress
> --- PASS: TestMustParseAddress (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream/roundtripper   
> 0.016s
> ?     gitlab.com/gitlab-org/gitlab-workhorse/internal/urlprefix       [no 
> test files]
> ?     gitlab.com/gitlab-org/gitlab-workhorse/internal/utils/svg       [no 
> test files]
> === RUN   TestExitCodeByError
> === RUN   TestExitCodeByError/when_error_has_been_recognized
> === RUN   TestExitCodeByError/when_error_is_an_unknown_one
> --- PASS: TestExitCodeByError (0.00s)
>     --- PASS: TestExitCodeByError/when_error_has_been_recognized (0.00s)
>     --- PASS: TestExitCodeByError/when_error_is_an_unknown_one (0.00s)
> === RUN   TestErrorLabels
> --- PASS: TestErrorLabels (0.00s)
> === RUN   TestOpenHTTPArchive
> --- PASS: TestOpenHTTPArchive (0.00s)
> === RUN   TestOpenHTTPArchiveNotSendingAcceptEncodingHeader
> --- PASS: TestOpenHTTPArchiveNotSendingAcceptEncodingHeader (0.00s)
> === RUN   TestGenerateZipMetadataFromFile
> --- PASS: TestGenerateZipMetadataFromFile (0.00s)
> === RUN   TestErrNotAZip
> --- PASS: TestErrNotAZip (0.00s)
> PASS
> ok    gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts    0.012s
> FAIL
> dh_auto_test: error: cd _build && go test -vet=off -v -p 4 
> gitlab.com/gitlab-org/gitlab-workhorse 
> gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-cat 
> gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata 
> gitlab.com/gitlab-org/gitlab-workhorse/cmd/gitlab-zip-metadata/limit 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/api 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/badgateway 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/builds 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/channel 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/config 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/filestore 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/git 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/gitaly 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/headers 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/helper 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/lfs 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/lsif_transformer/parser 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/objectstore/test 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/proxy 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/queueing 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/secret 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/senddata/contentprocessor 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/sendfile 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/sendurl 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/staticpages 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/testhelper 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upload 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upload/exif 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/upstream/roundtripper 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/urlprefix 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/utils/svg 
> gitlab.com/gitlab-org/gitlab-workhorse/internal/zipartifacts returned exit 
> code 1

The full build log is available from:
   
http://qa-logs.debian.net/2020/09/26/gitlab-workhorse_8.37.0+debian-1_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.

Reply via email to