-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Description
Maintenance Task Description
Update the unit test workflows to use gotestsum instead of vanilla go test -v.
Gotestsum is a tool that runs unit tests and produces results in a more human-readable output.
It also supports rerunning failed tests, producing junit output, and other utilities.
As stated in the readme, several large projects use gotestsum.
Impact on the Project
One of the primary issues with the current unit test workflow is that failed tests are very difficult to locate in the output logs. The biggest gain from using gotestsum is that it prints out failures at the very end, making it immediately obvious what failed.
Additional Context (optional)
Sample output in various formats:
Default (Short)
$ gotestsum
∅ internal/schema
∅ internal/tlstest
✓ binder (6ms)
✓ log (8ms)
✓ addon/retry (506ms)
✓ middleware/basicauth (6ms)
✓ middleware/adaptor (7ms)
✓ middleware/compress (14ms)
✓ middleware/cors (7ms)
✓ internal/memory (1.105s)
✓ internal/storage/memory (1.111s)
✓ middleware/earlydata (9ms)
✓ middleware/encryptcookie (6ms)
✓ middleware/envvar (9ms)
✖ middleware/etag (8ms)
✓ middleware/expvar (8ms)
✓ middleware/favicon (7ms)
✓ middleware/filesystem (8ms)
✓ middleware/helmet (5ms)
✓ middleware/keyauth (8ms)
✓ middleware/csrf (1.259s)
✓ middleware/recover (4ms)
✓ middleware/redirect (5ms)
✓ middleware/requestid (4ms)
✓ middleware/logger (1.014s)
✓ middleware/cache (3.008s)
✓ middleware/rewrite (4ms)
✓ middleware/skip (5ms)
✓ middleware/timeout (285ms)
✓ middleware/pprof (4.046s)
✓ middleware/session (5.019s)
✓ middleware/idempotency (8.013s)
✓ middleware/limiter (9.008s)
✓ middleware/proxy (9.186s)
✓ . (13.423s)
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 15.853s
dots
$ gotestsum -f dots
[.][addon/retry][internal/memory][binder][internal/storage/memory]·[log]···············································································································································································································································································································································································································································································[middleware/adaptor]········[middleware/basicauth]·[middleware/cache]·[middleware/compress][middleware/cors]········································[middleware/csrf]·[middleware/earlydata]·[middleware/encryptcookie]····························[middleware/envvar]······[middleware/expvar]·[middleware/favicon]···[middleware/filesystem]·[middleware/helmet]··[middleware/idempotency]·[middleware/limiter]··[middleware/keyauth]·······························································[middleware/etag]✖················[middleware/logger][middleware/pprof][middleware/proxy]·[middleware/recover]·[middleware/redirect][middleware/requestid][middleware/rewrite]················································································[middleware/session]···········································[middleware/skip][middleware/timeout]·····
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 0.982s
dots-v2
$ gotestsum -f dots-v2
🖴 binder ·
internal/tlstest
internal/schema
🖴 middleware/adaptor ········
🖴 internal/memory ·
🖴 log ·············
🖴 addon/retry ·······
🖴 internal/storage/memory ··········
🖴 middleware/basicauth ··
🖴 middleware/cors ·········
🖴 middleware/compress ·········
🖴 middleware/envvar ······
🖴 middleware/earlydata ·····
🖴 middleware/csrf ·····················
🖴 middleware/encryptcookie ····
🖴 middleware/cache ······················
🖴 . ·····················································································································································································
·····················································································································································································
······································································
🖴 middleware/favicon ········
🖴 middleware/keyauth ···········
🖴 middleware/expvar ·····
🖴 middleware/idempotency ···
🖴 middleware/helmet ·······
🖴 middleware/limiter ··················
98ms middleware/etag ·····✖···········
🖴 middleware/filesystem ·····················
🖴 middleware/redirect ·············
🖴 middleware/pprof ······························
🖴 middleware/recover ···
🖴 middleware/rewrite ··
🖴 middleware/requestid ···
🖴 middleware/timeout ··
🖴 middleware/skip ···
🖴 middleware/logger ····················
🖴 middleware/proxy ····························
🖴 middleware/session ··························
770 tests, 1 failure in 1.200s
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 1.200s
pkgname (like short, but sorted alphabetically)
$ gotestsum -f pkgname
✓ binder (cached)
✓ internal/memory (cached)
∅ internal/tlstest
∅ internal/schema
✓ log (cached)
✓ addon/retry (cached)
✓ internal/storage/memory (cached)
✓ . (cached)
✓ middleware/basicauth (cached)
✓ middleware/adaptor (cached)
✓ middleware/cache (cached)
✓ middleware/compress (cached)
✓ middleware/cors (cached)
✓ middleware/csrf (cached)
✓ middleware/earlydata (cached)
✓ middleware/encryptcookie (cached)
✓ middleware/envvar (cached)
✓ middleware/helmet (cached)
✓ middleware/idempotency (cached)
✓ middleware/keyauth (cached)
✓ middleware/favicon (cached)
✓ middleware/expvar (cached)
✓ middleware/limiter (cached)
✓ middleware/filesystem (cached)
✖ middleware/etag (9ms)
✓ middleware/rewrite (cached)
✓ middleware/recover (cached)
✓ middleware/redirect (cached)
✓ middleware/requestid (cached)
✓ middleware/pprof (cached)
✓ middleware/session (cached)
✓ middleware/logger (cached)
✓ middleware/proxy (cached)
✓ middleware/skip (cached)
✓ middleware/timeout (cached)
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 0.970s
pkgname-and-test-fails
$ gotestsum -f pkgname-and-test-fails
∅ internal/schema
✓ binder (cached)
∅ internal/tlstest
✓ internal/memory (cached)
✓ log (cached)
✓ addon/retry (cached)
✓ internal/storage/memory (cached)
✓ . (cached)
✓ middleware/adaptor (cached)
✓ middleware/basicauth (cached)
✓ middleware/cache (cached)
✓ middleware/cors (cached)
✓ middleware/compress (cached)
✓ middleware/encryptcookie (cached)
✓ middleware/csrf (cached)
✓ middleware/earlydata (cached)
✓ middleware/envvar (cached)
✓ middleware/helmet (cached)
✓ middleware/expvar (cached)
✓ middleware/keyauth (cached)
✓ middleware/idempotency (cached)
✓ middleware/limiter (cached)
✓ middleware/favicon (cached)
✓ middleware/filesystem (cached)
=== RUN Test_ETag_Next
=== PAUSE Test_ETag_Next
=== CONT Test_ETag_Next
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
--- FAIL: Test_ETag_Next (0.00s)
✖ middleware/etag (11ms)
✓ middleware/requestid (cached)
✓ middleware/redirect (cached)
✓ middleware/recover (cached)
✓ middleware/session (cached)
✓ middleware/rewrite (cached)
✓ middleware/pprof (cached)
✓ middleware/logger (cached)
✓ middleware/proxy (cached)
✓ middleware/skip (cached)
✓ middleware/timeout (cached)
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 0.910s
testname
$ gotestsum -f testname
PASS binder.Test_EqualFieldType (0.00s)
PASS binder (cached)
PASS Test_App_CustomConstraint (0.00s)
EMPTY internal/schema
PASS internal/memory.Test_Memory (1.10s)
PASS internal/memory (cached)
PASS internal/storage/memory.Test_Storage_Memory_Get_Expired (0.00s)
EMPTY internal/tlstest
PASS addon/retry.TestExponentialBackoff_Retry/With_default_values_-_successful (0.00s)
PASS addon/retry.TestExponentialBackoff_Next/With_default_values (0.00s)
PASS addon/retry.TestExponentialBackoff_Retry/Successful_function (0.00s)
PASS addon/retry.TestExponentialBackoff_Next/Custom_values (0.00s)
PASS addon/retry.TestExponentialBackoff_Next (0.00s)
PASS addon/retry.TestExponentialBackoff_Retry/Unsuccessful_function (0.50s)
PASS log.Test_DefaultLogger (0.00s)
PASS addon/retry.TestExponentialBackoff_Retry (0.00s)
PASS log.Test_DefaultFormatLogger (0.00s)
PASS addon/retry (cached)
PASS log.Test_CtxLogger (0.00s)
PASS log.Test_LogfKeyAndValues/test_logf_with_debug_level_and_key-values (0.00s)
PASS log.Test_LogfKeyAndValues/test_logf_with_info_level_and_key-values (0.00s)
PASS log.Test_LogfKeyAndValues/test_logf_with_warn_level_and_key-values (0.00s)
PASS log.Test_LogfKeyAndValues/test_logf_with_format_and_key-values (0.00s)
PASS log.Test_LogfKeyAndValues/test_logf_with_one_key (0.00s)
PASS log.Test_LogfKeyAndValues (0.00s)
PASS log.Test_WithContextCaller (0.00s)
PASS log.Test_SetLevel (0.00s)
PASS log.Test_DefaultSystemLogger (0.00s)
PASS log.Test_SetLogger (0.00s)
PASS log (cached)
PASS Test_App_Static_Index_Default (0.01s)
PASS Test_App_Static_Direct (0.00s)
PASS Test_App_Static_MaxAge (0.00s)
PASS Test_App_Static_Custom_CacheControl (0.00s)
PASS Test_App_Static_Download (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Set (0.00s)
PASS Test_App_Static_Group (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Conn (0.00s)
PASS Test_App_Static_Wildcard (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Close (0.00s)
PASS Test_App_Static_Prefix_Wildcard (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Reset (0.00s)
PASS Test_App_Static_Prefix (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Delete (0.00s)
PASS Test_App_Static_Trailing_Slash (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Get_NotExist (0.00s)
PASS Test_App_Static_Next/app.Static_is_skipped:_invoking_Get_handler (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Get (0.00s)
PASS Test_App_Static_Next/app.Static_is_not_skipped:_serving_index.html (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Set_Override (0.00s)
PASS Test_App_Static_Next (0.00s)
PASS internal/storage/memory.Test_Storage_Memory_Set_Expiration (1.10s)
PASS Test_App_Mixed_Routes_WithSameLen (0.00s)
PASS internal/storage/memory (cached)
PASS Test_App_Init_Error_View (0.00s)
PASS Test_App_Error_In_Fasthttp_Server (0.00s)
PASS Test_Middleware_Route_Naming_With_Use (0.00s)
PASS Test_Route_Naming_Issue_2671_2685 (0.00s)
PASS Test_Bind_Query_WithSetParserDecoder (0.00s)
PASS Test_Bind_Header_WithSetParserDecoder (0.00s)
PASS Test_Bind_Body_WithSetParserDecoder (0.00s)
PASS Test_Bind_Cookie_WithSetParserDecoder (0.00s)
PASS Test_Bind_CustomBinder (0.00s)
PASS Test_Bind_Must (0.00s)
PASS Test_Bind_StructValidator (0.00s)
PASS Test_Ctx_Scheme (0.00s)
PASS Test_Ctx_extractIPsFromHeader (0.00s)
PASS Test_Ctx_extractIPsFromHeader_EnableValidateIp (0.00s)
PASS Test_Utils_ParamsMatch (0.00s)
PASS Test_Utils_AcceptsOfferType (0.00s)
PASS Test_Utils_GetSplicedStrList/normal_case (0.00s)
PASS Test_Utils_GetSplicedStrList/no_matter_the_value (0.00s)
PASS Test_Utils_GetSplicedStrList/headerValue_is_empty (0.00s)
PASS Test_Utils_GetSplicedStrList/has_a_comma_without_element (0.00s)
PASS Test_Utils_GetSplicedStrList (0.00s)
PASS Test_Hook_OnHook (0.01s)
PASS Test_Listen (1.00s)
PASS Test_Listen_Graceful_Shutdown (0.60s)
PASS Test_Listen_Prefork (0.02s)
PASS Test_Listen_TLS (1.00s)
PASS Test_Listen_TLS_Prefork (0.01s)
PASS Test_Listen_MutualTLS (1.00s)
PASS Test_Listen_MutualTLS_Prefork (0.01s)
PASS Test_Listener (0.50s)
PASS Test_Listen_TLSConfigFunc (1.00s)
PASS Test_Listen_ListenerAddrFunc (1.00s)
PASS Test_Listen_BeforeServeFunc (0.00s)
PASS Test_Listen_ListenerNetwork (2.00s)
PASS Test_Listen_Master_Process_Show_Startup_Message (0.00s)
PASS Test_Listen_Master_Process_Show_Startup_MessageWithAppName (0.00s)
PASS Test_Listen_Master_Process_Show_Startup_MessageWithAppNameNonAscii (0.00s)
PASS Test_Listen_Master_Process_Show_Startup_MessageWithDisabledPreforkAndCustomEndpoint (0.00s)
PASS Test_Listen_Print_Route (0.00s)
PASS Test_Listen_Print_Route_With_Group (0.00s)
PASS Test_Mount_Route_Names (0.00s)
PASS Test_App_Prefork_Child_Process (2.10s)
PASS Test_App_Prefork_Master_Process (0.00s)
PASS Test_App_Prefork_Child_Process_Never_Show_Startup_Message (0.00s)
PASS Test_Router_NotFound (0.00s)
PASS Test_Router_NotFound_HTML_Inject (0.00s)
PASS Test_App_MethodNotAllowed (0.00s)
PASS Test_Ctx_SendFile_404 (0.00s)
PASS Test_Ctx_SendFile (0.00s)
PASS Test_Ctx_Download (0.00s)
PASS Test_Ctx_ClearCookie (0.00s)
PASS Test_Ctx_Subdomains (0.00s)
PASS Test_Ctx_Stale (0.00s)
PASS Test_Ctx_Secure (0.00s)
PASS Test_Ctx_SaveFileToStorage (0.00s)
PASS Test_Ctx_SaveFile (0.01s)
PASS Test_Ctx_RouteNormalized (0.00s)
PASS Test_Ctx_Route (0.00s)
PASS Test_Ctx_Range (0.00s)
PASS Test_Ctx_QueryWithoutGenericDataType (0.00s)
PASS Test_Ctx_QueryBytes (0.00s)
PASS Test_Ctx_QueryString (0.00s)
PASS Test_Ctx_QueryBool (0.00s)
PASS Test_Ctx_QueryFloat (0.00s)
PASS Test_Ctx_QueryBoundaryUnsignedInt (0.00s)
PASS Test_Ctx_QueryUnsignedInt (0.00s)
PASS Test_Ctx_QueryBoundarySignedInt (0.00s)
PASS Test_Ctx_QuerySignedInt (0.00s)
PASS Test_Ctx_Query (0.00s)
PASS Test_Ctx_Scheme_UnTrustedProxy (0.00s)
PASS Test_Ctx_Scheme_UntrustedProxyRange (0.00s)
PASS Test_Ctx_Scheme_TrustedProxyRange (0.00s)
PASS Test_Ctx_Scheme_TrustedProxy (0.00s)
PASS Test_Ctx_Protocol (0.00s)
PASS Test_Ctx_Path (0.00s)
PASS Test_Ctx_Params_Case_Sensitive (0.00s)
PASS Test_Ctx_Params (0.00s)
PASS Test_Ctx_OriginalURL (0.00s)
PASS Test_Ctx_MultipartForm (0.00s)
PASS Test_Ctx_InvalidMethod (0.00s)
PASS Test_Ctx_ClientHelloInfo (0.00s)
PASS Test_Ctx_Method (0.00s)
PASS Test_Ctx_Locals_GenericCustomStruct (0.00s)
PASS Test_Ctx_Locals_Generic (0.00s)
PASS Test_Ctx_Locals (0.00s)
PASS Test_Ctx_Is (0.00s)
PASS Test_Ctx_IPs_With_IP_Validation (0.00s)
PASS Test_Ctx_IPs (0.00s)
PASS Test_Ctx_IP_TrustedProxy (0.00s)
PASS Test_Ctx_IP_UntrustedProxy (0.00s)
PASS Test_Ctx_IP_ProxyHeader_With_IP_Validation (0.00s)
PASS Test_Ctx_IP_ProxyHeader (0.00s)
PASS Test_Ctx_IP (0.00s)
PASS Test_Ctx_PortInHandler (0.00s)
PASS Test_Ctx_Port (0.00s)
PASS Test_Ctx_Hostname_UntrustedProxyRange (0.00s)
PASS Test_Ctx_Hostname_TrustedProxyRange (0.00s)
PASS Test_Ctx_Hostname_TrustedProxy_Multiple (0.00s)
PASS Test_Ctx_Hostname_TrustedProxy (0.00s)
PASS Test_Ctx_Hostname (0.00s)
PASS Test_Ctx_IsProxyTrusted (0.00s)
PASS Test_Ctx_Host_UntrustedProxyRange (0.00s)
PASS Test_Ctx_Host_TrustedProxyRange (0.00s)
PASS Test_Ctx_Host_TrustedProxy (0.00s)
PASS Test_Ctx_Host_UntrustedProxy (0.00s)
PASS Test_Ctx_Host (0.00s)
PASS Test_Ctx_Get (0.00s)
PASS Test_Ctx_Fresh (0.00s)
PASS Test_Ctx_FormValue (0.00s)
PASS Test_Ctx_AutoFormat_Struct (0.00s)
PASS Test_Ctx_AutoFormat (0.00s)
PASS Test_Ctx_Format (0.00s)
PASS Test_Ctx_Cookies (0.00s)
PASS Test_Ctx_Cookie (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_1 (0.00s)
PASS Test_Ctx_SetUserContext (0.00s)
PASS Test_Ctx_UserContext/Nil_Context (0.00s)
PASS Test_Ctx_Context (0.00s)
PASS Test_Ctx_Body_With_Compression_Immutable/gzip (0.00s)
PASS Test_Ctx_Body_With_Compression/gzip (0.00s)
PASS Test_Ctx_Body_Immutable (0.00s)
PASS Test_Ctx_Body (0.00s)
PASS Test_Ctx_BaseURL (0.00s)
PASS Test_Ctx_Attachment (0.00s)
PASS Test_Ctx_Append (0.00s)
PASS Test_Ctx_App (0.00s)
PASS Test_Ctx_AcceptsLanguages (0.00s)
PASS Test_Ctx_AcceptsEncodings (0.00s)
PASS Test_Ctx_AcceptsCharsets (0.00s)
PASS Test_Ctx_Accepts_Wildcard (0.00s)
PASS Test_Ctx_Accepts_EmptyAccept (0.00s)
PASS Test_Ctx_CustomCtx (0.00s)
PASS Test_Ctx_Accepts (0.00s)
PASS Test_Client_Agent_Parse (0.00s)
PASS Test_Ctx_FormFile (0.02s)
PASS Test_Client_Agent_SendFile_Error (0.00s)
PASS Test_Client_Agent_Multipart_Invalid_Boundary (0.00s)
PASS Test_Client_Agent_Multipart_Random_Boundary (0.00s)
PASS Test_Client_Agent_Struct/success (0.02s)
PASS Test_Client_Agent_MaxRedirectsCount/success (0.02s)
PASS Test_Client_Agent_Reuse (0.00s)
PASS Test_Client_Debug (0.00s)
PASS Test_Client_Agent_XML_Error (0.00s)
PASS Test_Client_Agent_MultipartForm_Errors (0.00s)
PASS Test_Client_Agent_Json_Error (0.00s)
PASS Test_Client_Agent_Form (0.00s)
PASS Test_Client_Agent_XML (0.00s)
PASS Test_Client_Agent_MultipartForm (0.00s)
PASS Test_Client_Agent_RetryIf (0.00s)
PASS Test_Client_Agent_MultipartForm_SendFiles (0.00s)
PASS Test_Client_Agent_Json (0.00s)
PASS Test_Client_Agent_BodyStream (0.00s)
PASS Test_Client_Agent_Body (0.00s)
PASS Test_Client_Agent_BodyString (0.00s)
PASS Test_Client_Agent_BasicAuth (0.00s)
PASS Test_Client_Agent_QueryString (0.00s)
PASS Test_Client_Agent_Host (0.00s)
PASS Test_Client_Agent_ContentType (0.00s)
PASS Test_Client_Agent_Referer (0.00s)
PASS Test_Client_Agent_Cookie (0.00s)
PASS Test_Client_Agent_Custom_Response (0.00s)
PASS Test_Client_Agent_Connection_Close (0.00s)
PASS Test_Client_Agent_UserAgent (0.00s)
PASS Test_Client_Agent_Set_Or_Add_Headers (0.00s)
PASS Test_Client_Patch (0.01s)
PASS Test_Client_Put (0.01s)
PASS Test_Client_Delete (0.01s)
PASS Test_Bind_RepeatParserWithSameStruct (0.00s)
PASS Test_Bind_Cookie_Schema (0.00s)
PASS Test_Bind_Cookie_Map (0.00s)
PASS Test_Bind_Cookie (0.00s)
PASS Test_Bind_URI_Map (0.00s)
PASS Test_Bind_URI (0.00s)
PASS Test_Bind_Body (0.00s)
PASS Test_Bind_RespHeader_Map (0.00s)
PASS Test_Bind_RespHeader (0.00s)
PASS Test_Bind_Header_Schema (0.00s)
PASS Test_Bind_Header_Map (0.00s)
PASS Test_Bind_Header (0.00s)
PASS Test_Bind_Query_Schema (0.00s)
PASS Test_Bind_Query_Map (0.00s)
PASS Test_Bind_Query (0.00s)
PASS TestApp_GetRoutes (0.00s)
PASS Test_App_AddCustomRequestMethod (0.00s)
PASS Test_App_SetTLSHandler (0.00s)
PASS Test_App_Test_no_timeout_infinitely (0.00s)
PASS Test_App_DisablePreParseMultipartForm (0.00s)
PASS Test_App_ReadBodyStream (0.00s)
PASS Test_Client_Post (0.01s)
PASS Test_Client_Head (0.01s)
PASS Test_App_Server (0.00s)
PASS Test_Client_Get (0.00s)
PASS Test_App_HandlersCount (0.00s)
PASS Test_App_Stack (0.00s)
PASS Test_App_Handler (0.00s)
PASS Test_Test_DumpError (0.00s)
PASS Test_Client_Invalid_URL (0.00s)
PASS Test_NewError (0.00s)
PASS Test_App_Next_Method (0.00s)
PASS Test_App_Deep_Group (0.00s)
PASS Test_App_Route (0.00s)
PASS Test_App_Group (0.00s)
PASS Test_App_Group_Invalid (0.00s)
PASS Test_Test_Timeout (0.04s)
PASS Test_Client_Agent_Timeout (0.05s)
PASS Test_App_Config (0.00s)
PASS Test_App_New (0.00s)
PASS Test_App_Route_Naming (0.00s)
PASS Test_App_Methods (0.00s)
PASS Test_App_Order (0.00s)
PASS Test_App_Chaining (0.00s)
PASS Test_App_Use_Params_Group (0.00s)
PASS Test_App_GETOnly (0.00s)
PASS Test_App_Add_Method_Test (0.00s)
PASS Test_App_Use_StrictRouting (0.00s)
PASS Test_App_Use_MultiplePrefix (0.00s)
PASS Test_App_Not_Use_StrictRouting (0.00s)
PASS Test_App_Use_CaseSensitive (0.00s)
PASS Test_App_Use_UnescapedPath (0.00s)
PASS Test_App_Use_Params (0.00s)
PASS Test_App_Nested_Params (0.00s)
PASS Test_App_serverErrorHandler_Network_Error (0.00s)
PASS Test_App_serverErrorHandler_Internal_Error (0.00s)
PASS Test_App_ErrorHandler_RouteStack (0.00s)
PASS Test_App_ErrorHandler_HandlerStack (0.00s)
PASS Test_App_ErrorHandler_Custom (0.00s)
PASS Test_App_Errors (0.00s)
PASS Test_App_ServerErrorHandler_SmallReadBuffer (0.00s)
PASS Test_App_Custom_Middleware_404_Should_Not_SetMethodNotAllowed (0.00s)
PASS Test_Client_Agent_InsecureSkipVerify (0.05s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_9 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_8 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_7 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_6 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_5 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_4 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_3 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_2 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests/request_10 (0.00s)
PASS Test_Ctx_UserContext_Multiple_Requests (0.00s)
PASS Test_Ctx_UserContext/ValueContext (0.00s)
PASS Test_Ctx_UserContext (0.00s)
PASS Test_Ctx_Body_With_Compression_Immutable/invalid_deflate (0.00s)
PASS Test_Ctx_Body_With_Compression_Immutable/unsupported_encoding (0.00s)
PASS Test_Ctx_Body_With_Compression_Immutable/gzip_then_unsupported (0.00s)
PASS Test_Ctx_Body_With_Compression_Immutable (0.00s)
PASS Test_Ctx_Body_With_Compression/invalid_deflate (0.00s)
PASS Test_Ctx_Body_With_Compression/unsupported_encoding (0.00s)
PASS Test_Ctx_Body_With_Compression/gzip_then_unsupported (0.00s)
PASS Test_Ctx_Body_With_Compression (0.00s)
PASS Test_Client_Agent_Struct/nil_jsonDecoder (0.00s)
PASS Test_Client_Agent_Struct/pre_error (0.00s)
PASS Test_Client_Agent_Struct/error (0.00s)
PASS Test_Client_Agent_Struct (0.00s)
PASS Test_Client_Agent_MaxRedirectsCount/error (0.00s)
PASS Test_Client_Agent_MaxRedirectsCount (0.00s)
PASS Test_Route_Static_HasPrefix (0.00s)
PASS Test_Client_Agent_Dest/enough_dest (0.00s)
PASS Test_Client_Agent_Dest/small_dest (0.00s)
PASS Test_Client_Agent_Dest (0.00s)
PASS Test_Route_Static_Root (0.00s)
PASS Test_Client_UserAgent/default (0.00s)
PASS Test_Router_Handler_Catch_Error (0.00s)
PASS Test_App_New_Test_Parallel/Test_App_New_Test_Parallel_1 (0.00s)
PASS Test_App_New_Test_Parallel/Test_App_New_Test_Parallel_2 (0.00s)
PASS Test_App_New_Test_Parallel (0.00s)
PASS Test_Ensure_Router_Interface_Implementation (0.00s)
PASS Test_Router_Register_Missing_Handler (0.00s)
PASS Test_Route_Match_Middleware_Root (0.00s)
PASS Test_Route_Match_Middleware_HasPrefix (0.00s)
PASS Test_Route_Match_WithEscapeChar (0.00s)
PASS Test_Route_Match_UnescapedPath (0.00s)
PASS Test_Route_Match_Middleware (0.00s)
PASS Test_Route_Match_Parser (0.00s)
PASS Test_Route_Match_Root (0.00s)
PASS Test_Route_Match_Star (0.00s)
PASS Test_Route_Match_SameLength (0.00s)
PASS Test_Client_UserAgent/custom (0.02s)
PASS Test_Client_UserAgent (0.00s)
PASS Test_Redirect_setFlash (0.00s)
PASS Test_Redirect_Route_WithOldInput (0.00s)
PASS Test_Redirect_Route_WithFlashMessages (0.00s)
PASS Test_Redirect_Back_WithReferer (0.00s)
PASS Test_Redirect_Back (0.00s)
PASS Test_Redirect_Route_WithGreedyParameters (0.00s)
PASS Test_Redirect_Route_WithOptionalParamsWithoutValue (0.00s)
PASS Test_Redirect_Route_WithOptionalParams (0.00s)
PASS Test_Redirect_Route_WithParams_WithQueries (0.00s)
PASS Test_Redirect_Route_WithParams (0.00s)
PASS Test_Redirect_To (0.00s)
PASS Test_Utils_RemoveEscapeChar (0.00s)
PASS Test_Utils_GetTrimmedParam (0.00s)
PASS Test_RoutePatternMatch (0.00s)
PASS Test_Path_matchParams (0.00s)
PASS Test_Path_parseRoute (0.00s)
PASS Test_Ctx_Render_MountGroup (0.00s)
PASS Test_Ctx_Render_Mount_ParentOrSubHasViews (0.00s)
PASS Test_Ctx_Render_Mount (0.00s)
PASS Test_App_UseMountedErrorHandlerForBestPrefixMatch (0.00s)
PASS Test_App_UseMountedErrorHandlerRootLevel (0.00s)
PASS Test_App_UseMountedErrorHandler (0.00s)
PASS Test_App_UseParentErrorHandler (0.00s)
PASS Test_App_Group_Mount (0.00s)
PASS Test_App_ErrorHandler_GroupMountRootLevel (0.00s)
PASS Test_App_ErrorHandler_GroupMount (0.00s)
PASS Test_App_MountPath (0.00s)
PASS Test_App_Mount_RoutePositions (0.00s)
PASS Test_App_Mount_Express_Behavior (0.00s)
PASS Test_App_Mount_Nested (0.00s)
PASS Test_App_Mount_RootPath_Nested (0.00s)
PASS Test_App_Mount (0.00s)
PASS Test_Redirect_Request (0.03s)
PASS Test_Hook_OnMount (0.00s)
PASS Test_Hook_OnListenPrefork (0.00s)
PASS Test_App_ReadTimeout (0.55s)
PASS Test_Hook_OnShutdown (0.00s)
PASS Test_Hook_OnGroupName_Error (0.00s)
PASS Test_Hook_OnGroupName (0.00s)
PASS Test_Hook_OnGroup_Mount (0.00s)
PASS Test_Hook_OnGroup (0.00s)
PASS Test_Hook_OnName_Error (0.00s)
PASS Test_Hook_OnName (0.00s)
PASS Test_Hook_OnRoute_Mount (0.00s)
PASS Test_Hook_OnRoute (0.00s)
PASS Test_Utils_IsNoCache (0.00s)
PASS Test_Utils_TestConn_Deadline (0.00s)
PASS Test_Utils_Parse_Address (0.00s)
PASS Test_Utils_getGroupPath (0.00s)
PASS Test_Utils_UniqueRouteStack (0.00s)
PASS Test_Utils_SortAcceptedTypes (0.00s)
PASS Test_Utils_GetOffer (0.00s)
PASS TestUnsupportedValeError (0.00s)
PASS TestUnsupportedTypeError (0.00s)
PASS TestUnmarshalTypeError (0.00s)
PASS TestSyntaxError (0.00s)
PASS TestMarshalerError (0.00s)
PASS TestInvalidUnmarshalError (0.00s)
PASS TestMultiError (0.00s)
PASS TestEmptyFieldError (0.00s)
PASS TestUnknownKeyError (0.00s)
PASS TestConversionError (0.00s)
PASS Test_Ctx_GetReqHeaders (0.00s)
PASS Test_Ctx_GetRespHeaders (0.00s)
PASS Test_Ctx_IsFromLocal_RemoteAddr (0.00s)
PASS Test_Ctx_IsFromLocal_X_Forwarded (0.00s)
PASS TestCtx_ParamsInt (0.00s)
PASS Test_Ctx_String (0.00s)
PASS Test_Ctx_BodyStreamWriter (0.00s)
PASS Test_Ctx_Queries (0.00s)
PASS Test_Ctx_XHR (0.00s)
PASS Test_Ctx_WriteString (0.00s)
PASS Test_Ctx_Writef (0.00s)
PASS Test_Ctx_Write (0.00s)
PASS Test_Ctx_Vary (0.00s)
PASS Test_Ctx_Type (0.00s)
PASS Test_Ctx_Status (0.00s)
PASS Test_Ctx_Set_Splitter (0.00s)
PASS Test_Ctx_Set (0.00s)
PASS Test_Ctx_SendStream (0.00s)
PASS Test_Ctx_SendString (0.00s)
PASS Test_Ctx_SendStatus (0.00s)
PASS Test_Ctx_Send (0.00s)
PASS Test_Ctx_Render_Go_Template (0.00s)
PASS Test_Ctx_Render_Engine_Error (0.00s)
PASS Test_Ctx_Get_Location_From_Route_name_Optional_greedy_one_param (0.00s)
PASS Test_Ctx_Get_Location_From_Route_name_Optional_greedy (0.00s)
PASS Test_Ctx_Render_Engine_With_View_Layout (0.00s)
PASS Test_Ctx_Render_Engine (0.00s)
PASS Test_Ctx_RestartRoutingWithChangedPathAndCatchAll (0.00s)
PASS Test_Ctx_RestartRoutingWithChangedPath (0.00s)
PASS Test_Ctx_RestartRouting (0.00s)
PASS Test_Ctx_RenderWithLocalsAndBinding (0.00s)
PASS Test_Ctx_RenderWithBindVarsLocals (0.00s)
PASS Test_Ctx_RenderWithOverwrittenBind (0.00s)
PASS Test_Ctx_RenderWithBindVars (0.00s)
PASS Test_Ctx_RenderWithoutLocals (0.00s)
PASS Test_Ctx_Render (0.00s)
PASS Test_Ctx_Next_Error (0.00s)
PASS Test_Ctx_Next (0.00s)
PASS Test_Ctx_Location (0.00s)
PASS Test_Ctx_Links (0.00s)
PASS Test_Ctx_SendFile_RestoreOriginalURL (0.00s)
PASS Test_Client_Unsupported_Protocol (0.00s)
PASS Test_App_Shutdown/success (0.00s)
PASS Test_App_Shutdown/no_server (0.00s)
PASS Test_App_Shutdown (0.00s)
PASS Test_Ctx_Get_Location_From_Route_name/case_insensitive (0.00s)
PASS Test_Ctx_RenderWithLocals/EmptyBind (0.00s)
PASS Test_Ctx_Get_Location_From_Route_name/case_sensitive (0.00s)
PASS Test_Ctx_Get_Location_From_Route_name (0.00s)
PASS Test_Ctx_XML/custom_xml_encoder (0.00s)
PASS Test_Ctx_XML (0.00s)
PASS Test_Ctx_RenderWithLocals/NilBind (0.00s)
PASS Test_Ctx_RenderWithLocals (0.00s)
PASS Test_Ctx_JSONP/custom_json_encoder (0.00s)
PASS Test_Ctx_JSONP (0.00s)
PASS Test_Ctx_JSON/custom_json_encoder (0.00s)
PASS Test_Ctx_JSON (0.00s)
PASS Test_Ctx_SendFile_Immutable//relativeWithDot (0.00s)
PASS Test_Ctx_SendFile_Immutable//absoluteOS (0.00s)
PASS Test_Ctx_SendFile_Immutable//absolute (0.00s)
PASS Test_Ctx_SendFile_Immutable//relativeOS (0.00s)
PASS Test_Ctx_SendFile_Immutable//relative (0.00s)
PASS Test_Ctx_SendFile_Immutable//relativeOSWithDot (0.00s)
PASS Test_Ctx_SendFile_Immutable (0.00s)
PASS Test_App_BadRequest (0.56s)
PASS Test_App_Listener_TLS_Listener (0.52s)
PASS Test_App_SmallReadBuffer (0.59s)
PASS Test_Hook_OnListen (1.02s)
PASS Test_Client_Agent_TLS (1.71s)
PASS Test_App_ShutdownWithContext (3.01s)
PASS Test_App_ShutdownWithTimeout (3.02s)
PASS FuzzUtilsGetOffer/seed#0 (0.00s)
PASS FuzzUtilsGetOffer/seed#1 (0.00s)
PASS FuzzUtilsGetOffer/seed#2 (0.00s)
PASS FuzzUtilsGetOffer/seed#3 (0.00s)
PASS FuzzUtilsGetOffer (0.00s)
PASS . (cached)
PASS middleware/adaptor.Test_HTTPHandler (0.00s)
PASS middleware/adaptor.Test_HTTPMiddleware (0.00s)
PASS middleware/adaptor.Test_FiberHandler (0.00s)
PASS middleware/adaptor.Test_FiberApp (0.00s)
PASS middleware/adaptor.Test_FiberHandlerDefaultPort (0.00s)
PASS middleware/adaptor.Test_FiberAppDefaultPort (0.00s)
PASS middleware/adaptor.Test_FiberHandler_RequestNilBody (0.00s)
PASS middleware/adaptor.Test_ConvertRequest (0.00s)
PASS middleware/adaptor (cached)
PASS middleware/cors.Test_CORS_Defaults (0.00s)
PASS middleware/cors.Test_CORS_AllowOriginsAndAllowOriginsFunc (0.00s)
PASS middleware/cors.Test_CORS_Wildcard (0.00s)
PASS middleware/cors.Test_CORS_Subdomain (0.00s)
PASS middleware/cors.Test_CORS_Negative_MaxAge (0.00s)
PASS middleware/compress.Test_Compress_Next (0.00s)
PASS middleware/cors.Test_CORS_AllowOriginsFunc (0.00s)
PASS middleware/compress.Test_Compress_Next_Error (0.00s)
PASS middleware/cors.Test_CORS_Empty_Config (0.00s)
PASS middleware/cors.Test_CORS_AllowOriginScheme (0.00s)
PASS middleware/cors.Test_CORS_Next (0.00s)
PASS middleware/cors (cached)
PASS middleware/cache.TestMarshalUnmarshalitem (0.00s)
PASS middleware/cache.Test_Cache_CacheControl (0.00s)
PASS middleware/cache.Test_Cache_CustomNext (0.00s)
PASS middleware/cache.Test_Cache_WithHead (0.00s)
PASS middleware/cache.Test_Cache_Post (0.00s)
PASS middleware/cache.Test_Cache_Get (0.00s)
PASS middleware/cache.Test_Cache_MaxBytesSizes (0.00s)
PASS middleware/cache.Test_Cache_WithNoStoreRequestDirective (0.00s)
PASS middleware/cache.Test_Cache_MaxBytesOrder (0.00s)
PASS middleware/cache.Test_Cache_WithHeadThenGet (0.00s)
PASS middleware/cache.Test_CustomCacheHeader (0.00s)
PASS middleware/cache.Test_AdditionalE2EResponseHeaders (0.00s)
PASS middleware/cache.Test_CacheHeader (0.00s)
PASS middleware/cache.Test_Cache (0.00s)
PASS middleware/basicauth.Test_BasicAuth_Next (0.00s)
PASS middleware/cache.Test_Cache_Invalid_Expiration (0.00s)
PASS middleware/basicauth.Test_Middleware_BasicAuth (0.00s)
PASS middleware/cache.Test_Cache_WithNoCacheRequestDirective (0.00s)
PASS middleware/cache.Test_CustomKey (0.00s)
PASS middleware/basicauth (cached)
PASS middleware/cache.Test_Cache_WithETagAndNoCacheRequestDirective (0.00s)
PASS middleware/cache.Test_Cache_WithSeveralRequests (0.00s)
PASS middleware/cache.Test_Cache_NothingToCache (0.50s)
PASS middleware/cache.Test_CustomExpiration (1.00s)
PASS middleware/cache.Test_Cache_Expired (3.00s)
PASS middleware/cache (cached)
PASS middleware/compress.Test_Compress_Disabled (0.00s)
PASS middleware/compress.Test_Compress_Gzip (0.00s)
PASS middleware/compress.Test_Compress_Different_Level/level_1 (0.00s)
PASS middleware/compress.Test_Compress_Deflate (0.01s)
PASS middleware/compress.Test_Compress_Brotli (0.01s)
PASS middleware/compress.Test_Compress_Different_Level/level_2 (0.01s)
PASS middleware/compress.Test_Compress_Different_Level (0.00s)
PASS middleware/compress (cached)
PASS middleware/csrf.TestMarshalUnmarshalitem (0.00s)
PASS middleware/csrf.Test_CSRF (0.00s)
PASS middleware/csrf.Test_CSRF_Cookie_Injection_Exploit (0.00s)
PASS middleware/csrf.Test_CSRF_ErrorHandler_MissingReferer (0.00s)
PASS middleware/csrf.Test_CSRF_ErrorHandler_InvalidToken (0.00s)
PASS middleware/csrf.Test_CSRF_ErrorHandler_EmptyToken (0.00s)
PASS middleware/earlydata.Test_EarlyData/empty_config (0.00s)
PASS middleware/earlydata.Test_EarlyData/config_with_EnableTrustedProxyCheck (0.00s)
PASS middleware/earlydata.Test_EarlyData/default_config (0.00s)
PASS middleware/earlydata.Test_EarlyData/config_with_EnableTrustedProxyCheck_and_trusted_TrustedProxies (0.00s)
PASS middleware/earlydata.Test_EarlyData (0.00s)
PASS middleware/earlydata (cached)
PASS middleware/csrf.Test_CSRF_Referer (0.00s)
PASS middleware/csrf.Test_CSRF_Invalid_KeyLookup (0.00s)
PASS middleware/csrf.Test_CSRF_DeleteToken (0.00s)
PASS middleware/csrf.Test_CSRF_SingleUseToken (0.00s)
PASS middleware/csrf.Test_CSRF_Next (0.00s)
PASS middleware/csrf.Test_CSRF_From_Custom (0.00s)
PASS middleware/csrf.Test_CSRF_From_Param (0.00s)
PASS middleware/csrf.Test_CSRF_From_Query (0.00s)
PASS middleware/csrf.Test_CSRF_From_Form (0.00s)
PASS middleware/csrf.Test_CSRF_MultiUseToken (0.00s)
PASS middleware/csrf.Test_CSRF_From_Cookie (0.00s)
PASS middleware/csrf.Test_CSRF_WithSession (0.00s)
PASS middleware/csrf.Test_CSRF_DeleteToken_WithSession (0.00s)
PASS middleware/csrf.Test_CSRF_ExpiredToken_WithSession (1.00s)
PASS middleware/csrf.Test_CSRF_ExpiredToken (1.25s)
PASS middleware/csrf (cached)
PASS middleware/encryptcookie.Test_Middleware_Encrypt_Cookie (0.00s)
PASS middleware/encryptcookie.Test_Encrypt_Cookie_Custom_Encryptor (0.00s)
PASS middleware/encryptcookie.Test_Encrypt_Cookie_Except (0.00s)
PASS middleware/encryptcookie.Test_Encrypt_Cookie_Next (0.00s)
PASS middleware/encryptcookie (cached)
PASS middleware/envvar.TestEnvVarStructWithExportVarsExcludeVars (0.00s)
PASS middleware/envvar.TestEnvVarHandler (0.00s)
PASS middleware/envvar.TestEnvVarHandlerNotMatched (0.00s)
PASS middleware/envvar.TestEnvVarHandlerDefaultConfig (0.00s)
PASS middleware/envvar.TestEnvVarHandlerMethod (0.00s)
PASS middleware/envvar.TestEnvVarHandlerSpecialValue (0.00s)
PASS middleware/envvar (cached)
PASS middleware/idempotency.TestMarshalUnmarshalresponse (0.00s)
PASS middleware/expvar.Test_Non_Expvar_Path (0.00s)
PASS middleware/expvar.Test_Expvar_Other_Path (0.00s)
PASS middleware/expvar.Test_Expvar_Next (0.00s)
PASS middleware/expvar.Test_Expvar_Filter (0.00s)
PASS middleware/filesystem.Test_FileSystem_Download (0.00s)
PASS middleware/expvar.Test_Expvar_Index (0.00s)
PASS middleware/expvar (cached)
PASS middleware/keyauth.TestAuthSources/header (0.00s)
PASS middleware/helmet.Test_Default (0.00s)
PASS middleware/favicon.Test_Custom_Favicon_URL (0.00s)
PASS middleware/favicon.Test_Custom_Favicon_Data (0.00s)
PASS middleware/keyauth.TestAuthSources/cookie (0.00s)
PASS middleware/helmet.Test_CustomValues_AllHeaders (0.00s)
PASS middleware/keyauth.TestAuthSources/query (0.00s)
PASS middleware/helmet.Test_RealWorldValues_AllHeaders (0.00s)
PASS middleware/favicon.Test_Middleware_Favicon (0.00s)
PASS middleware/favicon.Test_Middleware_Favicon_Found (0.00s)
PASS middleware/favicon.Test_Favicon_Next (0.00s)
PASS middleware/favicon.Test_Middleware_Favicon_Not_Found (0.00s)
PASS middleware/favicon.Test_Middleware_Favicon_FileSystem (0.00s)
PASS middleware/helmet.Test_Next (0.00s)
PASS middleware/favicon.Test_Middleware_Favicon_CacheControl (0.00s)
PASS middleware/helmet.Test_ContentSecurityPolicy (0.00s)
PASS middleware/limiter.TestMarshalUnmarshalitem (0.00s)
PASS middleware/helmet.Test_ContentSecurityPolicyReportOnly (0.00s)
PASS middleware/helmet.Test_PermissionsPolicy (0.00s)
PASS middleware/helmet (cached)
PASS middleware/keyauth.TestAuthSources/param (0.00s)
PASS middleware/limiter.Test_Limiter_Fixed_Window_Skip_Failed_Requests (3.00s)
PASS middleware/keyauth.TestAuthSources/form (0.00s)
PASS middleware/keyauth.TestAuthSources (0.00s)
PASS middleware/limiter.Test_Limiter_Headers (0.00s)
PASS middleware/idempotency.Test_MemoryLock (1.00s)
PASS middleware/idempotency.Test_Idempotency (8.01s)
PASS middleware/favicon (cached)
PASS middleware/idempotency (cached)
PASS middleware/keyauth.TestMultipleKeyAuth (0.00s)
PASS middleware/keyauth.TestCustomSuccessAndFailureHandlers (0.00s)
PASS middleware/limiter.Test_Limiter_Next (0.00s)
PASS middleware/limiter.Test_Limiter_Fixed_Window_Custom_Storage_No_Skip_Choices (3.00s)
PASS middleware/keyauth.TestCustomNextFunc (0.00s)
PASS middleware/limiter.Test_Limiter_Fixed_Window_No_Skip_Choices (3.00s)
PASS middleware/keyauth.TestAuthSchemeToken (0.00s)
PASS middleware/limiter.Test_Limiter_Concurrency_Store (3.00s)
PASS middleware/keyauth.TestAuthSchemeBasic (0.00s)
PASS middleware/limiter.Test_Limiter_Concurrency (3.00s)
PASS middleware/keyauth (cached)
PASS middleware/limiter.Test_Limiter_Sliding_Window_Custom_Storage_No_Skip_Choices (4.50s)
PASS middleware/limiter.Test_Limiter_Sliding_Window_No_Skip_Choices (4.50s)
PASS middleware/limiter.Test_Limiter_Fixed_Window_Skip_Successful_Requests (3.00s)
PASS middleware/limiter.Test_Limiter_Fixed_Window_Custom_Storage_Skip_Successful_Requests (3.00s)
PASS middleware/limiter.Test_Limiter_Fixed_Window_Custom_Storage_Skip_Failed_Requests (3.00s)
PASS middleware/limiter.Test_Limiter_Sliding_Window_Custom_Storage_Skip_Failed_Requests (4.50s)
PASS middleware/limiter.Test_Limiter_Sliding_Window_Skip_Successful_Requests (4.50s)
PASS middleware/limiter.Test_Limiter_Sliding_Window_Custom_Storage_Skip_Successful_Requests (4.50s)
PASS middleware/limiter.Test_Limiter_Sliding_Window_Skip_Failed_Requests (4.50s)
PASS middleware/limiter.Test_Sliding_Window (9.00s)
PASS middleware/limiter (cached)
PASS middleware/filesystem.Test_FileSystem_NoRoot (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_200_with_suitable_content-type (0.00s)
PASS middleware/filesystem.Test_FileSystem/PathPrefix_should_be_applied (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_404#01 (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_list_the_directory_contents (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_list_the_directory_contents#01 (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_403 (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_200 (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_200_with_suitable_content-type#02 (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_404 (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_200_with_suitable_content-type#01 (0.00s)
PASS middleware/filesystem.Test_FileSystem_Next (0.00s)
PASS middleware/filesystem.Test_FileSystem_UsingParam_NonFile (0.00s)
PASS middleware/filesystem.Test_FileSystem_UsingContentTypeCharset (0.00s)
PASS middleware/filesystem.Test_FileSystem_Head (0.00s)
PASS middleware/filesystem.Test_FileSystem_UsingParam (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_return_status_200 (0.00s)
PASS middleware/filesystem.Test_FileSystem_NonGetAndHead (0.00s)
PASS middleware/filesystem.Test_FileSystem/Should_be_returns_status_200#01 (0.00s)
PASS middleware/filesystem.Test_FileSystem (0.00s)
PASS middleware/filesystem (cached)
=== RUN Test_ETag_Next
=== PAUSE Test_ETag_Next
=== CONT Test_ETag_Next
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
--- FAIL: Test_ETag_Next (0.00s)
FAIL middleware/etag.Test_ETag_Next (0.00s)
PASS middleware/etag.Test_ETag_CustomEtagPut (0.00s)
PASS middleware/etag.Test_ETag_CustomEtag/without_HeaderIfNoneMatch (0.00s)
PASS middleware/etag.Test_ETag_WeakEtag/without_HeaderIfNoneMatch (0.00s)
PASS middleware/etag.Test_ETag_CustomEtag/with_HeaderIfNoneMatch_and_matched (0.00s)
PASS middleware/etag.Test_ETag_WeakEtag/with_HeaderIfNoneMatch_and_not_matched (0.00s)
PASS middleware/etag.Test_ETag_WeakEtag/with_HeaderIfNoneMatch_and_matched (0.00s)
PASS middleware/etag.Test_ETag_WeakEtag (0.00s)
PASS middleware/etag.Test_ETag_NoBody (0.00s)
PASS middleware/etag.Test_ETag_CustomEtag/with_HeaderIfNoneMatch_and_not_matched (0.00s)
PASS middleware/etag.Test_ETag_CustomEtag (0.00s)
PASS middleware/etag.Test_ETag_NotStatusOK (0.00s)
PASS middleware/etag.Test_ETag_NewEtag/without_HeaderIfNoneMatch (0.00s)
PASS middleware/etag.Test_ETag_SkipError (0.00s)
PASS middleware/etag.Test_ETag_NewEtag/with_HeaderIfNoneMatch_and_matched (0.00s)
PASS middleware/etag.Test_ETag_NewEtag/with_HeaderIfNoneMatch_and_not_matched (0.00s)
PASS middleware/etag.Test_ETag_NewEtag (0.00s)
FAIL middleware/etag
PASS middleware/pprof.Test_Non_Pprof_Path (0.00s)
PASS middleware/pprof.Test_Non_Pprof_Path_WithPrefix (0.00s)
PASS middleware/redirect.Test_Redirect/should_be_returns_status_StatusFound_without_a_wildcard (0.00s)
PASS middleware/rewrite.Test_New (0.00s)
PASS middleware/rewrite.Test_Rewrite (0.00s)
PASS middleware/rewrite (cached)
PASS middleware/requestid.Test_RequestID_Next (0.00s)
PASS middleware/requestid.Test_RequestID (0.00s)
PASS middleware/requestid.Test_RequestID_FromContext (0.00s)
PASS middleware/requestid (cached)
PASS middleware/redirect.Test_Redirect/should_be_returns_status_StatusTemporaryRedirect__using_wildcard (0.00s)
PASS middleware/redirect.Test_Redirect/should_be_returns_status_StatusSeeOther_without_set_redirectTo_to_use_the_default (0.00s)
PASS middleware/redirect.Test_Redirect/should_return_the_status_code_default (0.00s)
PASS middleware/redirect.Test_Redirect/access_URL_without_rule (0.00s)
PASS middleware/pprof.Test_Pprof_Index (0.00s)
PASS middleware/redirect.Test_Redirect/redirect_to_swagger_route (0.00s)
PASS middleware/redirect.Test_Redirect/no_redirect_to_swagger_route (0.00s)
PASS middleware/redirect.Test_Redirect/no_redirect_to_swagger_route_#2 (0.00s)
PASS middleware/redirect.Test_Redirect (0.00s)
PASS middleware/redirect.Test_Next (0.00s)
PASS middleware/pprof.Test_Pprof_Index_WithPrefix (0.00s)
PASS middleware/redirect.Test_NoRules (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/cmdline (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/profile (1.00s)
PASS middleware/pprof.Test_Pprof_Subs/symbol (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/trace (1.02s)
PASS middleware/pprof.Test_Pprof_Subs/allocs (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/block (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/goroutine (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/heap (0.00s)
PASS middleware/recover.Test_Recover (0.00s)
PASS middleware/redirect.Test_DefaultConfig (0.00s)
PASS middleware/recover.Test_Recover_Next (0.00s)
PASS middleware/recover.Test_Recover_EnableStackTrace (0.00s)
PASS middleware/recover (cached)
PASS middleware/redirect.Test_RegexRules (0.00s)
PASS middleware/redirect (cached)
PASS middleware/logger.Test_Logger (0.00s)
PASS middleware/logger.Test_Query_Params (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/mutex (0.00s)
PASS middleware/pprof.Test_Pprof_Subs/threadcreate (0.00s)
PASS middleware/pprof.Test_Pprof_Subs (2.02s)
PASS middleware/logger.Test_Logger_EnableColors (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/cmdline (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/profile (1.00s)
PASS middleware/logger.Test_Logger_ByteSent_Streaming (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/symbol (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/trace (1.00s)
PASS middleware/logger.Test_Logger_ErrorOutput (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/allocs (0.00s)
PASS middleware/logger.Test_CustomTags (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/block (0.00s)
PASS middleware/logger.Test_Logger_ErrorOutput_WithoutColor (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/goroutine (0.00s)
PASS middleware/logger.Test_ReqHeader_Header (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/heap (0.00s)
PASS middleware/session.TestStore_getSessionID/from_cookie (0.00s)
PASS middleware/session.Test_Session_Cookie (0.00s)
PASS middleware/session.TestStore_getSessionID/from_url_query (0.00s)
PASS middleware/session.TestStore_getSessionID/from_header (0.00s)
PASS middleware/logger.Test_Req_Header (0.00s)
PASS middleware/session.TestStore_getSessionID (0.00s)
PASS middleware/session.Test_Session_Regenerate/set_fresh_to_be_true_when_regenerating_a_session (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/mutex (0.00s)
PASS middleware/logger.Test_Response_Header (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix/threadcreate (0.00s)
PASS middleware/logger.Test_Logger_ErrorTimeZone (0.00s)
PASS middleware/pprof.Test_Pprof_Subs_WithPrefix (2.01s)
PASS middleware/pprof.Test_Pprof_Other (0.00s)
PASS middleware/pprof.Test_Pprof_Other_WithPrefix (0.00s)
PASS middleware/pprof.Test_Pprof_Next (0.00s)
PASS middleware/pprof.Test_Pprof_Next_WithPrefix (0.00s)
PASS middleware/pprof (cached)
PASS middleware/proxy.Test_Proxy_Empty_Upstream_Servers (0.00s)
PASS middleware/session.Test_Session_Regenerate (0.00s)
PASS middleware/logger.Test_Logger_AppendUint (0.00s)
PASS middleware/session.TestStore_Get/session_should_persisted_even_session_is_invalid (0.00s)
PASS middleware/session.TestStore_Get (0.00s)
PASS middleware/logger.Test_Logger_Done (0.00s)
PASS middleware/logger.Test_Logger_Data_Race (0.00s)
PASS middleware/logger.Test_Logger_All (0.00s)
PASS middleware/logger.Test_Logger_Next (0.00s)
PASS middleware/logger.Test_Logger_locals (0.00s)
PASS middleware/logger.Test_Response_Body (0.00s)
PASS middleware/logger.Test_Logger_WithLatency_DefaultFormat (1.00s)
PASS middleware/logger.Test_Logger_WithLatency (1.00s)
PASS middleware/logger (cached)
PASS middleware/session.Test_Session_Save/save_to_cookie (0.00s)
PASS middleware/session.Test_Session_Custom_Config (0.00s)
PASS middleware/proxy.Test_Proxy_Forward_Global_Client (0.00s)
PASS middleware/proxy.Test_Proxy_DoRedirects_TooManyRedirects (0.09s)
PASS middleware/session.Test_Session_Cookie_In_Response (0.00s)
PASS middleware/session.Test_Session_Destroy/destroy_from_cookie (0.00s)
PASS middleware/proxy.Test_Proxy_DoRedirects_RestoreOriginalURL (0.16s)
PASS middleware/session.Test_Session_Save/save_to_header (0.00s)
PASS middleware/session.Test_Session_Save (0.00s)
PASS middleware/session.Test_Session_Deletes_Single_Key (0.00s)
PASS middleware/session.TestStore_DeleteSession (0.00s)
PASS middleware/proxy.Test_Proxy_Do_WithRedirect (0.11s)
PASS middleware/proxy.Test_Proxy_Do_WithRealURL (0.14s)
PASS middleware/proxy.Test_Proxy_Modify_Response (2.00s)
PASS middleware/proxy.Test_Proxy_Next (0.00s)
PASS middleware/session.Test_Session_Types (0.00s)
PASS middleware/proxy.Test_Proxy_DoTimeout_RestoreOriginalURL (2.00s)
PASS middleware/session.Test_Session_Store_Reset (0.00s)
PASS middleware/session.Test_Session (0.00s)
PASS middleware/proxy.Test_Proxy_Modify_Request (2.00s)
PASS middleware/session.Test_Session_Destroy/destroy_from_header (0.00s)
PASS middleware/proxy.Test_Proxy_Buffer_Size_Response (2.00s)
PASS middleware/session.Test_Session_Destroy (0.00s)
PASS middleware/session.Test_Session_Reset/reset_session_data_and_id,_and_set_fresh_to_be_true (0.00s)
PASS middleware/proxy.Test_Proxy_Forward_WithTLSConfig (2.01s)
PASS middleware/session.Test_Session_Reset (0.00s)
PASS middleware/proxy.Test_Proxy_With_Timeout (2.10s)
PASS middleware/session.Test_Session_Save_Expiration/save_to_cookie (5.01s)
PASS middleware/session.Test_Session_Save_Expiration (0.00s)
PASS middleware/proxy.Test_Proxy_Empty_Config (0.00s)
PASS middleware/session (cached)
PASS middleware/proxy.Test_Proxy_Do_RestoreOriginalURL (2.00s)
PASS middleware/proxy.Test_Proxy_Timeout_Slow_Server (4.00s)
PASS middleware/proxy.Test_Proxy (2.00s)
PASS middleware/proxy.Test_Proxy_Do_HTTP_Prefix_URL (2.00s)
PASS middleware/proxy.Test_Proxy_Domain_Forward_Local (0.02s)
PASS middleware/proxy.Test_Proxy_Forward_Local_Client (0.02s)
PASS middleware/proxy.Test_Proxy_DoDeadline_RestoreOriginalURL (2.02s)
PASS middleware/proxy.Test_ProxyBalancer_Custom_Client (2.00s)
PASS middleware/proxy.Test_Proxy_Balancer_Forward_Local (2.00s)
PASS middleware/proxy.Test_Proxy_DoDeadline_PastDeadline (3.00s)
PASS middleware/proxy.Test_Proxy_DoTimeout_Timeout (3.02s)
PASS middleware/proxy.Test_Proxy_Forward (2.02s)
PASS middleware/proxy.Test_Proxy_Balancer_WithTLSConfig (2.78s)
PASS middleware/proxy.Test_Proxy_Forward_WithTLSConfig_To_Http (5.15s)
PASS middleware/proxy (cached)
PASS middleware/skip.Test_Skip (0.00s)
PASS middleware/skip.Test_SkipNilFunc (0.00s)
PASS middleware/skip.Test_SkipFalse (0.00s)
PASS middleware/skip (cached)
PASS middleware/timeout.Test_WithContextTimeout (0.28s)
PASS middleware/timeout.Test_WithContextTimeoutWithCustomError (0.28s)
PASS middleware/timeout (cached)
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 0.941s
standard-quiet
$ gotestsum -f standard-quiet
? github.com/gofiber/fiber/v3/internal/schema [no test files]
? github.com/gofiber/fiber/v3/internal/tlstest [no test files]
ok github.com/gofiber/fiber/v3/internal/memory (cached)
ok github.com/gofiber/fiber/v3/binder (cached)
ok github.com/gofiber/fiber/v3/log (cached)
ok github.com/gofiber/fiber/v3/addon/retry (cached)
ok github.com/gofiber/fiber/v3/internal/storage/memory (cached)
ok github.com/gofiber/fiber/v3 (cached)
ok github.com/gofiber/fiber/v3/middleware/adaptor (cached)
ok github.com/gofiber/fiber/v3/middleware/basicauth (cached)
ok github.com/gofiber/fiber/v3/middleware/cache (cached)
ok github.com/gofiber/fiber/v3/middleware/csrf (cached)
ok github.com/gofiber/fiber/v3/middleware/compress (cached)
ok github.com/gofiber/fiber/v3/middleware/cors (cached)
ok github.com/gofiber/fiber/v3/middleware/earlydata (cached)
ok github.com/gofiber/fiber/v3/middleware/encryptcookie (cached)
ok github.com/gofiber/fiber/v3/middleware/envvar (cached)
ok github.com/gofiber/fiber/v3/middleware/expvar (cached)
ok github.com/gofiber/fiber/v3/middleware/idempotency (cached)
ok github.com/gofiber/fiber/v3/middleware/keyauth (cached)
ok github.com/gofiber/fiber/v3/middleware/limiter (cached)
ok github.com/gofiber/fiber/v3/middleware/helmet (cached)
ok github.com/gofiber/fiber/v3/middleware/favicon (cached)
ok github.com/gofiber/fiber/v3/middleware/filesystem (cached)
FAIL
FAIL github.com/gofiber/fiber/v3/middleware/etag 0.008s
ok github.com/gofiber/fiber/v3/middleware/recover (cached)
ok github.com/gofiber/fiber/v3/middleware/rewrite (cached)
ok github.com/gofiber/fiber/v3/middleware/logger (cached)
ok github.com/gofiber/fiber/v3/middleware/redirect (cached)
ok github.com/gofiber/fiber/v3/middleware/requestid (cached)
ok github.com/gofiber/fiber/v3/middleware/pprof (cached)
ok github.com/gofiber/fiber/v3/middleware/session (cached)
ok github.com/gofiber/fiber/v3/middleware/proxy (cached)
ok github.com/gofiber/fiber/v3/middleware/skip (cached)
ok github.com/gofiber/fiber/v3/middleware/timeout (cached)
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 0.950s
standard-verbose (same as today's output but with the failures printed at the end)
$ gotestsum -f standard-verbose
=== RUN Test_App_MethodNotAllowed
=== PAUSE Test_App_MethodNotAllowed
=== RUN Test_App_Custom_Middleware_404_Should_Not_SetMethodNotAllowed
=== PAUSE Test_App_Custom_Middleware_404_Should_Not_SetMethodNotAllowed
=== RUN Test_App_ServerErrorHandler_SmallReadBuffer
=== PAUSE Test_App_ServerErrorHandler_SmallReadBuffer
=== RUN Test_App_Errors
=== PAUSE Test_App_Errors
#### A bunch of lines omitted....
ok github.com/gofiber/fiber/v3/middleware/skip (cached)
=== CONT Test_WithContextTimeout
=== CONT Test_WithContextTimeoutWithCustomError
--- PASS: Test_WithContextTimeout (0.28s)
--- PASS: Test_WithContextTimeoutWithCustomError (0.28s)
PASS
ok github.com/gofiber/fiber/v3/middleware/timeout (cached)
=== Failed
=== FAIL: middleware/etag Test_ETag_Next (0.00s)
etag_test.go:26:
Error Trace: /tmp/fiber/middleware/etag/etag_test.go:26
Error: Not equal:
expected: 418
actual : 404
Test: Test_ETag_Next
DONE 770 tests, 1 failure in 0.953s
Today's command:
go test ./... -v -race -count=1
With gotestsum:
gotestsum -f <our_favorite_format> -- ./... -race -count=1
dots-v2 would probably not look good in the github action output because it redraws the output on your terminal as tests are run.
Checklist:
- I have confirmed that this maintenance task is currently not being addressed.
- I understand that this task will be evaluated by the maintainers and prioritized accordingly.
- I am available to provide further information if needed.
Metadata
Metadata
Assignees
Type
Projects
Status