summaryrefslogtreecommitdiff
path: root/ext/standard/tests
diff options
context:
space:
mode:
authorGeorge Peter Banyard <girgias@php.net>2020-07-28 14:50:41 +0100
committerGeorge Peter Banyard <girgias@php.net>2020-07-31 13:39:58 +0100
commitc3105a1f8dba9ee0532d952815e8628250aed3fd (patch)
tree15abc22e703ee34463a4468e773028780a302285 /ext/standard/tests
parentf78a09101496d05b4fb50fe37b7dbf5d038452ec (diff)
downloadphp-git-c3105a1f8dba9ee0532d952815e8628250aed3fd.tar.gz
ValueError for empty path in stream code
Closes GH-5902
Diffstat (limited to 'ext/standard/tests')
-rw-r--r--ext/standard/tests/file/file_get_contents_variation8-win32.phpt28
-rw-r--r--ext/standard/tests/file/file_get_contents_variation8.phpt28
-rw-r--r--ext/standard/tests/file/file_put_contents_variation8-win32.phpt44
-rw-r--r--ext/standard/tests/file/file_put_contents_variation8.phpt49
-rw-r--r--ext/standard/tests/file/readfile_error.phpt30
-rw-r--r--ext/standard/tests/file/readfile_variation10-win32.phpt20
-rw-r--r--ext/standard/tests/file/readfile_variation10.phptbin1539 -> 1511 bytes
-rw-r--r--ext/standard/tests/strings/md5_file.phptbin2425 -> 2468 bytes
-rw-r--r--ext/standard/tests/strings/sha1_file.phpt20
9 files changed, 100 insertions, 119 deletions
diff --git a/ext/standard/tests/file/file_get_contents_variation8-win32.phpt b/ext/standard/tests/file/file_get_contents_variation8-win32.phpt
index d2e39b56bd..aa57689ad7 100644
--- a/ext/standard/tests/file/file_get_contents_variation8-win32.phpt
+++ b/ext/standard/tests/file/file_get_contents_variation8-win32.phpt
@@ -33,12 +33,12 @@ $names_arr = array(
);
foreach($names_arr as $key =>$value) {
- echo "\n-- Filename: $key --\n";
- try {
- var_dump(file_get_contents($value));
- } catch (TypeError $e) {
- echo $e->getMessage(), "\n";
- }
+ echo "\n-- Filename: $key --\n";
+ try {
+ var_dump(file_get_contents($value));
+ } catch (\TypeError|\ValueError $e) {
+ echo get_class($e) . ': ' . $e->getMessage(), "\n";
+ }
}
?>
@@ -56,19 +56,13 @@ Warning: file_get_contents(1): Failed to open stream: No such file or directory
bool(false)
-- Filename: FALSE --
-
-Warning: file_get_contents(): Filename cannot be empty in %s on line %d
-bool(false)
+ValueError: Path cannot be empty
-- Filename: NULL --
-
-Warning: file_get_contents(): Filename cannot be empty in %sfile_get_contents_variation8-win32.php on line %d
-bool(false)
+ValueError: Path cannot be empty
-- Filename: "" --
-
-Warning: file_get_contents(): Filename cannot be empty in %s on line %d
-bool(false)
+ValueError: Path cannot be empty
-- Filename: " " --
@@ -76,10 +70,10 @@ Warning: file_get_contents( ): Failed to open stream: Permission denied in %s on
bool(false)
-- Filename: \0 --
-file_get_contents(): Argument #1 ($filename) must be a valid path, string given
+TypeError: file_get_contents(): Argument #1 ($filename) must be a valid path, string given
-- Filename: array() --
-file_get_contents(): Argument #1 ($filename) must be a valid path, array given
+TypeError: file_get_contents(): Argument #1 ($filename) must be a valid path, array given
-- Filename: /no/such/file/dir --
diff --git a/ext/standard/tests/file/file_get_contents_variation8.phpt b/ext/standard/tests/file/file_get_contents_variation8.phpt
index fb867e28f7..5c466f1b20 100644
--- a/ext/standard/tests/file/file_get_contents_variation8.phpt
+++ b/ext/standard/tests/file/file_get_contents_variation8.phpt
@@ -32,12 +32,12 @@ $names_arr = array(
);
for( $i=0; $i<count($names_arr); $i++ ) {
- echo "-- Iteration $i --\n";
- try {
- var_dump(file_get_contents($names_arr[$i]));
- } catch (TypeError $e) {
- echo $e->getMessage(), "\n";
- }
+ echo "-- Iteration $i --\n";
+ try {
+ var_dump(file_get_contents($names_arr[$i]));
+ } catch (\TypeError|\ValueError $e) {
+ echo get_class($e) . ': ' . $e->getMessage(), "\n";
+ }
}
echo "\n*** Done ***\n";
@@ -53,25 +53,19 @@ bool(false)
Warning: file_get_contents(1): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 2 --
-
-Warning: file_get_contents(): Filename cannot be empty in %s on line %d
-bool(false)
+ValueError: Path cannot be empty
-- Iteration 3 --
-
-Warning: file_get_contents(): Filename cannot be empty in %s on line %d
-bool(false)
+ValueError: Path cannot be empty
-- Iteration 4 --
-
-Warning: file_get_contents(): Filename cannot be empty in %s on line %d
-bool(false)
+ValueError: Path cannot be empty
-- Iteration 5 --
Warning: file_get_contents( ): Failed to open stream: No such file or directory in %s on line %d
bool(false)
-- Iteration 6 --
-file_get_contents(): Argument #1 ($filename) must be a valid path, string given
+TypeError: file_get_contents(): Argument #1 ($filename) must be a valid path, string given
-- Iteration 7 --
-file_get_contents(): Argument #1 ($filename) must be a valid path, array given
+TypeError: file_get_contents(): Argument #1 ($filename) must be a valid path, array given
-- Iteration 8 --
Warning: file_get_contents(/no/such/file/dir): Failed to open stream: No such file or directory in %s on line %d
diff --git a/ext/standard/tests/file/file_put_contents_variation8-win32.phpt b/ext/standard/tests/file/file_put_contents_variation8-win32.phpt
index 5246a5af23..1ba4d9e98f 100644
--- a/ext/standard/tests/file/file_put_contents_variation8-win32.phpt
+++ b/ext/standard/tests/file/file_put_contents_variation8-win32.phpt
@@ -31,44 +31,38 @@ $names_arr = array(
);
foreach($names_arr as $key =>$value) {
- echo "\n-- Filename: $key --\n";
- try {
- $res = file_put_contents($value, "Some data");
- if ($res !== false && $res != null) {
- echo "$res bytes written to: $value\n";
- unlink($value);
- } else {
- echo "Failed to write data to: $key\n";
+ echo "\n-- Filename: $key --\n";
+ try {
+ $res = file_put_contents($value, "Some data");
+ if ($res !== false && $res != null) {
+ echo "$res bytes written to: '$value'\n";
+ unlink($value);
+ } else {
+ echo "Failed to write data to: $key\n";
+ }
+ } catch (\TypeError|\ValueError $e) {
+ echo get_class($e) . ': ' . $e->getMessage(), "\n";
}
- } catch (TypeError $e) {
- echo $e->getMessage(), "\n";
- }
-};
+}
?>
--EXPECTF--
*** Testing file_put_contents() : usage variation ***
-- Filename: -1 --
-9 bytes written to: -1
+9 bytes written to: '-1'
-- Filename: TRUE --
-9 bytes written to: 1
+9 bytes written to: '1'
-- Filename: FALSE --
-
-Warning: file_put_contents(): Filename cannot be empty in %s on line %d
-Failed to write data to: FALSE
+ValueError: Path cannot be empty
-- Filename: NULL --
-
-Warning: file_put_contents(): Filename cannot be empty in %s on line %d
-Failed to write data to: NULL
+ValueError: Path cannot be empty
-- Filename: "" --
-
-Warning: file_put_contents(): Filename cannot be empty in %s on line %d
-Failed to write data to: ""
+ValueError: Path cannot be empty
-- Filename: " " --
@@ -76,10 +70,10 @@ Warning: file_put_contents( ): Failed to open stream: Permission denied in %s on
Failed to write data to: " "
-- Filename: \0 --
-file_put_contents(): Argument #1 ($filename) must be a valid path, string given
+TypeError: file_put_contents(): Argument #1 ($filename) must be a valid path, string given
-- Filename: array() --
-file_put_contents(): Argument #1 ($filename) must be a valid path, array given
+TypeError: file_put_contents(): Argument #1 ($filename) must be a valid path, array given
-- Filename: /no/such/file/dir --
diff --git a/ext/standard/tests/file/file_put_contents_variation8.phpt b/ext/standard/tests/file/file_put_contents_variation8.phpt
index 63ac4b56fd..70e8ef48e5 100644
--- a/ext/standard/tests/file/file_put_contents_variation8.phpt
+++ b/ext/standard/tests/file/file_put_contents_variation8.phpt
@@ -36,19 +36,18 @@ $names_arr = array(
);
for( $i=0; $i<count($names_arr); $i++ ) {
- echo "-- Iteration $i --\n";
- try {
- $res = file_put_contents($names_arr[$i], "Some data");
- if ($res !== false && $res != null) {
- echo "$res bytes written to: $names_arr[$i]\n";
- unlink($names_arr[$i]);
+ echo "-- Iteration $i --\n";
+ try {
+ $res = file_put_contents($names_arr[$i], "Some data");
+ if ($res !== false && $res != null) {
+ echo "$res bytes written to: '$names_arr[$i]'\n";
+ unlink($names_arr[$i]);
+ } else {
+ echo "Failed to write data to: '$names_arr[$i]'\n";
+ }
+ } catch (\TypeError|\ValueError $e) {
+ echo get_class($e) . ': ' . $e->getMessage(), "\n";
}
- else {
- echo "Failed to write data to: $names_arr[$i]\n";
- }
- } catch (TypeError $e) {
- echo $e->getMessage(), "\n";
- }
}
rmdir($dir);
@@ -57,34 +56,28 @@ echo "\n*** Done ***\n";
--EXPECTF--
*** Testing file_put_contents() : usage variation ***
-- Iteration 0 --
-9 bytes written to: -1
+9 bytes written to: '-1'
-- Iteration 1 --
-9 bytes written to: 1
+9 bytes written to: '1'
-- Iteration 2 --
-
-Warning: file_put_contents(): Filename cannot be empty in %s on line %d
-Failed to write data to:
+ValueError: Path cannot be empty
-- Iteration 3 --
-
-Warning: file_put_contents(): Filename cannot be empty in %s on line %d
-Failed to write data to:
+ValueError: Path cannot be empty
-- Iteration 4 --
-
-Warning: file_put_contents(): Filename cannot be empty in %s on line %d
-Failed to write data to:
+ValueError: Path cannot be empty
-- Iteration 5 --
-9 bytes written to:
+9 bytes written to: ' '
-- Iteration 6 --
-file_put_contents(): Argument #1 ($filename) must be a valid path, string given
+TypeError: file_put_contents(): Argument #1 ($filename) must be a valid path, string given
-- Iteration 7 --
-file_put_contents(): Argument #1 ($filename) must be a valid path, array given
+TypeError: file_put_contents(): Argument #1 ($filename) must be a valid path, array given
-- Iteration 8 --
Warning: file_put_contents(%sdir): Failed to open stream: %s in %s on line %d
-Failed to write data to: %sir
+Failed to write data to: '%sir'
-- Iteration 9 --
Warning: file_put_contents(%sphp): Failed to open stream: %s in %s on line %d
-Failed to write data to: %sphp
+Failed to write data to: '%sphp'
*** Done ***
diff --git a/ext/standard/tests/file/readfile_error.phpt b/ext/standard/tests/file/readfile_error.phpt
index 6ae9f9a4de..bec5b383d7 100644
--- a/ext/standard/tests/file/readfile_error.phpt
+++ b/ext/standard/tests/file/readfile_error.phpt
@@ -8,9 +8,21 @@ echo "*** Test readfile(): error conditions ***\n";
echo "\n-- Testing readfile() with invalid arguments --\n";
// invalid arguments
-var_dump( readfile(NULL) ); // NULL as $filename
-var_dump( readfile('') ); // empty string as $filename
-var_dump( readfile(false) ); // boolean false as $filename
+try {
+ var_dump( readfile(NULL) ); // NULL as $filename
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+try {
+ var_dump( readfile('') ); // empty string as $filename
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
+try {
+ var_dump( readfile(false) ); // boolean false as $filename
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
echo "\n-- Testing readfile() with non-existent file --\n";
$non_existent_file = __DIR__."/non_existent_file.tmp";
@@ -22,15 +34,9 @@ echo "Done\n";
*** Test readfile(): error conditions ***
-- Testing readfile() with invalid arguments --
-
-Warning: readfile(): Filename cannot be empty in %s on line %d
-bool(false)
-
-Warning: readfile(): Filename cannot be empty in %s on line %d
-bool(false)
-
-Warning: readfile(): Filename cannot be empty in %s on line %d
-bool(false)
+Path cannot be empty
+Path cannot be empty
+Path cannot be empty
-- Testing readfile() with non-existent file --
diff --git a/ext/standard/tests/file/readfile_variation10-win32.phpt b/ext/standard/tests/file/readfile_variation10-win32.phpt
index ecd850eb59..05753f93a2 100644
--- a/ext/standard/tests/file/readfile_variation10-win32.phpt
+++ b/ext/standard/tests/file/readfile_variation10-win32.phpt
@@ -35,11 +35,10 @@ foreach($names_arr as $key => $value) {
echo "\n-- Filename: $key --\n";
try {
readfile($value);
- } catch (TypeError $e) {
- echo $e->getMessage(), "\n";
+ } catch (\TypeError|\ValueError $e) {
+ echo get_class($e) . ': ' . $e->getMessage(), "\n";
}
-};
-
+}
?>
--EXPECTF--
*** Testing readfile() : variation ***
@@ -53,26 +52,23 @@ Warning: readfile(-1): Failed to open stream: No such file or directory in %s on
Warning: readfile(1): Failed to open stream: No such file or directory in %s on line %d
-- Filename: FALSE --
-
-Warning: readfile(): Filename cannot be empty in %s on line %d
+ValueError: Path cannot be empty
-- Filename: NULL --
-
-Warning: readfile(): Filename cannot be empty in %s on line %d
+ValueError: Path cannot be empty
-- Filename: "" --
-
-Warning: readfile(): Filename cannot be empty in %s on line %d
+ValueError: Path cannot be empty
-- Filename: " " --
Warning: readfile( ): Failed to open stream: Permission denied in %s on line %d
-- Filename: \0 --
-readfile(): Argument #1 ($filename) must be a valid path, string given
+TypeError: readfile(): Argument #1 ($filename) must be a valid path, string given
-- Filename: array() --
-readfile(): Argument #1 ($filename) must be a valid path, array given
+TypeError: readfile(): Argument #1 ($filename) must be a valid path, array given
-- Filename: /no/such/file/dir --
diff --git a/ext/standard/tests/file/readfile_variation10.phpt b/ext/standard/tests/file/readfile_variation10.phpt
index 304f57154c..06e010fed0 100644
--- a/ext/standard/tests/file/readfile_variation10.phpt
+++ b/ext/standard/tests/file/readfile_variation10.phpt
Binary files differ
diff --git a/ext/standard/tests/strings/md5_file.phpt b/ext/standard/tests/strings/md5_file.phpt
index 4bc9096017..26eb03bc5a 100644
--- a/ext/standard/tests/strings/md5_file.phpt
+++ b/ext/standard/tests/strings/md5_file.phpt
Binary files differ
diff --git a/ext/standard/tests/strings/sha1_file.phpt b/ext/standard/tests/strings/sha1_file.phpt
index 3d4dbfe2cf..55130cb98a 100644
--- a/ext/standard/tests/strings/sha1_file.phpt
+++ b/ext/standard/tests/strings/sha1_file.phpt
@@ -32,7 +32,11 @@ fclose($handle2);
echo "\n*** Testing for error conditions ***\n";
echo "\n-- No filename --\n";
-var_dump( sha1_file("") );
+try {
+ var_dump( sha1_file("") );
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
echo "\n-- invalid filename --\n";
var_dump( sha1_file("rewncwYcn89q") );
@@ -41,7 +45,11 @@ echo "\n-- Scalar value as filename --\n";
var_dump( sha1_file(12) );
echo "\n-- NULL as filename --\n";
-var_dump( sha1_file(NULL) );
+try {
+ var_dump( sha1_file(NULL) );
+} catch (\ValueError $e) {
+ echo $e->getMessage() . \PHP_EOL;
+}
echo "\n-- Hexadecimal Output for Empty file as Argument --\n";
var_dump( sha1_file("EmptyFileSHA1.txt") );
@@ -66,9 +74,7 @@ unlink("EmptyFileSHA1.txt");
*** Testing for error conditions ***
-- No filename --
-
-Warning: sha1_file(): Filename cannot be empty in %s on line %d
-bool(false)
+Path cannot be empty
-- invalid filename --
@@ -81,9 +87,7 @@ Warning: sha1_file(12): Failed to open stream: No such file or directory in %s o
bool(false)
-- NULL as filename --
-
-Warning: sha1_file(): Filename cannot be empty in %s on line %d
-bool(false)
+Path cannot be empty
-- Hexadecimal Output for Empty file as Argument --
string(40) "da39a3ee5e6b4b0d3255bfef95601890afd80709"