| <testcase> | |
| <info> | |
| <keywords> | |
| FTP | |
| PORT | |
| RETR | |
| NODATACONN150 | |
| timeout | |
| FAILURE | |
| flaky | |
| timing-dependent | |
| </keywords> | |
| </info> | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| some bytes | |
| </data> | |
| <servercmd> | |
| NODATACONN150 | |
| </servercmd> | |
| </reply> | |
| # Client-side | |
| <client> | |
| <server> | |
| ftp | |
| </server> | |
| <name> | |
| FTP PORT download, no data conn and no transient negative reply | |
| </name> | |
| <command> | |
| --max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P - | |
| </command> | |
| </client> | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <strippart> | |
| s/^EPRT \|1\|(.*)/EPRT \|1\|/ | |
| </strippart> | |
| # This test doesn't send a QUIT because the main state machine in multi.c | |
| # triggers the timeout and sets the CURLE_OPERATION_TIMEDOUT error (28) for | |
| # which the FTP disconnect code generically has to assume could mean the | |
| # control the connection and thus it cannot send any command. | |
| <protocol> | |
| USER anonymous | |
| PASS ftp@example.com | |
| PWD | |
| EPRT |1| | |
| TYPE I | |
| SIZE %TESTNUMBER | |
| RETR %TESTNUMBER | |
| </protocol> | |
| # 28 is CURLE_OPERATION_TIMEDOUT | |
| <errorcode> | |
| 28 | |
| </errorcode> | |
| </verify> | |
| </testcase> |