com php-src: fork test: ext/pdo_mysql/tests/pdo_mysql__ _construct_uri-win32.phpt ext/pdo_mysql/tests/pdo _mysql___construct_uri.phpt

From: Date: Thu, 20 Aug 2015 11:32:29 +0000
Subject: com php-src: fork test: ext/pdo_mysql/tests/pdo_mysql__ _construct_uri-win32.phpt ext/pdo_mysql/tests/pdo _mysql___construct_uri.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-88704@lists.php.net to get a copy of this message
Commit: 4ad0714d762bd5dbfa2540e776833eb317f21a1f Author: Anatol Belski <ab@php.net> Thu, 20 Aug 2015 01:07:57 +0200 Parents: ef7d822c326fce0b657f637f2b5a7aff3b8d1406 Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=4ad0714d762bd5dbfa2540e776833eb317f21a1f Log: fork test Changed paths: A ext/pdo_mysql/tests/pdo_mysql___construct_uri-win32.phpt M ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt Diff: 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 0000000..b4609b1 --- /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 d5dd3e6..0b1cf3f 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();

« previous php.cvs (#88704) next »