diff options
author | Anatol Belski <ab@php.net> | 2015-08-20 01:07:57 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-08-20 13:32:29 +0200 |
commit | 4ad0714d762bd5dbfa2540e776833eb317f21a1f (patch) | |
tree | 6858d5cf45e72d47ae6ac5be338c99394460073b /ext/pdo_mysql | |
parent | ef7d822c326fce0b657f637f2b5a7aff3b8d1406 (diff) | |
download | php-git-4ad0714d762bd5dbfa2540e776833eb317f21a1f.tar.gz |
fork test
Diffstat (limited to 'ext/pdo_mysql')
-rw-r--r-- | ext/pdo_mysql/tests/pdo_mysql___construct_uri-win32.phpt | 79 | ||||
-rw-r--r-- | ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt | 3 |
2 files changed, 82 insertions, 0 deletions
diff --git a/ext/pdo_mysql/tests/pdo_mysql___construct_uri-win32.phpt b/ext/pdo_mysql/tests/pdo_mysql___construct_uri-win32.phpt new file mode 100644 index 0000000000..b4609b1629 --- /dev/null +++ b/ext/pdo_mysql/tests/pdo_mysql___construct_uri-win32.phpt @@ -0,0 +1,79 @@ +--TEST-- +MySQL PDO->__construct() - URI +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) != 'WIN') { + die('skip only for Windows'); +} +require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc'); +require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); +MySQLPDOTest::skip(); +?> +--FILE-- +<?php + require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); + + try { + + if ($tmp = MySQLPDOTest::getTempDir()) { + + $file = $tmp . DIRECTORY_SEPARATOR . 'pdomuri.tst'; + $dsn = MySQLPDOTest::getDSN(); + $user = PDO_MYSQL_TEST_USER; + $pass = PDO_MYSQL_TEST_PASS; + $uri = sprintf('uri:file:%s', $file); + + if ($fp = @fopen($file, 'w')) { + // ok, great we can create a file with a DSN in it + fwrite($fp, $dsn); + fclose($fp); + clearstatcache(); + assert(file_exists($file)); + try { + $db = new PDO($uri, $user, $pass); + } catch (PDOException $e) { + printf("[002] URI=%s, DSN=%s, File=%s (%d bytes, '%s'), %s\n", + $uri, $dsn, + $file, filesize($file), file_get_contents($file), + $e->getMessage()); + } + unlink($file); + } + + if ($fp = @fopen($file, 'w')) { + fwrite($fp, sprintf('mysql:dbname=letshopeinvalid;%s%s', + chr(0), $dsn)); + fclose($fp); + clearstatcache(); + assert(file_exists($file)); + try { + $db = new PDO($uri, $user, $pass); + } catch (PDOException $e) { + printf("[003] URI=%s, DSN=%s, File=%s (%d bytes, '%s'), chr(0) test, %s\n", + $uri, $dsn, + $file, filesize($file), file_get_contents($file), + $e->getMessage()); + } + unlink($file); + } + + } + + /* TODO: safe mode */ + + } catch (PDOException $e) { + printf("[001] %s, [%s] %s\n", + $e->getMessage(), + (is_object($db)) ? $db->errorCode() : 'n/a', + (is_object($db)) ? implode(' ', $db->errorInfo()) : 'n/a'); + } + + print "done!"; +?> +--EXPECTF-- +Warning: PDO::__construct(file:%spdomuri.tst): failed to open stream: Invalid argument in %s on line %d +[002] URI=uri:file:%spdomuri.tst, DSN=mysql%sdbname=%s, File=%spdomuri.tst (%d bytes, 'mysql%sdbname=%s'), invalid data source URI + +Warning: PDO::__construct(file:%spdomuri.tst): failed to open stream: Invalid argument in %s on line %d +[003] URI=uri:file:%spdomuri.tst, DSN=mysql%sdbname=%s, File=%spdomuri.tst (%d bytes, 'mysql%sdbname=letshopeinvalid%s'), chr(0) test, invalid data source URI +done! diff --git a/ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt b/ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt index d5dd3e67f9..0b1cf3fe65 100644 --- a/ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt +++ b/ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt @@ -2,6 +2,9 @@ MySQL PDO->__construct() - URI --SKIPIF-- <?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip not for Windows'); +} require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc'); require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc'); MySQLPDOTest::skip(); |