diff --git a/ext/standard/tests/mail/gh19188_mixed_mode.phpt b/ext/standard/tests/mail/gh19188_mixed_mode.phpt index fa5eb63bd4fe..5370da6fe892 100644 --- a/ext/standard/tests/mail/gh19188_mixed_mode.phpt +++ b/ext/standard/tests/mail/gh19188_mixed_mode.phpt @@ -1,18 +1,20 @@ --TEST-- GH-19188: mail.cr_lf_mode=mixed +--ENV-- +TEST_NAME={TEST_NAME} --INI-- -sendmail_path={MAIL:gh19188_mixed_mode.out} +sendmail_path={MAIL:{TEST_NAME}.out} mail.cr_lf_mode=mixed --FILE-- --CLEAN-- --EXPECT-- bool(true) diff --git a/run-tests.php b/run-tests.php index 8728c0d7524b..1f4299dfc123 100755 --- a/run-tests.php +++ b/run-tests.php @@ -2137,23 +2137,23 @@ function run_test(string $php, $file, array $env): string $temp_dir = str_replace($temp_source, $temp_target, $temp_dir); } - $main_file_name = basename($file, 'phpt'); - - $diff_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'diff'; - $log_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'log'; - $exp_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'exp'; - $stdin_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'stdin'; - $output_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'out'; - $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'mem'; - $sh_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'sh'; - $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'php'; - $test_file = $test_dir . DIRECTORY_SEPARATOR . $main_file_name . 'php'; - $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'skip.php'; - $test_skipif = $test_dir . DIRECTORY_SEPARATOR . $main_file_name . 'skip.php'; - $temp_clean = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'clean.php'; - $test_clean = $test_dir . DIRECTORY_SEPARATOR . $main_file_name . 'clean.php'; - $preload_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'preload.php'; - $tmp_post = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . 'post'; + $main_file_name = basename($file, '.phpt'); + + $diff_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.diff'; + $log_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.log'; + $exp_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.exp'; + $stdin_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.stdin'; + $output_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.out'; + $memcheck_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.mem'; + $sh_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.sh'; + $temp_file = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.php'; + $test_file = $test_dir . DIRECTORY_SEPARATOR . $main_file_name . '.php'; + $temp_skipif = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.skip.php'; + $test_skipif = $test_dir . DIRECTORY_SEPARATOR . $main_file_name . '.skip.php'; + $temp_clean = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.clean.php'; + $test_clean = $test_dir . DIRECTORY_SEPARATOR . $main_file_name . '.clean.php'; + $preload_filename = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.preload.php'; + $tmp_post = $temp_dir . DIRECTORY_SEPARATOR . $main_file_name . '.post'; $tmp_relative_file = str_replace(__DIR__ . DIRECTORY_SEPARATOR, '', $test_file) . 't'; if ($temp_source && $temp_target) { @@ -2206,6 +2206,7 @@ function run_test(string $php, $file, array $env): string if ($test->sectionNotEmpty('ENV')) { $env_str = str_replace('{PWD}', dirname($file), $test->getSection('ENV')); + $env_str = str_replace('{TEST_NAME}', $main_file_name, $env_str); foreach (explode("\n", $env_str) as $e) { $e = explode('=', trim($e), 2); @@ -2289,6 +2290,7 @@ function run_test(string $php, $file, array $env): string // these may overwrite the test defaults... if ($test->hasSection('INI')) { $ini = str_replace('{PWD}', dirname($file), $test->getSection('INI')); + $ini = str_replace('{TEST_NAME}', $main_file_name, $ini); $ini = str_replace('{TMP}', sys_get_temp_dir(), $ini); $replacement = IS_WINDOWS ? '"' . PHP_BINARY . ' -r \"while ($in = fgets(STDIN)) echo $in;\" > $1"' : 'tee $1 >/dev/null'; $ini = preg_replace('/{MAIL:(\S+)}/', $replacement, $ini); diff --git a/tests/run-test/testname_environment.phpt b/tests/run-test/testname_environment.phpt new file mode 100644 index 000000000000..1318b811d049 --- /dev/null +++ b/tests/run-test/testname_environment.phpt @@ -0,0 +1,11 @@ +--TEST-- +TEST_NAME placeholder in --ENV-- +--ENV-- +TEST_PWD={PWD} +TEST_NAME={TEST_NAME} +--FILE-- + +--EXPECTF-- +%stests/run-test/testname_environment