1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 01:32:22 +01:00

Two new options for Travis to come to terms with:

- --set-timeout <n> sets the timeout in seconds for the call to stream_select() during system_with_timeout()
- -x sets an environmental variable, SKIP_SLOW_TESTS, which can be checked for during a SKIPIF clause

and just for a special treat, you can have it from my working branch this time.
This commit is contained in:
Steph Fox
2008-06-19 21:08:13 +00:00
parent 9f44542741
commit 0af1218770

View File

@@ -408,6 +408,9 @@ if (isset($argc) && $argc > 1) {
$output_file = $argv[++$i];
$just_save_results = true;
break;
case '--set-timeout':
$environment['TEST_TIMEOUT'] = $argv[++$i];
break;
case '--show-all':
foreach($cfgfiles as $file) {
$cfg['show'][$file] = true;
@@ -430,6 +433,9 @@ if (isset($argc) && $argc > 1) {
$DETAILED = true;
break;
//case 'w'
case 'x':
$environment['SKIP_SLOW_TESTS'] = 1;
break;
case '-':
// repeat check with full switch
$switch = $argv[$i];
@@ -924,18 +930,20 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
if (is_string($stdin)) {
fwrite($pipes[0], $stdin);
}
fclose($pipes[0]);
$timeout = $leak_check ? 300 : (isset($env['TEST_TIMEOUT']) ? $env['TEST_TIMEOUT'] : 60);
while (true) {
/* hide errors from interrupted syscalls */
$r = $pipes;
$w = null;
$e = null;
$n = @stream_select($r, $w, $e, $leak_check ? 300 : 60);
$n = @stream_select($r, $w, $e, $timeout);
if ($n === 0) {
/* timed out */
$data .= "\n ** ERROR: process timed out **\n";
fclose($pipes[0]);
proc_terminate($proc);
return $data;
} else if ($n > 0) {
@@ -951,6 +959,7 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
if ($stat['signaled']) {
$data .= "\nTermsig=".$stat['stopsig'];
}
fclose($pipes[0]);
$code = proc_close($proc);
return $data;
}