RE: [PHP-CVS] com php-src: fixing run-tests.php for variables_order="GPCS": run-tests.php

[email protected] (Anatol Belski)
Newsgroups php.cvs
Message-ID <AM3PR02MB104194B85DCC6177E7656BE9BAE10@AM3PR02MB1041.eurprd02.prod.outlook.com>
Hi Matt,

Seems you reverted

f9215b6519d4732498e598de9a3581297c60c4e8
431e22fb4d2a23f6e522ec5e20503fd6ec7ca1f6

I've just restored these. Please check also the travis fails after this change.

Thanks

Anatol

> -----Original Message-----
> From: Matt Ficken [mailto:[email protected]]
> Sent: Monday, May 15, 2017 11:19 AM
> To: [email protected]
> Subject: [PHP-CVS] com php-src: fixing run-tests.php for
> variables_order="GPCS": run-tests.php
> 
> Commit:    ad67218954a3b78640c14c9720b797906d5e9133
> Author:    Matt Ficken <[email protected]>         Mon, 15 May 2017 02:19:05 -
> 0700
> Parents:   8b361f1160c2ec2e8b0888d7569521e17579eb12
> Branches:  master
> 
> Link:       http://git.php.net/?p=php-
> src.git;a=commitdiff;h=ad67218954a3b78640c14c9720b797906d5e9133
> 
> Log:
> fixing run-tests.php for variables_order="GPCS"
> 
> Changed paths:
>   M  run-tests.php
> 
> 
> Diff:
> diff --git a/run-tests.php b/run-tests.php index 7f8653f..fbb664d 100755
> --- a/run-tests.php
> +++ b/run-tests.php
> @@ -94,6 +94,28 @@ if (ob_get_level()) echo "Not all buffers were deleted.\n";
> error_reporting(E_ALL);
> 
>  $environment = isset($_ENV) ? $_ENV : array();
> +// Note: php.ini-development sets variables_order="GPCS" not "EGPCS", in
> which case $_ENV is NOT populated.
> +//       detect and handle this case, or die or warn
> +if (empty($environment)) {
> +	// not documented, but returns array of all environment variables
> +	$environment = getenv();
> +}
> +if (empty($environment['TEMP'])) {
> +	$environment['TEMP'] = sys_get_temp_dir();
> +
> +	if (empty($environment['TEMP'])) {
> +		// for example, OpCache on Windows will fail in this case
> because child processes (for tests) will not get
> +		// a TEMP variable, so GetTempPath() will fallback to
> c:\windows, while GetTempPath() will return %TEMP% for parent
> +		// (likely a different path). The parent will initialize the OpCache
> in that path, and child will fail to reattach to
> +		// the OpCache because it will be using the wrong path.
> +		die("TEMP environment is NOT set");
> +	} else if (count($environment)==1) {
> +		// not having other environment variables, only having TEMP, is
> probably ok, but strange and may make a
> +		// difference in the test pass rate, so warn the user.
> +		echo "WARNING: Only 1 environment variable will be available
> to tests(TEMP environment variable)".PHP_EOL;
> +	}
> +}
> +//
>  if ((substr(PHP_OS, 0, 3) == "WIN") && empty($environment["SystemRoot"])) {
>    $environment["SystemRoot"] = getenv("SystemRoot");  } @@ -456,10 +478,9
> @@ function save_or_mail_results()  $test_files = array();  $redir_tests = array();
> $test_results = array(); -$PHP_FAILED_TESTS = array('BORKED' => array(),
> 'FAILED' => array(), 'WARNED' => array(), 'LEAKED' => array(), 'XFAILED' =>
> array(), 'SLOW' => array());
> +$PHP_FAILED_TESTS = array('BORKED' => array(), 'FAILED' => array(),
> +'WARNED' => array(), 'LEAKED' => array(), 'XFAILED' => array());
> 
>  // If parameters given assume they represent selected tests to run.
> -$result_tests_file= false;
>  $failed_tests_file= false;
>  $pass_option_n = false;
>  $pass_options = '';
> @@ -475,7 +496,6 @@ $temp_target = null;  $temp_urlbase = null;
> $conf_passed = null;  $no_clean = false; -$slow_min_ms = INF;
> 
>  $cfgtypes = array('show', 'keep');
>  $cfgfiles = array('skip', 'php', 'clean', 'out', 'diff', 'exp'); @@ -560,9 +580,6 @@
> if (isset($argc) && $argc > 1) {
>  				case 'a':
>  					$failed_tests_file = fopen($argv[++$i],
> 'a+t');
>  					break;
> -				case 'W':
> -					$result_tests_file = fopen($argv[++$i],
> 'w+t');
> -					break;
>  				case 'c':
>  					$conf_passed = $argv[++$i];
>  					break;
> @@ -636,9 +653,6 @@ if (isset($argc) && $argc > 1) {
>  						$cfg['show'][$file] = true;
>  					}
>  					break;
> -				case '--show-slow':
> -					$slow_min_ms = $argv[++$i];
> -					break;
>  				case '--temp-source':
>  					$temp_source = $argv[++$i];
>  					break;
> @@ -698,8 +712,6 @@ Options:
> 
>      -a <file>   Same as -w but append rather then truncating <file>.
> 
> -    -W <file>   Write a list of all tests and their result status to <file>.
> -
>      -c <file>   Look for php.ini in directory <file> or use <file> as ini.
> 
>      -n          Pass -n option to the php binary (Do not use a php.ini).
> @@ -756,9 +768,6 @@ Options:
>                  get written independent of the log format, however 'diff' only
>                  exists when a test fails.
> 
> -    --show-slow [n]
> -                Show all tests that took longer than [n] milliseconds to run.
> -
>      --no-clean  Do not execute clean section if any.
> 
>  HELP;
> @@ -832,10 +841,6 @@ HELP;
>  			fclose($failed_tests_file);
>  		}
> 
> -		if ($result_tests_file) {
> -			fclose($result_tests_file);
> -		}
> -
>  		compute_summary();
>  		if ($html_output) {
>  			fwrite($html_file, "<hr/>\n" . get_summary(false,
> true)); @@ -969,10 +974,6 @@ if ($failed_tests_file) {
>  	fclose($failed_tests_file);
>  }
> 
> -if ($result_tests_file) {
> -	fclose($result_tests_file);
> -}
> -
>  // Summarize results
> 
>  if (0 == count($test_results)) {
> @@ -1174,7 +1175,7 @@ function system_with_timeout($commandline, $env
> = null, $stdin = null, $captureS
> 
>  function run_all_tests($test_files, $env, $redir_tested = null)  {
> -	global $test_results, $failed_tests_file, $result_tests_file, $php,
> $test_idx;
> +	global $test_results, $failed_tests_file, $php, $test_idx;
> 
>  	foreach($test_files as $name) {
> 
> @@ -1197,9 +1198,6 @@ function run_all_tests($test_files, $env, $redir_tested
> = null)
>  			if ($failed_tests_file && ($result == 'XFAILED' || $result
> == 'FAILED' || $result == 'WARNED' || $result == 'LEAKED')) {
>  				fwrite($failed_tests_file, "$index\n");
>  			}
> -			if ($result_tests_file) {
> -				fwrite($result_tests_file, "$result\t$index\n");
> -			}
>  		}
>  	}
>  }
> @@ -1235,7 +1233,6 @@ function run_test($php, $file, $env)
>  	global $valgrind_version;
>  	global $SHOW_ONLY_GROUPS;
>  	global $no_file_cache;
> -	global $slow_min_ms;
>  	$temp_filenames = null;
>  	$org_file = $file;
> 
> @@ -1920,21 +1917,10 @@ COMMAND $cmd
>  ";
> 
>  	junit_start_timer($shortname);
> -	$startTime = microtime(true);
> 
>  	$out = system_with_timeout($cmd, $env, isset($section_text['STDIN']) ?
> $section_text['STDIN'] : null, $captureStdIn, $captureStdOut, $captureStdErr);
> 
>  	junit_finish_timer($shortname);
> -	$time = microtime(true) - $startTime;
> -	if ($time * 1000 >= $slow_min_ms) {
> -		$PHP_FAILED_TESTS['SLOW'][] = array(
> -			'name'      => $file,
> -			'test_name' => (is_array($IN_REDIRECT) ?
> $IN_REDIRECT['via'] : '') . $tested . " [$tested_file]",
> -			'output'    => '',
> -			'diff'      => '',
> -			'info'      => $time,
> -		);
> -	}
> 
>  	if (array_key_exists('CLEAN', $section_text) && (!$no_clean ||
> $cfg['keep']['clean'])) {
> 
> @@ -2516,22 +2502,6 @@ Time taken      : ' . sprintf('%4d seconds', $end_time -
> $start_time) . '
>  ';
>  	$failed_test_summary = '';
> 
> -	if (count($PHP_FAILED_TESTS['SLOW'])) {
> -		usort($PHP_FAILED_TESTS['SLOW'], function($a, $b) {
> -			return $a['info'] < $b['info'] ? 1 : -1;
> -		});
> -
> -		$failed_test_summary .= '
> -
> =================================================================
> ====
> -SLOW TEST SUMMARY
> ----------------------------------------------------------------------
> -';
> -		foreach ($PHP_FAILED_TESTS['SLOW'] as $failed_test_data) {
> -			$failed_test_summary .= sprintf('(%.3f s) ',
> $failed_test_data['info']) . $failed_test_data['test_name'] . "\n";
> -		}
> -		$failed_test_summary .=
> "================================================================
> =====\n";
> -	}
> -
>  	if (count($PHP_FAILED_TESTS['XFAILED'])) {
>  		$failed_test_summary .= '
> 
> =================================================================
> ====
> 
> 
> --
> PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit:
> http://www.php.net/unsub.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.