summaryrefslogtreecommitdiff
path: root/ext/mysqli/tests/connect.inc
diff options
context:
space:
mode:
authorUlf Wendel <uw@php.net>2007-07-12 20:04:17 +0000
committerUlf Wendel <uw@php.net>2007-07-12 20:04:17 +0000
commit6fff9f4534a1654ae9db22dec951419d7d4106d5 (patch)
treef9cd0ff2c84669474fa4312bfc92e1f52faf607f /ext/mysqli/tests/connect.inc
parentb49f733c6abdb3bbd87f318ad3a2ed0ca956da5d (diff)
downloadphp-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.inc62
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