diff options
| author | andy wharmby <wharmby@php.net> | 2009-06-29 07:31:10 +0000 |
|---|---|---|
| committer | andy wharmby <wharmby@php.net> | 2009-06-29 07:31:10 +0000 |
| commit | 93a16cf13aff5263929d2e99d2b0843ca0cddd95 (patch) | |
| tree | 0dff6f65947a27f32fdb4259dccc146dbb0a2fbd /ext | |
| parent | 81761e636d5848e9f495dcd1a1ae3e2483bc5923 (diff) | |
| download | php-git-93a16cf13aff5263929d2e99d2b0843ca0cddd95.tar.gz | |
Basic tests for sleep() and usleep(). Tested on Windows, Linux and Linux 64 bit
Diffstat (limited to 'ext')
4 files changed, 168 insertions, 0 deletions
diff --git a/ext/standard/tests/general_functions/sleep_basic.phpt b/ext/standard/tests/general_functions/sleep_basic.phpt new file mode 100644 index 0000000000..cfc00c6eab --- /dev/null +++ b/ext/standard/tests/general_functions/sleep_basic.phpt @@ -0,0 +1,40 @@ +--TEST-- +Test sleep() function : basic functionality +--FILE-- +<?php +/* Prototype : int sleep ( int $seconds ) + * Description: Delays the program execution for the given number of seconds . + * Source code: ext/standard/basic_functions.c + */ + +echo "*** Testing sleep() : basic functionality ***\n"; + +$sleeptime = 5; // sleep for 5 seconds + +set_time_limit(20); + +$time_start = microtime(true); + +// Sleep for a while +sleep($sleeptime); + +// Test passes if sleeps for at least 98% of specified time +$sleeplow = $sleeptime - ($sleeptime * 2 /100); + +$time_end = microtime(true); +$time = $time_end - $time_start; + +echo "Thread slept for " . $time . " seconds\n"; + +if ($time >= $sleeplow) { + echo "TEST PASSED\n"; +} else { + echo "TEST FAILED - time is ${time} secs and sleep was ${sleeptime} secs\n"; +} +?> +===DONE=== +--EXPECTF-- +*** Testing sleep() : basic functionality *** +Thread slept for %f seconds +TEST PASSED +===DONE=== diff --git a/ext/standard/tests/general_functions/sleep_error.phpt b/ext/standard/tests/general_functions/sleep_error.phpt new file mode 100644 index 0000000000..199bd8e9bc --- /dev/null +++ b/ext/standard/tests/general_functions/sleep_error.phpt @@ -0,0 +1,44 @@ +--TEST-- +Test sleep() function : error conditions +--FILE-- +<?php +/* Prototype : int sleep ( int $seconds ) + * Description: Delays the program execution for the given number of seconds . + * Source code: ext/standard/basic_functions.c + */ + set_time_limit(20); + +echo "*** Testing sleep() : error conditions ***\n"; + +echo "\n-- Testing sleep() function with zero arguments --\n"; +var_dump( sleep() ); + +echo "\n-- Testing sleep() function with more than expected no. of arguments --\n"; +$seconds = 10; +$extra_arg = 10; +var_dump( sleep($seconds, $extra_arg) ); + +echo "\n-- Testing sleep() function with negative interval --\n"; +$seconds = -10; +var_dump( sleep($seconds) ); + +?> +===DONE=== +--EXPECTF-- +*** Testing sleep() : error conditions *** + +-- Testing sleep() function with zero arguments -- + +Warning: sleep() expects exactly 1 parameter, 0 given in %s on line %d +bool(false) + +-- Testing sleep() function with more than expected no. of arguments -- + +Warning: sleep() expects exactly 1 parameter, 2 given in %s on line %d +bool(false) + +-- Testing sleep() function with negative interval -- + +Warning: sleep(): Number of seconds must be greater than or equal to 0 in %s on line %d +bool(false) +===DONE=== diff --git a/ext/standard/tests/general_functions/usleep_basic.phpt b/ext/standard/tests/general_functions/usleep_basic.phpt new file mode 100644 index 0000000000..22c3e658b1 --- /dev/null +++ b/ext/standard/tests/general_functions/usleep_basic.phpt @@ -0,0 +1,39 @@ +--TEST-- +Test usleep() function +--FILE-- +<?php +/* Prototype : void usleep ( int $micro_seconds ) + * Description: Delays program execution for the given number of micro seconds. + * Source code: ext/standard/basic_functions.c + */ + +set_time_limit(20); + +echo "*** Testing usleep() : basic functionality ***\n"; + +$sleeptime = 5000000; // == 5 seconds +// Test passes if sleeps for at least 98% of specified time +$sleeplow = $sleeptime - ($sleeptime * 2 /100); + +$time_start = microtime(true); + +// Sleep for a while +usleep($sleeptime); + +$time_end = microtime(true); +$time = ($time_end - $time_start) * 1000 * 1000; + +echo "Thread slept for " . $time . " micro-seconds\n"; + +if ($time >= $sleeplow) { + echo "TEST PASSED\n"; +} else { + echo "TEST FAILED\n"; +} +?> +===DONE=== +--EXPECTF-- +*** Testing usleep() : basic functionality *** +Thread slept for %f micro-seconds +TEST PASSED +===DONE=== diff --git a/ext/standard/tests/general_functions/usleep_error.phpt b/ext/standard/tests/general_functions/usleep_error.phpt new file mode 100644 index 0000000000..bdd120cde9 --- /dev/null +++ b/ext/standard/tests/general_functions/usleep_error.phpt @@ -0,0 +1,45 @@ +--TEST-- +Test usleep() function : error conditions +--FILE-- +<?php +/* Prototype : void usleep ( int $micro_seconds ) + * Description: Delays program execution for the given number of micro seconds. + * Source code: ext/standard/basic_functions.c + */ + +set_time_limit(20); + +echo "*** Testing usleep() : error conditions ***\n"; + +echo "\n-- Testing usleep() function with zero arguments --\n"; +var_dump( usleep() ); + +echo "\n-- Testing usleep() function with more than expected no. of arguments --\n"; +$seconds = 10; +$extra_arg = 10; +var_dump( usleep($seconds, $extra_arg) ); + +echo "\n-- Testing usleep() function with negative interval --\n"; +$seconds = -10; +var_dump( usleep($seconds) ); + +?> +===DONE=== +--EXPECTF-- +*** Testing usleep() : error conditions *** + +-- Testing usleep() function with zero arguments -- + +Warning: usleep() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +-- Testing usleep() function with more than expected no. of arguments -- + +Warning: usleep() expects exactly 1 parameter, 2 given in %s on line %d +NULL + +-- Testing usleep() function with negative interval -- + +Warning: usleep(): Number of microseconds must be greater than or equal to 0 in %s on line %d +bool(false) +===DONE=== |
