summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-06-13 12:35:29 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-13 12:35:29 +0200
commitf8a68fd9350ac97d33d1773453c4e9d47a97b33f (patch)
treeccdf75c8b1adc0843932cc588daac017f73dc816
parentfeb92adc5c5a1526f34894b1db676f1191c1a238 (diff)
downloadphp-git-f8a68fd9350ac97d33d1773453c4e9d47a97b33f.tar.gz
Add test for bug #78106
Also add PHP_TEST_EXTRA_ARGS environment variable, which allows to pass on -c, -d etc flags provided by run-tests.php. Otherwise we won't get the built-in server to run with opcache.
-rw-r--r--ext/opcache/tests/bug78106.phpt22
-rw-r--r--ext/opcache/tests/bug78106_include.inc3
-rw-r--r--ext/opcache/tests/bug78106_test1.php6
-rw-r--r--ext/opcache/tests/bug78106_test2.php5
-rwxr-xr-xrun-tests.php4
5 files changed, 39 insertions, 1 deletions
diff --git a/ext/opcache/tests/bug78106.phpt b/ext/opcache/tests/bug78106.phpt
new file mode 100644
index 0000000000..86c8acd3ae
--- /dev/null
+++ b/ext/opcache/tests/bug78106.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #78106: PHP Fatal error: Uncaught Error: Class 'Phpfastcache\Config\Config' not found
+--XFAIL--
+Not fixed yet
+--FILE--
+<?php
+
+include __DIR__ . "/php_cli_server.inc";
+php_cli_server_start(getenv('TEST_PHP_EXTRA_ARGS'));
+
+echo file_get_contents("http://" . PHP_CLI_SERVER_ADDRESS . "/bug78106_test1.php" );
+echo file_get_contents("http://" . PHP_CLI_SERVER_ADDRESS . "/bug78106_test2.php" );
+echo file_get_contents("http://" . PHP_CLI_SERVER_ADDRESS . "/bug78106_test1.php" );
+
+?>
+--EXPECT--
+included
+done
+included
+done
+included
+done
diff --git a/ext/opcache/tests/bug78106_include.inc b/ext/opcache/tests/bug78106_include.inc
new file mode 100644
index 0000000000..06e39270f6
--- /dev/null
+++ b/ext/opcache/tests/bug78106_include.inc
@@ -0,0 +1,3 @@
+<?php
+
+echo "included\n";
diff --git a/ext/opcache/tests/bug78106_test1.php b/ext/opcache/tests/bug78106_test1.php
new file mode 100644
index 0000000000..85216d4b92
--- /dev/null
+++ b/ext/opcache/tests/bug78106_test1.php
@@ -0,0 +1,6 @@
+<?php
+
+ini_set('opcache.enable', 0);
+require_once 'bug78106_include.inc';
+
+echo "done\n";
diff --git a/ext/opcache/tests/bug78106_test2.php b/ext/opcache/tests/bug78106_test2.php
new file mode 100644
index 0000000000..6a6aa75535
--- /dev/null
+++ b/ext/opcache/tests/bug78106_test2.php
@@ -0,0 +1,5 @@
+<?php
+
+require_once 'bug78106_include.inc';
+
+echo "done\n";
diff --git a/run-tests.php b/run-tests.php
index 1e07509506..d5638aad99 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -820,7 +820,7 @@ HELP;
if (substr(PHP_OS, 0, 3) == "WIN") {
$pass_options .= " -c " . escapeshellarg($conf_passed);
} else {
- $pass_options .= " -c '$conf_passed'";
+ $pass_options .= " -c '" . realpath($conf_passed) . "'";
}
}
@@ -1611,6 +1611,8 @@ TEST $file
settings2params($ini_settings);
+ $env['TEST_PHP_EXTRA_ARGS'] = $pass_options . ' ' . $ini_settings;
+
// Check if test should be skipped.
$info = '';
$warn = false;