#!/www/server/bin/php -qC <?php # slow tests for url.class # TESTFLAGS SLOW require 'it_url_server.php'; handle_server( is( it_url::get('http://localhost:8000/short_sleep'), "Testserver output after short sleep", 'it_url::get() waits for 4 seconds' ) ); $start = microtime(true); $res = ok( !it_url::get(array('url' => 'http://localhost:8000/long_sleep', 'timeout' => 5, 'retries' => 0, 'it_error' => false)), 'it_url::get() fails after timeout seconds with no output' ); $res2 = is( intval(microtime(true) - $start), 5, '... and fails as soon as timeout is surpassed' ); sleep(1); # wait for testserver $output = server_output(); if (!$res || !$res2) diag($output); handle_server( is( it_url::get('http://localhost:8000/slow_response'), join('', it::map('"Testserver slow output $v\n"', range(0, 5))), 'it_url::get() waits for slow response with continuous output' ) ); $start = microtime(true); $res = ok( !it_url::get(array('url' => 'http://localhost:8000/slow_response', 'totaltimeout' => 5, 'retries' => 0, 'it_error' => false)), 'it_url::get() fails for response slower than totaltimeout' ); $res2 = is( intval(microtime(true) - $start), 5, '... and fails as soon as totaltimeout is surpassed' ); sleep(1); # wait for testserver $output = server_output(); if (!$res || !$res2) diag($output); handle_server( ok( it_url::get(U('http://localhost:8000/repeat', array('string' => "abc", 'num' => 1024 * 1024))) == str_repeat("abc", 1024 * 1024), 'it_url::get() handles large response' ) );