Skip to content

Commit

Permalink
Fix tests
Browse files Browse the repository at this point in the history
These tests are obviously meant to test successful and failing uri:
DSNs, but did not pass proper file:// URIs, so actually ended up
testing for invalid data source URIs twice.  We fix this, and adjust
the expectations accordingly.

We also unfork the -win32 variant, since both test cases are almost
identical, and the expected error message may be either one.
  • Loading branch information
cmb69 committed Apr 29, 2019
1 parent fc9cdb7 commit 9bf1104
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 89 deletions.
79 changes: 0 additions & 79 deletions ext/pdo_mysql/tests/pdo_mysql___construct_uri-win32.phpt

This file was deleted.

17 changes: 7 additions & 10 deletions ext/pdo_mysql/tests/pdo_mysql___construct_uri.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,6 @@
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();
Expand All @@ -21,7 +18,7 @@ MySQLPDOTest::skip();
$dsn = MySQLPDOTest::getDSN();
$user = PDO_MYSQL_TEST_USER;
$pass = PDO_MYSQL_TEST_PASS;
$uri = sprintf('uri:file:%s', $file);
$uri = sprintf('uri:file://%s', (substr(PHP_OS, 0, 3) == 'WIN' ? str_replace('\\', '/', $file) : $file));

if ($fp = @fopen($file, 'w')) {
// ok, great we can create a file with a DSN in it
Expand Down Expand Up @@ -49,10 +46,14 @@ MySQLPDOTest::skip();
try {
$db = new PDO($uri, $user, $pass);
} catch (PDOException $e) {
$expected = array(
"SQLSTATE[HY000] [1049] Unknown database 'letshopeinvalid'",
"SQLSTATE[HY000] [2002] No such file or directory"
);
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());
(in_array($e->getMessage(), $expected) ? 'EXPECTED ERROR' : $e->getMessage()));
}
unlink($file);
}
Expand All @@ -71,9 +72,5 @@ MySQLPDOTest::skip();
print "done!";
?>
--EXPECTF--
Warning: PDO::__construct(file:/tmp/pdomuri.tst): failed to open stream: No such file or directory 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:/tmp/pdomuri.tst): failed to open stream: No such file or directory 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
[003] URI=uri:file://%spdomuri.tst, DSN=mysql%sdbname=%s, File=%spdomuri.tst (%d bytes, 'mysql%sdbname=letshopeinvalid%s'), chr(0) test, EXPECTED ERROR
done!

0 comments on commit 9bf1104

Please sign in to comment.