find_files($dir, ($dir == 'ext'));
}
-function find_ini_skip($path)
-{
- $skip_dir = $path;
- $cwd = getcwd();
-
- do {
- if (in_array(basename($skip_dir), array('Zend', 'ext', '')) || $skip_dir == $cwd) {
- break;
- }
- $ini_skip_file = $skip_dir .'/skip.ini';
- if (file_exists($ini_skip_file)) {
- return $ini_skip_file;
- }
- } while ($skip_dir = dirname($skip_dir));
-
- return false;
-}
-
function find_files($dir, $is_ext_dir = false, $ignore = false)
{
global $test_files, $exts_to_test, $ignored_by_ext, $exts_skipped, $exts_tested;
// Check if test should be skipped.
$info = '';
$warn = false;
- $skip_codes = array();
-
- /* Using skip.ini */
- if ($skip_ini = find_ini_skip($file)) {
- $ini = parse_ini_file($skip_ini, true);
-
- /* Skip on 32-bit architecture */
- if (PHP_INT_SIZE == 4 && isset($ini['SKIP_32']['test'])
- && in_array(basename($file), $ini['SKIP_32']['test'])) {
- show_result('SKIP', $tested, $tested_file, 'This test is for non 32-bit', $temp_filenames);
- return 'SKIPPED';
- }
- /* Skip on 64-bit architecture */
- if (PHP_INT_SIZE != 4 && isset($ini['SKIP_64']['test'])
- && in_array(basename($file), $ini['SKIP_64']['test'])) {
- show_result('SKIP', $tested, $tested_file, 'This test is for 32-bit only', $temp_filenames);
- return 'SKIPPED';
- }
-
- $labels = array_keys($ini);
- foreach ($labels as $label) {
- if (in_array($label, array('SKIP_32', 'SKIP_64'))) {
- continue;
- }
- if (isset($ini[$label]['skip']) && isset($ini[$label]['test'])) {
- if (!in_array(basename($file), $ini[$label]['test'])) {
- continue;
- }
- $code = '<?php ';
- foreach ($ini[$label]['skip'] as $skip_file) {
- $code .= 'require_once "'. $skip_file .'";';
- }
- $skip_codes[$label] = $code;
+
+ if (array_key_exists('SKIPIF', $section_text)) {
+
+ if (trim($section_text['SKIPIF'])) {
+ show_file_block('skip', $section_text['SKIPIF']);
+ save_text($test_skipif, $section_text['SKIPIF'], $temp_skipif);
+ $extra = substr(PHP_OS, 0, 3) !== "WIN" ?
+ "unset REQUEST_METHOD; unset QUERY_STRING; unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": "";
+
+ if ($leak_check) {
+ $env['USE_ZEND_ALLOC'] = '0';
+ } else {
+ $env['USE_ZEND_ALLOC'] = '1';
}
- }
- }
- if (isset($section_text['SKIPIF']) && trim($section_text['SKIPIF'])) {
- $skip_codes[] = $section_text['SKIPIF'];
- }
-
- $env['USE_ZEND_ALLOC'] = $leak_check ? '0' : '1';
- $extra = substr(PHP_OS, 0, 3) !== "WIN" ?
- "unset REQUEST_METHOD; unset QUERY_STRING; unset PATH_TRANSLATED; unset SCRIPT_FILENAME; unset REQUEST_METHOD;": "";
-
- if (!empty($skip_codes)) {
- foreach ($skip_codes as $label => $code) {
- show_file_block('skip', $code);
- save_text($test_skipif, $code, $temp_skipif);
-
$output = system_with_timeout("$extra $php $pass_options -q $ini_settings $test_skipif", $env);
if (!$cfg['keep']['skip']) {
}
if (!strncasecmp('skip', ltrim($output), 4)) {
- preg_match('/^\s*skip\s*(.+)\s*/i', $output, $m);
-
- $reason = (is_string($label) && empty($m)) ? $label : (empty($m) ? 'not specified' : $m[1]);
- show_result('SKIP', $tested, $tested_file, 'reason: '. $reason, $temp_filenames);
+
+ if (preg_match('/^\s*skip\s*(.+)\s*/i', $output, $m)) {
+ show_result('SKIP', $tested, $tested_file, "reason: $m[1]", $temp_filenames);
+ } else {
+ show_result('SKIP', $tested, $tested_file, '', $temp_filenames);
+ }
if (isset($old_php)) {
$php = $old_php;