mirror of
https://github.com/moparisthebest/curl
synced 2024-12-25 09:38:54 -05:00
cffbcc3110
The tftpd server may still be busy if the total timeout of 25 seconds has not been reached or no sread error was received during or after the execution of the timeout test 1238. Once the next TFTP test comes around (eg. 1242 or 1243), those will fail because the tftpd server is still waiting on data from curl due to the UDP protocol being stateless and having no connection close. On Linux this error may not happen, because ICMP errors generated due to a swrite error can also be returned async on the next sread call instead. Therefore we will now just kill the tftpd server after test 1238 to make sure that the following tests are not affected. This enables us to no longer ignore tests 1242, 1243, 2002 and 2003 on the CI platforms CirrusCI and AppVeyor. Assisted-by: Peter Wu Closes #5364
61 lines
2.2 KiB
Plaintext
61 lines
2.2 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
TFTP
|
|
TFTP RRQ
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<servercmd>
|
|
writedelay: 2
|
|
</servercmd>
|
|
# ~1200 bytes (so that they don't fit in two 512 byte chunks)
|
|
<data nocheck="yes">
|
|
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
|
|
</data>
|
|
</reply>
|
|
|
|
#
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
tftp
|
|
</server>
|
|
# Always kill the TFTP server to not affect following tests, due
|
|
# to this test potentially keeping the TFTP server busy waiting
|
|
# for another 5 seconds after this test has already terminated.
|
|
# On some plattforms and CI not enough time passes between this
|
|
# test and the next tests 1242 and 1243, causing them to fail.
|
|
<killserver>
|
|
tftp
|
|
</killserver>
|
|
<name>
|
|
slow TFTP retrieve cancel due to -Y and -y
|
|
</name>
|
|
# if less than 1000 bytes/sec within 2 seconds, abort!
|
|
<command>
|
|
tftp://%HOSTIP:%TFTPPORT//1238 -Y1000 -y2
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# Verify pseudo protocol after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
opcode: 1
|
|
mode: octet
|
|
tsize: 0
|
|
blksize: 512
|
|
timeout: 6
|
|
filename: /1238
|
|
</protocol>
|
|
# 28 = CURLE_OPERATION_TIMEDOUT
|
|
<errorcode>
|
|
28
|
|
</errorcode>
|
|
</verify>
|
|
</testcase>
|