install-su: install-pear install-tester
-test: $(SAPI_CLI_PATH)
- @TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
- TEST_PHP_SRCDIR=$(top_srcdir) \
- CC="$(CC)" \
- $(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' $(top_srcdir)/run-tests.php $(TESTS)
+test:
+ -@if test -x $(SAPI_CLI_PATH) && test ! -z $(SAPI_CLI_PATH); then \
+ TEST_PHP_EXECUTABLE=$(top_builddir)/$(SAPI_CLI_PATH) \
+ TEST_PHP_SRCDIR=$(top_srcdir) \
+ CC="$(CC)" \
+ $(top_builddir)/$(SAPI_CLI_PATH) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' $(top_srcdir)/run-tests.php $(TESTS); \
+ else \
+ echo "ERROR: Cannot run tests without CLI sapi."; \
+ fi
clean:
find . -name \*.lo | xargs rm -f
putenv("TEST_PHP_EXECUTABLE=$php");
}
}
-if (!file_exists($php)) {
+if (empty($php) || !file_exists($php)) {
error("environment variable TEST_PHP_EXECUTABLE must be set to specify PHP executable!");
}
}
fclose($fp);
+ /* For GET/POST tests, check if cgi sapi is avaliable and if it is, use it. */
+ if ((!empty($section_text['GET']) || !empty($section_text['POST']))) {
+ if (file_exists("./sapi/cgi/php")) {
+ $old_php = $php;
+ $php = realpath("./sapi/cgi/php") . ' -C ';
+ }
+ }
+
$shortname = str_replace($GLOBALS['cwd'].'/', '', $file);
$tested = trim($section_text['TEST'])." [$shortname]";
} else {
echo "\n";
}
+ if (isset($old_php)) {
+ $php = $old_php;
+ }
return 'SKIPPED';
}
if (eregi("^info", trim($output))) {
$output = trim($out);
$output = preg_replace('/\r\n/',"\n",$output);
+ /* when using CGI, strip the headers from the output */
+ if (isset($old_php) && ($pos = strpos($output, "\n\n")) !== FALSE) {
+ $output = substr($output, ($pos + 2));
+ }
+
if (isset($section_text['EXPECTF']) || isset($section_text['EXPECTREGEX'])) {
if (isset($section_text['EXPECTF'])) {
$wanted = trim($section_text['EXPECTF']);
if (preg_match("/^$wanted_re\$/s", $output)) {
@unlink($tmp_file);
echo "PASS $tested\n";
+ if (isset($old_php)) {
+ $php = $old_php;
+ }
return 'PASSED';
}
if ($ok) {
@unlink($tmp_file);
echo "PASS $tested\n";
+ if (isset($old_php)) {
+ $php = $old_php;
+ }
return 'PASSED';
}
}
error_report($file,$logname,$tested);
}
+ if (isset($old_php)) {
+ $php = $old_php;
+ }
+
return $warn ? 'WARNED' : 'FAILED';
}