********* Start testing of tst_QHttpServer *********
Config: Using QtTest library 6.13.0, Qt 6.13.0 (arm64-little_endian-lp64 shared (dynamic) debug build; by Apple LLVM 17.0.0 (clang-1700.3.19.1)), macos 26.0.0
PASS   : tst_QHttpServer::initTestCase()
PASS   : tst_QHttpServer::routeGet(http/1.1:hello world)
PASS   : tst_QHttpServer::routeGet(http/1.1:test msg)
PASS   : tst_QHttpServer::routeGet(http/1.1:test msg2)
PASS   : tst_QHttpServer::routeGet(http/1.1:not found)
PASS   : tst_QHttpServer::routeGet(http/1.1:qstring-from-object)
PASS   : tst_QHttpServer::routeGet(http/1.1:qstring-from-const-object)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:int)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:-int)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:uint)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:-uint)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:string)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:string,!a+.)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:string,ba)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:url)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:float 5.1)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:float 5.)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:float 6.0)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:float,uint)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:float,uint,query)
PASS   : tst_QHttpServer::routeGet(http/1.1:arg:float,uint, query+fragment)
PASS   : tst_QHttpServer::routeGet(http/1.1:custom route rule)
PASS   : tst_QHttpServer::routeGet(http/1.1:custom route rule + query)
PASS   : tst_QHttpServer::routeGet(http/1.1:custom route rule + query key req)
PASS   : tst_QHttpServer::routeGet(http/1.1:post-and-get, get)
PASS   : tst_QHttpServer::routeGet(http/1.1:invalid-rule-method, get)
PASS   : tst_QHttpServer::routeGet(http/1.1:check custom type, data=1)
PASS   : tst_QHttpServer::routeGet(http/1.1:any, get)
PASS   : tst_QHttpServer::routeGet(http/1.1:response from html file)
PASS   : tst_QHttpServer::routeGet(http/1.1:response from json file)
PASS   : tst_QHttpServer::routeGet(http/1.1:json-object)
PASS   : tst_QHttpServer::routeGet(http/1.1:json-array)
PASS   : tst_QHttpServer::routeGet(http/1.1:data-and-custom-status-code)
PASS   : tst_QHttpServer::routeGet(http/1.1:chunked)
PASS   : tst_QHttpServer::routeGet(http/1.1:future)
PASS   : tst_QHttpServer::routeGet(http/1.1:future-not-found)
PASS   : tst_QHttpServer::routeGet(https/1.1:hello world)
PASS   : tst_QHttpServer::routeGet(https/1.1:test msg)
PASS   : tst_QHttpServer::routeGet(https/1.1:test msg2)
PASS   : tst_QHttpServer::routeGet(https/1.1:not found)
PASS   : tst_QHttpServer::routeGet(https/1.1:qstring-from-object)
PASS   : tst_QHttpServer::routeGet(https/1.1:qstring-from-const-object)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:int)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:-int)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:uint)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:-uint)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:string)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:string,!a+.)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:string,ba)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:url)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:float 5.1)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:float 5.)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:float 6.0)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:float,uint)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:float,uint,query)
PASS   : tst_QHttpServer::routeGet(https/1.1:arg:float,uint, query+fragment)
PASS   : tst_QHttpServer::routeGet(https/1.1:custom route rule)
PASS   : tst_QHttpServer::routeGet(https/1.1:custom route rule + query)
PASS   : tst_QHttpServer::routeGet(https/1.1:custom route rule + query key req)
PASS   : tst_QHttpServer::routeGet(https/1.1:post-and-get, get)
PASS   : tst_QHttpServer::routeGet(https/1.1:invalid-rule-method, get)
PASS   : tst_QHttpServer::routeGet(https/1.1:check custom type, data=1)
PASS   : tst_QHttpServer::routeGet(https/1.1:any, get)
PASS   : tst_QHttpServer::routeGet(https/1.1:response from html file)
PASS   : tst_QHttpServer::routeGet(https/1.1:response from json file)
PASS   : tst_QHttpServer::routeGet(https/1.1:json-object)
PASS   : tst_QHttpServer::routeGet(https/1.1:json-array)
PASS   : tst_QHttpServer::routeGet(https/1.1:data-and-custom-status-code)
PASS   : tst_QHttpServer::routeGet(https/1.1:chunked)
PASS   : tst_QHttpServer::routeGet(https/1.1:future)
PASS   : tst_QHttpServer::routeGet(https/1.1:future-not-found)
PASS   : tst_QHttpServer::routeGet(http/2:hello world)
PASS   : tst_QHttpServer::routeGet(http/2:test msg)
PASS   : tst_QHttpServer::routeGet(http/2:test msg2)
PASS   : tst_QHttpServer::routeGet(http/2:not found)
PASS   : tst_QHttpServer::routeGet(http/2:qstring-from-object)
PASS   : tst_QHttpServer::routeGet(http/2:qstring-from-const-object)
PASS   : tst_QHttpServer::routeGet(http/2:arg:int)
PASS   : tst_QHttpServer::routeGet(http/2:arg:-int)
PASS   : tst_QHttpServer::routeGet(http/2:arg:uint)
PASS   : tst_QHttpServer::routeGet(http/2:arg:-uint)
PASS   : tst_QHttpServer::routeGet(http/2:arg:string)
PASS   : tst_QHttpServer::routeGet(http/2:arg:string,!a+.)
PASS   : tst_QHttpServer::routeGet(http/2:arg:string,ba)
PASS   : tst_QHttpServer::routeGet(http/2:arg:url)
PASS   : tst_QHttpServer::routeGet(http/2:arg:float 5.1)
PASS   : tst_QHttpServer::routeGet(http/2:arg:float 5.)
PASS   : tst_QHttpServer::routeGet(http/2:arg:float 6.0)
PASS   : tst_QHttpServer::routeGet(http/2:arg:float,uint)
PASS   : tst_QHttpServer::routeGet(http/2:arg:float,uint,query)
PASS   : tst_QHttpServer::routeGet(http/2:arg:float,uint, query+fragment)
PASS   : tst_QHttpServer::routeGet(http/2:custom route rule)
PASS   : tst_QHttpServer::routeGet(http/2:custom route rule + query)
PASS   : tst_QHttpServer::routeGet(http/2:custom route rule + query key req)
PASS   : tst_QHttpServer::routeGet(http/2:post-and-get, get)
PASS   : tst_QHttpServer::routeGet(http/2:invalid-rule-method, get)
PASS   : tst_QHttpServer::routeGet(http/2:check custom type, data=1)
PASS   : tst_QHttpServer::routeGet(http/2:any, get)
PASS   : tst_QHttpServer::routeGet(http/2:response from html file)
PASS   : tst_QHttpServer::routeGet(http/2:response from json file)
PASS   : tst_QHttpServer::routeGet(http/2:json-object)
PASS   : tst_QHttpServer::routeGet(http/2:json-array)
PASS   : tst_QHttpServer::routeGet(http/2:data-and-custom-status-code)
PASS   : tst_QHttpServer::routeGet(http/2:chunked)
PASS   : tst_QHttpServer::routeGet(http/2:future)
PASS   : tst_QHttpServer::routeGet(http/2:future-not-found)
PASS   : tst_QHttpServer::routeKeepAlive(http/1.1)
PASS   : tst_QHttpServer::routeKeepAlive(https/1.1)
SKIP   : tst_QHttpServer::routeKeepAlive(http/2) Keep-alive header is not allowed for HTTP 2
   Loc: [/Users/qt/work/qt/qthttpserver/tests/auto/qhttpserver/tst_qhttpserver.cpp(1159)]
PASS   : tst_QHttpServer::routePost(http/1.1:hello world)
PASS   : tst_QHttpServer::routePost(http/1.1:post-and-get, post)
PASS   : tst_QHttpServer::routePost(http/1.1:any, post)
PASS   : tst_QHttpServer::routePost(http/1.1:post-body)
PASS   : tst_QHttpServer::routePost(http/1.1:post-body - huge body, chunk test)
PASS   : tst_QHttpServer::routePost(http/1.1:req-and-resp)
PASS   : tst_QHttpServer::routePost(http/1.1:resp-and-req)
PASS   : tst_QHttpServer::routePost(http/1.1:resp-and-req-from-object)
PASS   : tst_QHttpServer::routePost(http/1.1:req-and-resp-from-object)
PASS   : tst_QHttpServer::routePost(http/1.1:resp-and-req-from-const-object)
PASS   : tst_QHttpServer::routePost(http/1.1:req-and-resp-from-const-object)
PASS   : tst_QHttpServer::routePost(http/1.1:deleted-route)
PASS   : tst_QHttpServer::routePost(https/1.1:hello world)
PASS   : tst_QHttpServer::routePost(https/1.1:post-and-get, post)
PASS   : tst_QHttpServer::routePost(https/1.1:any, post)
PASS   : tst_QHttpServer::routePost(https/1.1:post-body)
PASS   : tst_QHttpServer::routePost(https/1.1:post-body - huge body, chunk test)
PASS   : tst_QHttpServer::routePost(https/1.1:req-and-resp)
PASS   : tst_QHttpServer::routePost(https/1.1:resp-and-req)
PASS   : tst_QHttpServer::routePost(https/1.1:resp-and-req-from-object)
PASS   : tst_QHttpServer::routePost(https/1.1:req-and-resp-from-object)
PASS   : tst_QHttpServer::routePost(https/1.1:resp-and-req-from-const-object)
PASS   : tst_QHttpServer::routePost(https/1.1:req-and-resp-from-const-object)
PASS   : tst_QHttpServer::routePost(https/1.1:deleted-route)
PASS   : tst_QHttpServer::routePost(http/2:hello world)
PASS   : tst_QHttpServer::routePost(http/2:post-and-get, post)
PASS   : tst_QHttpServer::routePost(http/2:any, post)
PASS   : tst_QHttpServer::routePost(http/2:post-body)
PASS   : tst_QHttpServer::routePost(http/2:post-body - huge body, chunk test)
PASS   : tst_QHttpServer::routePost(http/2:req-and-resp)
PASS   : tst_QHttpServer::routePost(http/2:resp-and-req)
PASS   : tst_QHttpServer::routePost(http/2:resp-and-req-from-object)
PASS   : tst_QHttpServer::routePost(http/2:req-and-resp-from-object)
PASS   : tst_QHttpServer::routePost(http/2:resp-and-req-from-const-object)
PASS   : tst_QHttpServer::routePost(http/2:req-and-resp-from-const-object)
PASS   : tst_QHttpServer::routePost(http/2:deleted-route)
PASS   : tst_QHttpServer::routeDelete(http/1.1:post-and-get, delete)
PASS   : tst_QHttpServer::routeDelete(http/1.1:any, delete)
PASS   : tst_QHttpServer::routeDelete(https/1.1:post-and-get, delete)
PASS   : tst_QHttpServer::routeDelete(https/1.1:any, delete)
PASS   : tst_QHttpServer::routeDelete(http/2:post-and-get, delete)
PASS   : tst_QHttpServer::routeDelete(http/2:any, delete)
PASS   : tst_QHttpServer::routeExtraHeaders(http/1.1)
PASS   : tst_QHttpServer::routeExtraHeaders(https/1.1)
PASS   : tst_QHttpServer::routeExtraHeaders(http/2)
PASS   : tst_QHttpServer::getLongChunks(http/1.1)
PASS   : tst_QHttpServer::getLongChunks(https/1.1)
PASS   : tst_QHttpServer::getLongChunks(http/2)
PASS   : tst_QHttpServer::invalidRouterArguments(http/1.1)
PASS   : tst_QHttpServer::invalidRouterArguments(https/1.1)
PASS   : tst_QHttpServer::invalidRouterArguments(http/2)
PASS   : tst_QHttpServer::checkRouteLambdaCapture(http/1.1)
PASS   : tst_QHttpServer::checkRouteLambdaCapture(https/1.1)
PASS   : tst_QHttpServer::checkRouteLambdaCapture(http/2)
PASS   : tst_QHttpServer::afterRequest(http/1.1)
PASS   : tst_QHttpServer::afterRequest(https/1.1)
PASS   : tst_QHttpServer::afterRequest(http/2)
PASS   : tst_QHttpServer::disconnectedInEventLoop(http/1.1)
PASS   : tst_QHttpServer::disconnectedInEventLoop(https/1.1)
PASS   : tst_QHttpServer::disconnectedInEventLoop(http/2)
PASS   : tst_QHttpServer::multipleRequests(http/1.1)
PASS   : tst_QHttpServer::multipleRequests(https/1.1)
PASS   : tst_QHttpServer::multipleRequests(http/2)
PASS   : tst_QHttpServer::pipelinedRequests(http/1.1)
PASS   : tst_QHttpServer::pipelinedRequests(https/1.1)
PASS   : tst_QHttpServer::pipelinedRequests(http/2)
PASS   : tst_QHttpServer::missingHandler(http/1.1)
PASS   : tst_QHttpServer::missingHandler(https/1.1)
PASS   : tst_QHttpServer::missingHandler(http/2)
PASS   : tst_QHttpServer::pipelinedFutureRequests(http/1.1)
PASS   : tst_QHttpServer::pipelinedFutureRequests(https/1.1)
PASS   : tst_QHttpServer::pipelinedFutureRequests(http/2)
PASS   : tst_QHttpServer::requestNotOverwritten(http/1.1)
PASS   : tst_QHttpServer::requestNotOverwritten(https/1.1)
PASS   : tst_QHttpServer::requestNotOverwritten(http/2)
PASS   : tst_QHttpServer::parallelFutureRequests(http/1.1)
PASS   : tst_QHttpServer::parallelFutureRequests(https/1.1)
PASS   : tst_QHttpServer::parallelFutureRequests(http/2)
PASS   : tst_QHttpServer::slowReader(http/1.1)
PASS   : tst_QHttpServer::slowReader(https/1.1)
PASS   : tst_QHttpServer::slowReader(http/2)
PASS   : tst_QHttpServer::concurrentRequestBack(http/1.1)
PASS   : tst_QHttpServer::concurrentRequestBack(https/1.1)
PASS   : tst_QHttpServer::concurrentRequestBack(http/2)
PASS   : tst_QHttpServer::concurrentMultipart(http/1.1)
PASS   : tst_QHttpServer::concurrentMultipart(https/1.1)
PASS   : tst_QHttpServer::concurrentMultipart(http/2)
PASS   : tst_QHttpServer::multipleResponses(http/1.1)
PASS   : tst_QHttpServer::multipleResponses(https/1.1)
SKIP   : tst_QHttpServer::multipleResponses(http/2) StatusCode::Processing is not supported for HTTP 2
   Loc: [/Users/qt/work/qt/qthttpserver/tests/auto/qhttpserver/tst_qhttpserver.cpp(1898)]
PASS   : tst_QHttpServer::contextObjectInOtherThreadWarning(http/1.1)
PASS   : tst_QHttpServer::contextObjectInOtherThreadWarning(https/1.1)
PASS   : tst_QHttpServer::contextObjectInOtherThreadWarning(http/2)
PASS   : tst_QHttpServer::keepAliveTimeout(http/1.1)
PASS   : tst_QHttpServer::keepAliveTimeout(https/1.1)
PASS   : tst_QHttpServer::keepAliveTimeout(http/2)
PASS   : tst_QHttpServer::maximumUrlSizeAllowed(http/1.1)
PASS   : tst_QHttpServer::maximumUrlSizeAllowed(https/1.1)
PASS   : tst_QHttpServer::maximumUrlSizeAllowed(http/2)
PASS   : tst_QHttpServer::maximumTotalHeaderSizeAllowed(http/1.1)
PASS   : tst_QHttpServer::maximumTotalHeaderSizeAllowed(https/1.1)
PASS   : tst_QHttpServer::maximumTotalHeaderSizeAllowed(http/2)
PASS   : tst_QHttpServer::maximumHeaderFieldSizeAllowed(http/1.1)
PASS   : tst_QHttpServer::maximumHeaderFieldSizeAllowed(https/1.1)
PASS   : tst_QHttpServer::maximumHeaderFieldSizeAllowed(http/2)
PASS   : tst_QHttpServer::maximumNumberOfHeaderFieldsAllowed(http/1.1)
PASS   : tst_QHttpServer::maximumNumberOfHeaderFieldsAllowed(https/1.1)
PASS   : tst_QHttpServer::maximumNumberOfHeaderFieldsAllowed(http/2)
PASS   : tst_QHttpServer::maximumBodySizeAllowed(http/1.1)
PASS   : tst_QHttpServer::maximumBodySizeAllowed(https/1.1)
PASS   : tst_QHttpServer::maximumBodySizeAllowed(http/2)
PASS   : tst_QHttpServer::writeSequentialDevice(http/1.1)
PASS   : tst_QHttpServer::writeSequentialDevice(https/1.1)
PASS   : tst_QHttpServer::writeSequentialDevice(http/2)
PASS   : tst_QHttpServer::writeMuchToSequentialDevice(http/1.1)
PASS   : tst_QHttpServer::writeMuchToSequentialDevice(https/1.1)
PASS   : tst_QHttpServer::writeMuchToSequentialDevice(http/2)
PASS   : tst_QHttpServer::writeFromEmptySequentialDevice(http/1.1)
PASS   : tst_QHttpServer::writeFromEmptySequentialDevice(https/1.1)
PASS   : tst_QHttpServer::writeFromEmptySequentialDevice(http/2)
PASS   : tst_QHttpServer::concurrentRequestsToSequentialDevice(http/1.1)
PASS   : tst_QHttpServer::concurrentRequestsToSequentialDevice(https/1.1)
PASS   : tst_QHttpServer::concurrentRequestsToSequentialDevice(http/2)
PASS   : tst_QHttpServer::timeoutConnection(http/1.1)
PASS   : tst_QHttpServer::timeoutConnection(https/1.1)
PASS   : tst_QHttpServer::timeoutConnection(http/2)
PASS   : tst_QHttpServer::useCanceledResponders(http/1.1)
PASS   : tst_QHttpServer::useCanceledResponders(https/1.1)
PASS   : tst_QHttpServer::useCanceledResponders(http/2)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(http/1.1:no-limit)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(http/1.1:same-as-number-of-connections)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(http/1.1:total-limit-5)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(https/1.1:no-limit)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(https/1.1:same-as-number-of-connections)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(https/1.1:total-limit-5)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(http/2:no-limit)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(http/2:same-as-number-of-connections)
PASS   : tst_QHttpServer::maximumConnectionsPerHost(http/2:total-limit-5)
PASS   : tst_QHttpServer::maximumConnections(http/1.1:no-limit)
PASS   : tst_QHttpServer::maximumConnections(http/1.1:same-as-number-of-connections)
PASS   : tst_QHttpServer::maximumConnections(http/1.1:total-limit-5)
PASS   : tst_QHttpServer::maximumConnections(https/1.1:no-limit)
PASS   : tst_QHttpServer::maximumConnections(https/1.1:same-as-number-of-connections)
PASS   : tst_QHttpServer::maximumConnections(https/1.1:total-limit-5)
PASS   : tst_QHttpServer::maximumConnections(http/2:no-limit)
PASS   : tst_QHttpServer::maximumConnections(http/2:same-as-number-of-connections)
PASS   : tst_QHttpServer::maximumConnections(http/2:total-limit-5)
PASS   : tst_QHttpServer::localSocket(http/1.1)
SKIP   : tst_QHttpServer::localSocket(https/1.1) Use only HTTP 1.1 for localSocket
   Loc: [/Users/qt/work/qt/qthttpserver/tests/auto/qhttpserver/tst_qhttpserver.cpp(1931)]
SKIP   : tst_QHttpServer::localSocket(http/2) Use only HTTP 1.1 for localSocket
   Loc: [/Users/qt/work/qt/qthttpserver/tests/auto/qhttpserver/tst_qhttpserver.cpp(1931)]
PASS   : tst_QHttpServer::cleanupTestCase()
Totals: 256 passed, 0 failed, 4 skipped, 0 blacklisted, 147474ms
********* Finished testing of tst_QHttpServer *********
