diff options
| author | Ulf Wendel <uw@php.net> | 2007-07-12 20:04:17 +0000 |
|---|---|---|
| committer | Ulf Wendel <uw@php.net> | 2007-07-12 20:04:17 +0000 |
| commit | 6fff9f4534a1654ae9db22dec951419d7d4106d5 (patch) | |
| tree | f9cd0ff2c84669474fa4312bfc92e1f52faf607f /ext/mysqli/tests/connect.inc | |
| parent | b49f733c6abdb3bbd87f318ad3a2ed0ca956da5d (diff) | |
| download | php-git-6fff9f4534a1654ae9db22dec951419d7d4106d5.tar.gz | |
Starting to merge the latest set of ext/mysqli tests from the mysqlnd
SVN repro into HEAD. Again, it might happen that I crash the set of tests
and don't mention one or the other change while merging. Blame me...
1) Note the new environment variables to control the test run
2) Variables $IS_MYSQLND and $MYSQLND_VERSION are for writing portable tests
3) sys_get_temp_dir function is for PHP5/PHP6 portability
Diffstat (limited to 'ext/mysqli/tests/connect.inc')
| -rw-r--r-- | ext/mysqli/tests/connect.inc | 62 |
1 files changed, 51 insertions, 11 deletions
diff --git a/ext/mysqli/tests/connect.inc b/ext/mysqli/tests/connect.inc index 16462a1bbd..8b86355564 100644 --- a/ext/mysqli/tests/connect.inc +++ b/ext/mysqli/tests/connect.inc @@ -1,14 +1,54 @@ <?php + /* + Default values are "localhost", "root", + database "phptest" and empty password. + Change the MYSQL_TEST environment values + if you want to use another configuration + */ + + $driver = new mysqli_driver; - /* default values are localhost, root and empty password - Change the MYSQL_TEST environment values if you want to - use another configuration */ - $driver = new mysqli_driver; + $host = getenv("MYSQL_TEST_HOST") ? getenv("MYSQL_TEST_HOST") : "localhost"; + $port = getenv("MYSQL_TEST_PORT") ? getenv("MYSQL_TEST_PORT") : 3306; + $user = getenv("MYSQL_TEST_USER") ? getenv("MYSQL_TEST_USER") : "root"; + $passwd = getenv("MYSQL_TEST_PASSWD") ? getenv("MYSQL_TEST_PASSWD") : ""; + $db = getenv("MYSQL_TEST_DB") ? getenv("MYSQL_TEST_DB") : "phptest"; + $engine = getenv("MYSQL_TEST_ENGINE") ? getenv("MYSQL_TEST_ENGINE") : "MyISAM"; + $socket = getenv("MYSQL_TEST_SOCKET") ? getenv("MYSQL_TEST_SOCKET") : null; + + /* Development setting: test experimal features and/or feature requests that never worked before? */ + $TEST_EXPERIMENTAL = (in_array(getenv("MYSQL_TEST_EXPERIMENTAL"), array(0, 1))) ? + ((1 == getenv("MYSQL_TEST_EXPERIMENTAL")) ? true : false) : + false; - $host = getenv("MYSQL_TEST_HOST") ? getenv("MYSQL_TEST_HOST") : "localhost"; - $port = getenv("MYSQL_TEST_PORT") ? getenv("MYSQL_TEST_PORT") : 3306; - $user = getenv("MYSQL_TEST_USER") ? getenv("MYSQL_TEST_USER") : "root"; - $passwd = getenv("MYSQL_TEST_PASSWD") ? getenv("MYSQL_TEST_PASSWD") : ""; - $db = getenv("MYSQL_TEST_DB") ? getenv("MYSQL_TEST_DB") : "phptest"; - $engine = getenv("MYSQL_TEST_ENGINE") ? getenv("MYSQL_TEST_ENGINE") : "MyISAM"; -?> + $IS_MYSQLND = stristr(mysqli_get_client_info(), "mysqlnd"); + if (!$IS_MYSQLND) { + $MYSQLND_VERSION = NULL; + } else { + if (preg_match('@Revision:\s+(\d+)\s*\$@ism', mysqli_get_client_info(), $matches)) { + $MYSQLND_VERSION = (int)$matches[1]; + } else { + $MYSQLND_VERSION = -1; + } + } + + if (!function_exists('sys_get_temp_dir')) { + function sys_get_temp_dir() { + + if (!empty($_ENV['TMP'])) + return realpath( $_ENV['TMP'] ); + if (!empty($_ENV['TMPDIR'])) + return realpath( $_ENV['TMPDIR'] ); + if (!empty($_ENV['TEMP'])) + return realpath( $_ENV['TEMP'] ); + + $temp_file = tempnam(md5(uniqid(rand(), TRUE)), ''); + if ($temp_file) { + $temp_dir = realpath(dirname($temp_file)); + unlink($temp_file); + return $temp_dir; + } + return FALSE; + } + } +?>
\ No newline at end of file |
