Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 23 additions & 49 deletions run-tests.php
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ function verify_config()

$no_file_cache = '-d opcache.file_cache= -d opcache.file_cache_only=0';

function write_information($show_html)
function write_information()
{
global $cwd, $php, $php_cgi, $phpdbg, $php_info, $user_tests, $ini_overwrites, $pass_options, $exts_to_test, $leak_check, $valgrind_header, $no_file_cache;

Expand Down Expand Up @@ -269,7 +269,7 @@ function write_information($show_html)
@unlink($info_file);

// load list of enabled extensions
save_text($info_file, '<?php echo join(",", get_loaded_extensions()); ?>');
save_text($info_file, '<?php echo implode(",", get_loaded_extensions()); ?>');
$exts_to_test = explode(',',`$php $pass_options $info_params $no_file_cache "$info_file"`);
// check for extensions that need special handling and regenerate
$info_params_ex = array(
Expand Down Expand Up @@ -311,7 +311,7 @@ function write_information($show_html)
function save_or_mail_results()
{
global $sum_results, $just_save_results, $failed_test_summary,
$PHP_FAILED_TESTS, $CUR_DIR, $php, $output_file, $compression;
$PHP_FAILED_TESTS, $CUR_DIR, $php, $output_file;

/* We got failed Tests, offer the user to send an e-mail to QA team, unless NO_INTERACTION is set */
if (!getenv('NO_INTERACTION') && !TRAVIS_CI) {
Expand Down Expand Up @@ -422,7 +422,7 @@ function save_or_mail_results()
$failed_tests_data .= $sep . "PHPINFO" . $sep;
$failed_tests_data .= shell_exec($php . ' -ddisplay_errors=stderr -dhtml_errors=0 -i 2> /dev/null');

if ($just_save_results || !mail_qa_team($failed_tests_data, $compression, $status) && !TRAVIS_CI) {
if (($just_save_results || !mail_qa_team($failed_tests_data, $status)) && !TRAVIS_CI) {
file_put_contents($output_file, $failed_tests_data);

if (!$just_save_results) {
Expand Down Expand Up @@ -450,13 +450,8 @@ function save_or_mail_results()
$pass_option_n = false;
$pass_options = '';

$compression = 0;
$output_file = $CUR_DIR . '/php_test_results_' . date('Ymd_Hi') . '.txt';

if ($compression && in_array("compress.zlib", stream_get_filters())) {
$output_file = 'compress.zlib://' . $output_file . '.gz';
}

$just_save_results = false;
$leak_check = false;
$html_output = false;
Expand All @@ -481,7 +476,7 @@ function save_or_mail_results()

if (getenv('TEST_PHP_ARGS')) {

if (!isset($argc) || !$argc || !isset($argv)) {
if (!isset($argc, $argv) || !$argc) {
$argv = array(__FILE__);
}

Expand Down Expand Up @@ -789,7 +784,7 @@ function save_or_mail_results()
if ($test_cnt) {
putenv('NO_INTERACTION=1');
verify_config();
write_information($html_output);
write_information();
usort($test_files, "test_sort");
$start_time = time();

Expand Down Expand Up @@ -837,7 +832,7 @@ function save_or_mail_results()
}

verify_config();
write_information($html_output);
write_information();

// Compile a list of all test files (*.phpt).
$test_files = array();
Expand Down Expand Up @@ -869,7 +864,7 @@ function save_or_mail_results()

function find_files($dir, $is_ext_dir = false, $ignore = false)
{
global $test_files, $exts_to_test, $ignored_by_ext, $exts_skipped, $exts_tested;
global $test_files, $exts_to_test, $ignored_by_ext, $exts_skipped;

$o = opendir($dir) or error("cannot open directory: $dir");

Expand Down Expand Up @@ -973,7 +968,7 @@ function test_sort($a, $b)
// Send Email to QA Team
//

function mail_qa_team($data, $compression, $status = false)
function mail_qa_team($data, $status = false)
{
$url_bits = parse_url(QA_SUBMISSION_PAGE);

Expand Down Expand Up @@ -1125,13 +1120,13 @@ function system_with_timeout($commandline, $env = null, $stdin = null)
$data .= "\nTermsig=" . ($stat["exitcode"] - 128) . "\n";
}

$code = proc_close($proc);
proc_close($proc);
return $data;
}

function run_all_tests($test_files, $env, $redir_tested = null)
{
global $test_results, $failed_tests_file, $php, $test_cnt, $test_idx;
global $test_results, $failed_tests_file, $php, $test_idx;

foreach($test_files as $name) {

Expand Down Expand Up @@ -1182,12 +1177,11 @@ function show_file_block($file, $block, $section = null)
//
function run_test($php, $file, $env)
{
global $log_format, $info_params, $ini_overwrites, $cwd, $PHP_FAILED_TESTS;
global $log_format, $ini_overwrites, $cwd, $PHP_FAILED_TESTS;
global $pass_options, $DETAILED, $IN_REDIRECT, $test_cnt, $test_idx;
global $leak_check, $temp_source, $temp_target, $cfg, $environment;
global $no_clean;
global $valgrind_version;
global $JUNIT;
global $SHOW_ONLY_GROUPS;
global $no_file_cache;
$temp_filenames = null;
Expand Down Expand Up @@ -1296,7 +1290,7 @@ function run_test($php, $file, $env)
unset($section_text['FILEEOF']);
}

foreach (array( 'FILE', 'EXPECT', 'EXPECTF', 'EXPECTREGEX' ) as $prefix) {
foreach (array( 'FILE', 'EXPECT', 'EXPECTF', 'EXPECTREGEX' ) as $prefix) {
$key = $prefix . '_EXTERNAL';

if (@count($section_text[$key]) == 1) {
Expand Down Expand Up @@ -1506,7 +1500,7 @@ function run_test($php, $file, $env)
if (array_key_exists('EXTENSIONS', $section_text)) {
$ext_dir=`$php -r 'echo ini_get("extension_dir");'`;
$extensions = preg_split("/[\n\r]+/", trim($section_text['EXTENSIONS']));
$loaded = explode(",", `$php -n -r 'echo join(",", get_loaded_extensions());'`);
$loaded = explode(",", `$php -n -r 'echo implode(",", get_loaded_extensions());'`);
foreach ($extensions as $req_ext) {
if (!in_array($req_ext, $loaded)) {
$ini_settings['extension'][] = $ext_dir . DIRECTORY_SEPARATOR . $req_ext . '.' . PHP_SHLIB_SUFFIX;
Expand Down Expand Up @@ -1567,10 +1561,6 @@ function run_test($php, $file, $env)
show_result('SKIP', $tested, $tested_file, '', $temp_filenames);
}

if (isset($old_php)) {
$php = $old_php;
}

if (!$cfg['keep']['skip']) {
@unlink($test_skipif);
}
Expand All @@ -1594,9 +1584,9 @@ function run_test($php, $file, $env)
}
}
}

if (!extension_loaded("zlib")
&& ( array_key_exists("GZIP_POST", $section_text)
&& ( array_key_exists("GZIP_POST", $section_text)
|| array_key_exists("DEFLATE_POST", $section_text))
) {
$message = "ext/zlib required";
Expand Down Expand Up @@ -1940,26 +1930,23 @@ function run_test($php, $file, $env)
}
}

$org_headers = $headers;
$headers = array();
$output_headers = array();

foreach($want as $k => $v) {

if (isset($org_headers[$k])) {
$headers = $org_headers[$k];
$output_headers[] = $k . ': ' . $org_headers[$k];
if (isset($headers[$k])) {
$output_headers[] = $k . ': ' . $headers[$k];
}

if (!isset($org_headers[$k]) || $org_headers[$k] != $v) {
if (!isset($headers[$k]) || $headers[$k] != $v) {
$failed_headers = true;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Refactoring away $org_headers appears to be fine, but shouldn't also the initialization of $headers be changed to array()? That looks wrong, anyway.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, changed $headers initialization to empty array

}
}

ksort($wanted_headers);
$wanted_headers = join("\n", $wanted_headers);
$wanted_headers = implode("\n", $wanted_headers);
ksort($output_headers);
$output_headers = join("\n", $output_headers);
$output_headers = implode("\n", $output_headers);
}

show_file_block('out', $output);
Expand Down Expand Up @@ -2049,9 +2036,6 @@ function run_test($php, $file, $env)
if (!$cfg['keep']['php']) {
@unlink($test_file);
}
if (isset($old_php)) {
$php = $old_php;
}

if (!$leaked && !$failed_headers) {
if (isset($section_text['XFAIL'] )) {
Expand Down Expand Up @@ -2079,10 +2063,6 @@ function run_test($php, $file, $env)
@unlink($test_file);
}

if (isset($old_php)) {
$php = $old_php;
}

if (!$leaked && !$failed_headers) {
if (isset($section_text['XFAIL'] )) {
$warn = true;
Expand Down Expand Up @@ -2182,10 +2162,6 @@ function run_test($php, $file, $env)
);
}

if (isset($old_php)) {
$php = $old_php;
}

$diff = empty($diff) ? '' : preg_replace('/\e/', '<esc>', $diff);

junit_mark_test_as($restype, str_replace($cwd . '/', '', $tested_file), $tested, null, $info, $diff);
Expand Down Expand Up @@ -2246,8 +2222,8 @@ function count_array_diff($ar1, $ar2, $is_reg, $w, $idx1, $idx2, $cnt1, $cnt2, $

function generate_array_diff($ar1, $ar2, $is_reg, $w)
{
$idx1 = 0; $ofs1 = 0; $cnt1 = @count($ar1);
$idx2 = 0; $ofs2 = 0; $cnt2 = @count($ar2);
$idx1 = 0; $cnt1 = @count($ar1);
$idx2 = 0; $cnt2 = @count($ar2);
$diff = array();
$old1 = array();
$old2 = array();
Expand All @@ -2265,10 +2241,8 @@ function generate_array_diff($ar1, $ar2, $is_reg, $w)

if ($c1 > $c2) {
$old1[$idx1] = sprintf("%03d- ", $idx1+1) . $w[$idx1++];
$last = 1;
} else if ($c2 > 0) {
$old2[$idx2] = sprintf("%03d+ ", $idx2+1) . $ar2[$idx2++];
$last = 2;
} else {
$old1[$idx1] = sprintf("%03d- ", $idx1+1) . $w[$idx1++];
$old2[$idx2] = sprintf("%03d+ ", $idx2+1) . $ar2[$idx2++];
Expand Down