summaryrefslogtreecommitdiff
path: root/ext/pdo_odbc/tests/common.phpt
blob: f64da1a438e8619b3b5c5ec0146ecf08bf801c52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
--TEST--
ODBC
--SKIPIF--
<?php # vim:ft=php
if (!extension_loaded('pdo_odbc')) print 'skip'; ?>
--REDIRECTTEST--
# magic auto-configuration

$config = array(
	'TESTS' => 'ext/pdo/tests'
);
	

if (false !== getenv('PDO_ODBC_TEST_DSN')) {
	# user set them from their shell
	$config['ENV']['PDOTEST_DSN'] = getenv('PDO_ODBC_TEST_DSN');
	$config['ENV']['PDOTEST_USER'] = getenv('PDO_ODBC_TEST_USER');
	$config['ENV']['PDOTEST_PASS'] = getenv('PDO_ODBC_TEST_PASS');
	if (false !== getenv('PDO_ODBC_TEST_ATTR')) {
		$config['ENV']['PDOTEST_ATTR'] = getenv('PDO_ODBC_TEST_ATTR');
	}
} elseif (preg_match('/^WIN/i', PHP_OS)) {
	# on windows, try to create a temporary MS access database
	$path = realpath(dirname(__FILE__)) . '\pdo_odbc.mdb';
	if (!file_exists($path)) {
		try {
			$adox = new COM('ADOX.Catalog');
			$adox->Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' . $path);
			$adox = null;
	
		} catch (Exception $e) {
		}
	}
	if (file_exists($path)) {
		$config['ENV']['PDOTEST_DSN'] = "odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=$path;Uid=Admin";
	}
}
# other magic autodetection here, eg: for DB2 by inspecting env
/*
$USER = 'db2inst1';
$PASSWD = 'ibmdb2';
$DBNAME = 'SAMPLE';

$CONNECTION = "odbc:DSN=$DBNAME;UID=$USER;PWD=$PASSWD;";
*/

	
return $config;