1--TEST--
2MySQL PDO->__construct() - URI
3--SKIPIF--
4<?php
5require_once(__DIR__ . DIRECTORY_SEPARATOR . 'skipif.inc');
6require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
7MySQLPDOTest::skip();
8/* TODO - fix this limitation */
9if (getenv('PDO_MYSQL_TEST_DSN') !== "mysql:dbname=phptest;unix_socket=/tmp/mysql.sock")
10    die("skip Fix test to run in other environments as well!");
11?>
12--INI--
13pdo.dsn.mysql="mysql:dbname=phptest;socket=/tmp/mysql.sock"
14--FILE--
15<?php
16    require_once(__DIR__ . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
17
18    $found = false;
19    $values = ini_get_all();
20    foreach ($values as $name => $dsn)
21        if ('pdo.dsn.mysql' == $name) {
22            printf("pdo.dsn.mysql=%s\n", $dsn);
23            $found = true;
24            break;
25        }
26
27    if (!$found) {
28        $dsn = ini_get('pdo.dsn.mysql');
29        $found = ($dsn !== false);
30    }
31
32    if (!$found)
33        printf("pdo.dsn.mysql cannot be accessed through ini_get_all()/ini_get()\n");
34
35    if (MySQLPDOTest::getDSN() == $dsn) {
36        // we are lucky, we can run the test
37        try {
38
39            $user = PDO_MYSQL_TEST_USER;
40            $pass	= PDO_MYSQL_TEST_PASS;
41            $db = new PDO('mysql', $user, $pass);
42
43        } catch (PDOException $e) {
44            printf("[001] %s, [%s] %s\n",
45                $e->getMessage(),
46                (is_object($db)) ? $db->errorCode() : 'n/a',
47                (is_object($db)) ? implode(' ', $db->errorInfo()) : 'n/a');
48        }
49
50    }
51
52    print "done!";
53?>
54--EXPECT--
55pdo.dsn.mysql cannot be accessed through ini_get_all()/ini_get()
56done!
57