Skip to content

Draft: Add test for 504 responses

Darshit Shah requested to merge test-504 into master

Approver's checklist:

  • The author has submitted the FSF Copyright Assignment and is listed in AUTHORS
  • There is a test suite reasonably covering new functionality or modifications
  • Function naming, parameters, return values, types, etc., are consistent with existing code
  • This feature/change has adequate documentation added (if appropriate)
  • No obvious mistakes / misspelling in the code

This is currently broken.

MHD compiled with 0x01000100, linked with 1.0.1
MHD_OPTION_STRICT_FOR_CLIENT: yes
MHD_OPTION_SERVER_INSANITY: yes
HAVE_MICROHTTPD_HTTP2_H: no
HAVE_GNUTLS_OCSP_H: yes

Removed test directory '../.test_1014563'

##### Testing '/home/twoflower/workdir/gnuwget/wget2/tests/../src/wget2_noinstall -d --no-config --no-local-db --max-threads=1 --prefer-family=ipv4 --no-proxy --timeout 3 --tries=1 --tries=2 --max-threads=1 --http2-request-window=1 "http://localhost:33985/index.html" "http://localhost:33985/secondpage.html" 2>&1'
30.185749.922 name=config value=--no-local-db invert=1
30.185749.922 Expanded value = (null)
30.185749.922 name=local-db value=--max-threads=1 invert=1
30.185749.922 name=max-threads value=1 invert=0
30.185749.922 name=prefer-family value=ipv4 invert=0
30.185749.922 name=proxy value=--timeout invert=1
30.185749.922 name=timeout value=3 invert=0
30.185749.922 name=tries value=1 invert=0
30.185749.922 name=tries value=2 invert=0
30.185749.922 name=max-threads value=1 invert=0
30.185749.922 name=http2-request-window value=1 invert=0
30.185749.922 name=config value=--no-local-db invert=1
30.185749.922 Expanded value = (null)
30.185749.922 name=local-db value=--max-threads=1 invert=1
30.185749.922 name=max-threads value=1 invert=0
30.185749.922 name=prefer-family value=ipv4 invert=0
30.185749.922 name=proxy value=--timeout invert=1
30.185749.922 name=timeout value=3 invert=0
30.185749.922 name=tries value=1 invert=0
30.185749.922 name=tries value=2 invert=0
30.185749.922 name=max-threads value=1 invert=0
30.185749.922 name=http2-request-window value=1 invert=0
30.185749.922 Local URI encoding = 'UTF-8'
30.185749.922 Input URI encoding = 'UTF-8'
30.185749.922 set_exit_status(0)
30.185749.922 *url = 
30.185749.922 *3 http://localhost:33985/index.html
30.185749.922 path index.html ->
30.185749.922      index.html
30.185749.922 local filename = 'index.html'
30.185749.922 host_add_job: job fname index.html
30.185749.922 host_add_job: 0x5ddc5f6fdf20 http://localhost:33985/index.html
30.185749.922 host_add_job: qsize 1 host-qsize=1
30.185749.922 *url = 
30.185749.922 *3 http://localhost:33985/secondpage.html
30.185749.922 path secondpage.html ->
30.185749.922      secondpage.html
30.185749.922 local filename = 'secondpage.html'
30.185749.922 host_add_job: job fname secondpage.html
30.185749.922 host_add_job: 0x5ddc5f6fe1f0 http://localhost:33985/secondpage.html
30.185749.922 host_add_job: qsize 2 host-qsize=2
30.185749.922 queue_size: qsize=2
30.185749.922 queue_size: qsize=2
30.185749.922 [0] action=1 pending=0 host=0x0
30.185749.922 dequeue job http://localhost:33985/index.html
30.185749.922 resolving localhost:33985...
30.185749.924 has 127.0.0.1:33985
30.185749.924 has 127.0.0.1:33985
30.185749.924 has [::1]:33985
30.185749.924 has [::1]:33985
30.185749.924 trying 127.0.0.1:33985...
30.185749.924 established connection localhost
30.185749.924 # sent 148 bytes:
GET /index.html HTTP/1.1
Host: localhost
Accept-Encoding: gzip, deflate, br, zstd
Accept: */*
User-Agent: Wget/2.1.0
Connection: keep-alive

30.185749.924 [0] action=2 pending=1 host=0x5ddc5f6fdea0
30.185749.924 ### req 0x7edc40000de0 pending requests = 1
[1] Request: GET index.html
30.185749.925 # got header 136 bytes:
HTTP/1.1 504 Gateway Timeout
Date: Tue, 30 Apr 2024 16:57:49 GMT
Connection: close
Server: Libmicrohttpd/01000100
Content-Length: 99

30.185749.925 method 2
30.185749.925 [0] action=1 pending=0 host=0x5ddc5f6fdea0
30.185749.925 dequeue job http://localhost:33985/secondpage.html
30.185749.925 reuse connection localhost
30.185749.925 # sent 153 bytes:
GET /secondpage.html HTTP/1.1
Host: localhost
Accept-Encoding: gzip, deflate, br, zstd
Accept: */*
User-Agent: Wget/2.1.0
Connection: keep-alive

30.185749.925 main: wake up
30.185749.925 [0] action=2 pending=1 host=0x5ddc5f6fdea0
30.185749.925 ### req 0x7edc40021220 pending requests = 1
30.185749.925 host_increase_failure: localhost failures=1
30.185749.925 [0] action=3 pending=1 host=0x5ddc5f6fdea0
30.185749.925 closing connection
30.185749.925 released job http://localhost:33985/secondpage.html

###########################################################################################################
### Why is the server closing the connection here?                                                      ###
###########################################################################################################

30.185749.925 [0] action=1 pending=0 host=0x0
30.185749.925 host localhost is paused 1000ms
30.185749.925 main: wake up
30.185750.925 [0] action=1 pending=0 host=0x0
30.185750.925 dequeue job http://localhost:33985/index.html
30.185750.925 Found dns cache entry localhost:33985
30.185750.925 trying 127.0.0.1:33985...
30.185750.925 established connection localhost
30.185750.925 # sent 148 bytes:
GET /index.html HTTP/1.1
Host: localhost
Accept-Encoding: gzip, deflate, br, zstd
Accept: */*
User-Agent: Wget/2.1.0
[1] Request: GET index.html
Connection: keep-alive

30.185750.925 [0] action=2 pending=1 host=0x5ddc5f6fdea0
30.185750.925 ### req 0x7edc40021560 pending requests = 1
30.185750.925 # got header 136 bytes:
HTTP/1.1 504 Gateway Timeout
Date: Tue, 30 Apr 2024 16:57:50 GMT
Connection: close
Server: Libmicrohttpd/01000100
Content-Length: 99

30.185750.925 method 2
30.185750.925 set_exit_status(8)
30.185750.925 keep_alive=0
30.185750.925 closing connection
30.185750.925 _host_remove_job: 0x5ddc5f6fdf20
30.185750.925 host_remove_job: qsize=1 host->qsize=1
30.185750.925 [0] action=1 pending=0 host=0x5ddc5f6fdea0
30.185750.925 dequeue job http://localhost:33985/secondpage.html
30.185750.925 Found dns cache entry localhost:33985
30.185750.925 trying 127.0.0.1:33985...
30.185750.925 main: wake up
30.185750.925 established connection localhost
30.185750.925 # sent 153 bytes:
GET /secondpage.html HTTP/1.1
Host: localhost
Accept-Encoding: gzip, deflate, br, zstd
Accept: */*
User-Agent: Wget/2.1.0
Connection: keep-alive

30.185750.925 [0] action=2 pending=1 host=0x5ddc5f6fdea0
30.185750.925 ### req 0x7edc40021b40 pending requests = 1
[1] Request: GET secondpage.html
30.185750.926 # got header 148 bytes:
HTTP/1.1 200 OK
Date: Tue, 30 Apr 2024 16:57:50 GMT
Connection: close
Content-Type: text/html
Server: Libmicrohttpd/01000100
Content-Length: 99

30.185750.926 method 2
30.185750.926 keep_alive=0
30.185750.926 closing connection
30.185750.926 _host_remove_job: 0x5ddc5f6fe1f0
30.185750.926 host_remove_job: qsize=0 host->qsize=0
30.185750.926 [0] action=1 pending=0 host=0x5ddc5f6fdea0
30.185750.926 [0] action=1 pending=0 host=0x0
30.185750.926 main: wake up
30.185750.926 main: done
30.185750.926 blacklist http://localhost:33985/index.html
30.185750.926 blacklist http://localhost:33985/secondpage.html
[0] Downloading 'http://localhost:33985/index.html' ...
HTTP ERROR response 504 Gateway Timeout [http://localhost:33985/index.html]
[0] Downloading 'http://localhost:33985/secondpage.html' ...
[0] Downloading 'http://localhost:33985/index.html' ...
HTTP ERROR response 504 Gateway Timeout [http://localhost:33985/index.html]
[0] Downloading 'http://localhost:33985/secondpage.html' ...
Saving 'secondpage.html'
HTTP response 200 OK [http://localhost:33985/secondpage.html]
Entering .
 - ./secondpage.html
search secondpage.html
Removed test directory '.test_1014563'
Edited by Darshit Shah

Merge request reports