X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=tests%2Fmulti%2Fsingle.tcl;fp=tests%2Fmulti%2Fsingle.tcl;h=c07564fa8dda79d59c17c734b1a7d35f5ac475ac;hb=b0e6fb6e4379fb87fa2854b84a56c5ad49c644da;hp=0000000000000000000000000000000000000000;hpb=c9a5bcd9d76f699909b24e71a2a216d36062ab0b;p=sven%2Ftclcurl.git diff --git a/tests/multi/single.tcl b/tests/multi/single.tcl new file mode 100755 index 0000000..c07564f --- /dev/null +++ b/tests/multi/single.tcl @@ -0,0 +1,52 @@ +package require TclCurl + +proc Perform {multiHandle} { + if {[catch {$multiHandle active} activeTransfers]} { + puts "Error checking active transfers: $activeTransfers" + return -1 + } + + if {[catch {$multiHandle perform} running]} { + puts "Error: $running" + return 1 + } + return $running +} + +proc StartTransfer {multiHandle} { + while {1==1} { + set runningTransfers [Perform $multiHandle] + if {$runningTransfers>0} { + after 500 + } else { + break + } + } +} + +set curlEasyHandle [curl::init] + +$curlEasyHandle configure -url http://127.0.0.1/ -file index.html + +if {[catch {curl::multiinit} curlMultiHandle]} { + puts "Error with multi handle init" +} + +puts "The multi handle: $curlMultiHandle" + +puts -nonewline "We add the easy handle: " +puts [$curlMultiHandle addhandle $curlEasyHandle] + +StartTransfer $curlMultiHandle + +puts "Calling getinfo [$curlMultiHandle getinfo]" + +puts -nonewline "Removing the easy handle: " +puts [$curlMultiHandle removehandle $curlEasyHandle] + +puts -nonewline "Cleanup the multi handle handle: " +puts [$curlMultiHandle cleanup] + +$curlEasyHandle cleanup + +