mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00

DB server. Note the environment variable MYSQL_TEST_SKIP_CONNECT_FAILURE to control if you want tests that can't connect to fail or to be skipped.
65 lines
No EOL
2.2 KiB
PHP
Executable file
65 lines
No EOL
2.2 KiB
PHP
Executable file
<?php
|
|
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;
|
|
}
|
|
}
|
|
|
|
/* wrapper to simplify test porting */
|
|
function my_mysql_connect($host, $user, $passwd, $db, $port, $socket) {
|
|
|
|
if ($socket)
|
|
$host = sprintf("%s:%s", $host, $socket);
|
|
else if ($port)
|
|
$host = sprintf("%s:%s", $host, $port);
|
|
|
|
if (!$link = mysql_connect($host, $user, $passwd, true)) {
|
|
printf("[000-a] Cannot connect using host '%s', user '%s', password '****', [%d] %s\n",
|
|
$host, $user, $passwd,
|
|
mysql_errno(), mysql_error());
|
|
return false;
|
|
}
|
|
|
|
if (!mysql_select_db($db, $link)) {
|
|
printf("[000-b] [%d] %s\n", mysql_errno($link), mysql_error($link));
|
|
return false;
|
|
}
|
|
|
|
return $link;
|
|
}
|
|
|
|
/*
|
|
Default values are "localhost", "root", database "test" and empty password.
|
|
Change the MYSQL_TEST_* environment values if you want to use another configuration.
|
|
*/
|
|
|
|
$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") : "test";
|
|
$engine = getenv("MYSQL_TEST_ENGINE") ? getenv("MYSQL_TEST_ENGINE") : "MyISAM";
|
|
$socket = getenv("MYSQL_TEST_SOCKET") ? getenv("MYSQL_TEST_SOCKET") : null;
|
|
$skip_on_connect_failure = getenv("MYSQL_TEST_SKIP_CONNECT_FAILURE") ? getenv("MYSQL_TEST_SKIP_CONNECT_FAILURE") : true;
|
|
|
|
/* 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;
|
|
|
|
$IS_MYSQLND = stristr(mysql_get_client_info(), "mysqlnd");
|
|
?>
|