|
|
|
@ -6,15 +6,34 @@ if (!extension_loaded('pdo') || !extension_loaded('pdo_pgsql')) die('skip not lo |
|
|
|
require dirname(__FILE__) . '/config.inc'; |
|
|
|
require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; |
|
|
|
PDOTest::skip(); |
|
|
|
if (!isset($conf['ENV']['PDOTEST_DSN'])) die('no dsn found in env'); |
|
|
|
|
|
|
|
$dsn = getenv('PDOTEST_DSN'); |
|
|
|
if (empty($dsn)) die('skip no dsn found in env'); |
|
|
|
|
|
|
|
$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); |
|
|
|
$rand = rand(5, 5); |
|
|
|
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
|
|
|
|
|
|
|
|
|
|
|
$user = 'pdo_test_'.rand(5, 400); |
|
|
|
$pass = 'testpass'; |
|
|
|
|
|
|
|
// Assume that if we can't create or drop a user, this test needs to be skipped |
|
|
|
try { |
|
|
|
$db->exec("DROP USER IF EXISTS $user"); |
|
|
|
$db->exec("CREATE USER $user WITH PASSWORD '$pass'"); |
|
|
|
} catch (PDOException $e) { |
|
|
|
die("skip You need CREATEUSER permissions to run the test"); |
|
|
|
} |
|
|
|
|
|
|
|
// Peer authentication might prevent the test from properly running |
|
|
|
try { |
|
|
|
$testConn = new PDO($dsn, $user, $pass); |
|
|
|
} catch (PDOException $e) { |
|
|
|
echo "skip ".$e->getMessage(); |
|
|
|
} |
|
|
|
|
|
|
|
$db->exec("DROP USER $user"); |
|
|
|
|
|
|
|
// Assume that if we can't create a user, this test needs to be skipped |
|
|
|
$testQuery = "CREATE USER pdo_$rand WITH PASSWORD 'testpass'"; |
|
|
|
$db->query($testQuery); |
|
|
|
$testQuery = "DROP USER pdo_$rand"; |
|
|
|
$db->query($testQuery); |
|
|
|
?> |
|
|
|
--FILE-- |
|
|
|
<?php |
|
|
|
@ -22,7 +41,7 @@ require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; |
|
|
|
$pdo = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); |
|
|
|
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true); |
|
|
|
$rand = rand(5, 400); |
|
|
|
$user = "pdo_$rand"; |
|
|
|
$user = "pdo_test_$rand"; |
|
|
|
$template = "CREATE USER $user WITH PASSWORD '%s'"; |
|
|
|
$dropUser = "DROP USER $user"; |
|
|
|
$testQuery = 'SELECT 1 as verification'; |
|
|
|
|