1*6236dae4SAndroid Build Coastguard Worker<testcase> 2*6236dae4SAndroid Build Coastguard Worker<info> 3*6236dae4SAndroid Build Coastguard Worker<keywords> 4*6236dae4SAndroid Build Coastguard WorkerFTP 5*6236dae4SAndroid Build Coastguard WorkerPORT 6*6236dae4SAndroid Build Coastguard WorkerRETR 7*6236dae4SAndroid Build Coastguard WorkerNODATACONN150 8*6236dae4SAndroid Build Coastguard Workertimeout 9*6236dae4SAndroid Build Coastguard WorkerFAILURE 10*6236dae4SAndroid Build Coastguard Workerflaky 11*6236dae4SAndroid Build Coastguard Workertiming-dependent 12*6236dae4SAndroid Build Coastguard Worker</keywords> 13*6236dae4SAndroid Build Coastguard Worker</info> 14*6236dae4SAndroid Build Coastguard Worker# Server-side 15*6236dae4SAndroid Build Coastguard Worker<reply> 16*6236dae4SAndroid Build Coastguard Worker<data nocheck="yes"> 17*6236dae4SAndroid Build Coastguard Workersome bytes 18*6236dae4SAndroid Build Coastguard Worker</data> 19*6236dae4SAndroid Build Coastguard Worker<servercmd> 20*6236dae4SAndroid Build Coastguard WorkerNODATACONN150 21*6236dae4SAndroid Build Coastguard Worker</servercmd> 22*6236dae4SAndroid Build Coastguard Worker</reply> 23*6236dae4SAndroid Build Coastguard Worker 24*6236dae4SAndroid Build Coastguard Worker# Client-side 25*6236dae4SAndroid Build Coastguard Worker<client> 26*6236dae4SAndroid Build Coastguard Worker<server> 27*6236dae4SAndroid Build Coastguard Workerftp 28*6236dae4SAndroid Build Coastguard Worker</server> 29*6236dae4SAndroid Build Coastguard Worker<name> 30*6236dae4SAndroid Build Coastguard WorkerFTP PORT download, no data conn and no transient negative reply 31*6236dae4SAndroid Build Coastguard Worker</name> 32*6236dae4SAndroid Build Coastguard Worker<command> 33*6236dae4SAndroid Build Coastguard Worker--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P - 34*6236dae4SAndroid Build Coastguard Worker</command> 35*6236dae4SAndroid Build Coastguard Worker 36*6236dae4SAndroid Build Coastguard Worker</client> 37*6236dae4SAndroid Build Coastguard Worker 38*6236dae4SAndroid Build Coastguard Worker# Verify data after the test has been "shot" 39*6236dae4SAndroid Build Coastguard Worker<verify> 40*6236dae4SAndroid Build Coastguard Worker<strippart> 41*6236dae4SAndroid Build Coastguard Workers/^EPRT \|1\|(.*)/EPRT \|1\|/ 42*6236dae4SAndroid Build Coastguard Worker</strippart> 43*6236dae4SAndroid Build Coastguard Worker 44*6236dae4SAndroid Build Coastguard Worker# This test doesn't send a QUIT because the main state machine in multi.c 45*6236dae4SAndroid Build Coastguard Worker# triggers the timeout and sets the CURLE_OPERATION_TIMEDOUT error (28) for 46*6236dae4SAndroid Build Coastguard Worker# which the FTP disconnect code generically has to assume could mean the 47*6236dae4SAndroid Build Coastguard Worker# control the connection and thus it cannot send any command. 48*6236dae4SAndroid Build Coastguard Worker<protocol> 49*6236dae4SAndroid Build Coastguard WorkerUSER anonymous 50*6236dae4SAndroid Build Coastguard WorkerPASS [email protected] 51*6236dae4SAndroid Build Coastguard WorkerPWD 52*6236dae4SAndroid Build Coastguard WorkerEPRT |1| 53*6236dae4SAndroid Build Coastguard WorkerTYPE I 54*6236dae4SAndroid Build Coastguard WorkerSIZE %TESTNUMBER 55*6236dae4SAndroid Build Coastguard WorkerRETR %TESTNUMBER 56*6236dae4SAndroid Build Coastguard Worker</protocol> 57*6236dae4SAndroid Build Coastguard Worker# 28 is CURLE_OPERATION_TIMEDOUT 58*6236dae4SAndroid Build Coastguard Worker<errorcode> 59*6236dae4SAndroid Build Coastguard Worker28 60*6236dae4SAndroid Build Coastguard Worker</errorcode> 61*6236dae4SAndroid Build Coastguard Worker</verify> 62*6236dae4SAndroid Build Coastguard Worker</testcase> 63