1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-23 08:38:49 -05:00
curl/tests/data/test1188
Jay Satiro 3d954e4e26 test1188: Check for --fail HTTP status
- Change the test to check for curl error on HTTP 404 Not Found.

test1188 tests "--write-out with %{onerror} and %{urlnum} to stderr".
Prior to this change it did that by specifying a non-existent host which
would cause an error. ISPs may hijack DNS and resolve non-existent hosts
so the test would not work if that was the case.

Ref: https://en.wikipedia.org/wiki/DNS_hijacking#Manipulation_by_ISPs
Ref: https://github.com/curl/curl/issues/6621
Ref: https://github.com/curl/curl/pull/6623

Closes https://github.com/curl/curl/pull/6637
2021-02-20 14:41:13 -05:00

57 lines
976 B
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP GET
--write-out
</keywords>
</info>
# Server-side
<reply>
<data>
HTTP/1.1 404 Not Found
Content-Length: 0
Connection: close
</data>
</reply>
# Client-side
<client>
<server>
http
</server>
<name>
--write-out with %{onerror} and %{urlnum} to stderr
</name>
<command>
-f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://%HOSTIP:%HTTPPORT/we/want/our/1188 http://%HOSTIP:%HTTPPORT/we/want/our/1188
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol>
GET /we/want/our/1188 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
GET /we/want/our/1188 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
</protocol>
<stderr mode="text">
0 says 22 The requested URL returned error: 404
1 says 22 The requested URL returned error: 404
</stderr>
# 22 is CURLE_HTTP_RETURNED_ERROR
<errorcode>
22
</errorcode>
</verify>
</testcase>