[pkg-go] 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_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

Lucas Nussbaum lucas at debian.org
Sun Sep 27 19:51:59 BST 2020


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.



More information about the Pkg-go-maintainers mailing list