curl/tests/data/test2002
Dan Fandrich 72c5bb14e7 tests: improve reliability of TFTP tests
Stop checking the timeout used by the client under test (for most
tests). The timeout will change if the TFTP test server is slow (such as
happens on an overprovisioned CI server) because the client will retry
and reduce its timeout, and the actual value is not important for most
tests.

test285 is changed a different way, by increasing the connect timeout.
This improves test coverage by allowing the changed timeout value to be
checked, but improves reliability with a carefully-chosen timeout that
not only allows twice the time to respond as before, but also allows
several retries before the client will change its timeout value.

Ref: #11328
2023-06-19 17:10:24 -07:00

118 lines
1.6 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP GET
FTP
PASV
FILE
TFTP
TFTP RRQ
multiprotocol
</keywords>
</info>
#
# Server-side
<reply>
<data1 nocheck="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
Funny-head: yesyes
-foo-
</data1>
<data2 nocheck="yes">
data
to
see
that FTP
works
so does it?
</data2>
<data3 nocheck="yes">
a chunk of
data
returned
to TFTP client
</data3>
</reply>
#
# Client-side
<client>
<server>
http
ftp
file
tftp
</server>
<name>
HTTP GET followed by FTP RETR followed by FILE followed by TFTP RRQ
</name>
<command option="no-include">
http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER0002 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt tftp://%HOSTIP:%TFTPPORT//%TESTNUMBER0003
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
foo
bar
bar
foo
moo
</file>
</client>
#
# Verify data after the test has been "shot"
<verify>
<strip>
^timeout = [5-6]$
</strip>
<protocol>
GET /%TESTNUMBER0001 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
USER anonymous
PASS ftp@example.com
PWD
EPSV
TYPE I
SIZE %TESTNUMBER0002
RETR %TESTNUMBER0002
opcode = 1
mode = octet
tsize = 0
blksize = 512
filename = /%TESTNUMBER0003
QUIT
</protocol>
<stdout>
-foo-
data
to
see
that FTP
works
so does it?
foo
bar
bar
foo
moo
a chunk of
data
returned
to TFTP client
</stdout>
</verify>
</testcase>