@@ -18,10 +18,9 @@ MySQLPDOTest::skip();
18
18
$ dsn = MySQLPDOTest::getDSN ();
19
19
$ user = PDO_MYSQL_TEST_USER ;
20
20
$ pass = PDO_MYSQL_TEST_PASS ;
21
- $ uri = sprintf ( 'uri:file://%s ' , ( substr ( PHP_OS , 0 , 3 ) == ' WIN ' ? str_replace ( '\\' , ' / ' , $ file) : $ file )) ;
21
+ $ uri = 'uri:file:// ' . $ file ;
22
22
23
23
if ($ fp = @fopen ($ file , 'w ' )) {
24
- // ok, great we can create a file with a DSN in it
25
24
fwrite ($ fp , $ dsn );
26
25
fclose ($ fp );
27
26
clearstatcache ();
@@ -38,31 +37,23 @@ MySQLPDOTest::skip();
38
37
}
39
38
40
39
if ($ fp = @fopen ($ file , 'w ' )) {
41
- fwrite ($ fp , sprintf ('mysql:dbname=letshopeinvalid;%s%s ' ,
42
- chr (0 ), $ dsn ));
40
+ fwrite ($ fp , $ dsn . chr (0 ) . ';host=nonsense;unix_socket=nonsense ' );
43
41
fclose ($ fp );
44
42
clearstatcache ();
45
43
assert (file_exists ($ file ));
46
44
try {
47
45
$ db = new PDO ($ uri , $ user , $ pass );
48
46
} catch (PDOException $ e ) {
49
- $ expected = array (
50
- "SQLSTATE[HY000] [1049] Unknown database 'letshopeinvalid' " ,
51
- "SQLSTATE[42000] [1049] Unknown database 'letshopeinvalid' " ,
52
- "SQLSTATE[HY000] [2002] No such file or directory "
53
- );
54
- printf ("[003] URI=%s, DSN=%s, File=%s (%d bytes, '%s'), chr(0) test, %s \n" ,
55
- $ uri , $ dsn ,
56
- $ file , filesize ($ file ), file_get_contents ($ file ),
57
- (in_array ($ e ->getMessage (), $ expected ) ? 'EXPECTED ERROR ' : $ e ->getMessage ()));
47
+ printf ("[003] URI=%s, DSN=%s, File=%s (%d bytes, '%s'), %s \n" ,
48
+ $ uri , $ dsn ,
49
+ $ file , filesize ($ file ), file_get_contents ($ file ),
50
+ $ e ->getMessage ());
58
51
}
59
52
unlink ($ file );
60
53
}
61
54
62
55
}
63
56
64
- /* TODO: safe mode */
65
-
66
57
} catch (PDOException $ e ) {
67
58
printf ("[001] %s, [%s] %s \n" ,
68
59
$ e ->getMessage (),
@@ -73,5 +64,4 @@ MySQLPDOTest::skip();
73
64
print "done! " ;
74
65
?>
75
66
--EXPECTF--
76
- [003] URI=uri:file://%spdomuri.tst, DSN=mysql%sdbname=%s, File=%spdomuri.tst (%d bytes, 'mysql%sdbname=letshopeinvalid%s'), chr(0) test, EXPECTED ERROR
77
67
done!
0 commit comments