diff options
author | Matteo Beccati <mbeccati@php.net> | 2014-05-21 18:59:02 +0200 |
---|---|---|
committer | Matteo Beccati <mbeccati@php.net> | 2014-05-21 18:59:02 +0200 |
commit | 69d4a0b8d511db19954a181e9654172be5262191 (patch) | |
tree | c63e1974d780aa1afd60baf6fb07bf65a244cc7f | |
parent | fc076ef60531375214ee5e4252308edc6b98645f (diff) | |
parent | 00a22d4d06b93e6e4185be9df948a811021a2cdf (diff) | |
download | php-git-69d4a0b8d511db19954a181e9654172be5262191.tar.gz |
Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
Improved test for bug #62479
-rw-r--r-- | ext/pdo_pgsql/tests/bug62479.phpt | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/ext/pdo_pgsql/tests/bug62479.phpt b/ext/pdo_pgsql/tests/bug62479.phpt index a12bb8d1ff..913321828e 100644 --- a/ext/pdo_pgsql/tests/bug62479.phpt +++ b/ext/pdo_pgsql/tests/bug62479.phpt @@ -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'; |