1<?php 2/* Overrule global settings, if need be */ 3 4if (false !== getenv('PDO_MYSQL_TEST_DSN')) { 5 # user set them from their shell 6 $config['ENV']['PDOTEST_DSN'] = getenv('PDO_MYSQL_TEST_DSN'); 7 $config['ENV']['PDOTEST_USER'] = getenv('PDO_MYSQL_TEST_USER'); 8 $config['ENV']['PDOTEST_PASS'] = getenv('PDO_MYSQL_TEST_PASS'); 9 if (false !== getenv('PDO_MYSQL_TEST_ATTR')) { 10 $config['ENV']['PDOTEST_ATTR'] = getenv('PDO_MYSQL_TEST_ATTR'); 11 } 12} else { 13 $config['ENV']['PDOTEST_DSN'] = 'mysql:host=localhost;dbname=test'; 14 $config['ENV']['PDOTEST_USER'] = 'root'; 15 $config['ENV']['PDOTEST_PASS'] = ''; 16} 17 18foreach ($config['ENV'] as $k => $v) { 19 putenv("$k=$v"); 20} 21 22/* MySQL specific settings */ 23define('PDO_MYSQL_TEST_ENGINE', (false !== getenv('PDO_MYSQL_TEST_ENGINE')) ? getenv('PDO_MYSQL_TEST_ENGINE') : 'InnoDB'); 24define('PDO_MYSQL_TEST_HOST', (false !== getenv('PDO_MYSQL_TEST_HOST')) ? getenv('PDO_MYSQL_TEST_HOST') : 'localhost'); 25define('PDO_MYSQL_TEST_PORT', (false !== getenv('PDO_MYSQL_TEST_PORT')) ? getenv('PDO_MYSQL_TEST_PORT') : NULL); 26define('PDO_MYSQL_TEST_DB', (false !== getenv('PDO_MYSQL_TEST_DB')) ? getenv('PDO_MYSQL_TEST_DB') : 'test'); 27define('PDO_MYSQL_TEST_SOCKET', (false !== getenv('PDO_MYSQL_TEST_SOCKET')) ? getenv('PDO_MYSQL_TEST_SOCKET') : NULL); 28define('PDO_MYSQL_TEST_DSN', (false !== getenv('PDO_MYSQL_TEST_DSN')) ? getenv('PDO_MYSQL_TEST_DSN') : $config['ENV']['PDOTEST_DSN']); 29define('PDO_MYSQL_TEST_USER', (false !== getenv('PDO_MYSQL_TEST_USER')) ? getenv('PDO_MYSQL_TEST_USER') : $config['ENV']['PDOTEST_USER']); 30define('PDO_MYSQL_TEST_PASS', (false !== getenv('PDO_MYSQL_TEST_PASS')) ? getenv('PDO_MYSQL_TEST_PASS') : $config['ENV']['PDOTEST_PASS']); 31define('PDO_MYSQL_TEST_CHARSET', (false !== getenv('PDO_MYSQL_TEST_CHARSET')) ? getenv('PDO_MYSQL_TEST_CHARSET') : NULL); 32 33if (!function_exists('sys_get_temp_dir')) { 34 function sys_get_temp_dir() { 35 36 if (!empty($_ENV['TMP'])) 37 return realpath( $_ENV['TMP'] ); 38 if (!empty($_ENV['TMPDIR'])) 39 return realpath( $_ENV['TMPDIR'] ); 40 if (!empty($_ENV['TEMP'])) 41 return realpath( $_ENV['TEMP'] ); 42 43 $temp_file = tempnam(md5(uniqid(rand(), TRUE)), ''); 44 if ($temp_file) { 45 $temp_dir = realpath(dirname($temp_file)); 46 unlink($temp_file); 47 return $temp_dir; 48 } 49 return FALSE; 50 } 51} 52?> 53