summaryrefslogtreecommitdiff
path: root/ext/standard/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests')
-rw-r--r--ext/standard/tests/array/array_shift_variation5.phpt4
-rw-r--r--ext/standard/tests/array/bug48484.phpt8
-rw-r--r--ext/standard/tests/array/bug54459.phpt215
-rw-r--r--ext/standard/tests/class_object/is_subclass_of_variation_001.phpt4
-rw-r--r--ext/standard/tests/class_object/is_subclass_of_variation_004.phpt4
-rw-r--r--ext/standard/tests/file/001.phpt1
-rw-r--r--ext/standard/tests/file/005_variation.phpt3
-rw-r--r--ext/standard/tests/file/005_variation2.phpt26
-rw-r--r--ext/standard/tests/file/bug39863.phpt2
-rw-r--r--ext/standard/tests/file/bug53848.phpt25
-rw-r--r--ext/standard/tests/file/copy_variation4.phptbin4467 -> 4468 bytes
-rw-r--r--ext/standard/tests/file/file_put_contents_variation8.phptbin2228 -> 2229 bytes
-rw-r--r--ext/standard/tests/file/fread_socket_variation1.phpt4
-rw-r--r--ext/standard/tests/file/fscanf_variation39.phpt6
-rw-r--r--ext/standard/tests/file/fscanf_variation55.phpt6
-rw-r--r--ext/standard/tests/file/lstat_stat_variation9.phpt2
-rw-r--r--ext/standard/tests/file/readfile_variation10.phptbin1847 -> 1852 bytes
-rw-r--r--ext/standard/tests/filters/bug50363.phpt17
-rw-r--r--ext/standard/tests/general_functions/ini_get_all.phpt8
-rw-r--r--ext/standard/tests/general_functions/proc_open02.phpt1
-rw-r--r--ext/standard/tests/general_functions/var_export_basic9.phpt11
-rw-r--r--ext/standard/tests/math/mt_rand_variation1.phpt4
-rw-r--r--ext/standard/tests/math/mt_rand_variation2.phpt2
-rw-r--r--ext/standard/tests/misc/time_nanosleep_basic.phpt4
-rw-r--r--ext/standard/tests/network/gethostbynamel_error.phpt8
-rw-r--r--ext/standard/tests/php_ini_loaded_file.phpt4
-rw-r--r--ext/standard/tests/serialize/001.phpt2
-rw-r--r--ext/standard/tests/serialize/serialization_arrays_001.phpt2
-rw-r--r--ext/standard/tests/serialize/serialization_miscTypes_001.phptbin7686 -> 7586 bytes
-rw-r--r--ext/standard/tests/serialize/serialization_objects_001.phptbin2403 -> 2435 bytes
-rw-r--r--ext/standard/tests/serialize/serialization_objects_002.phptbin7211 -> 7244 bytes
-rw-r--r--ext/standard/tests/serialize/serialization_objects_003.phpt4
-rw-r--r--ext/standard/tests/streams/bug54623.phpt17
-rw-r--r--ext/standard/tests/streams/bug54946.phpt40
-rw-r--r--ext/standard/tests/strings/006.phpt2
-rw-r--r--ext/standard/tests/strings/bug54238.phpt25
-rw-r--r--ext/standard/tests/strings/bug54332.phpt (renamed from ext/standard/tests/strings/006-win32.phpt)23
-rw-r--r--ext/standard/tests/strings/bug54721.phpt20
-rw-r--r--ext/standard/tests/strings/crypt_blowfish.phpt50
-rw-r--r--ext/standard/tests/strings/crypt_variation1.phpt23
-rw-r--r--ext/standard/tests/strings/htmlentities_html4.phpt4
-rwxr-xr-xext/standard/tests/strings/printf_64bit.phpt2
-rw-r--r--ext/standard/tests/strings/sscanf_basic6.phpt6
-rw-r--r--ext/standard/tests/url/bug54180.phpt32
-rw-r--r--ext/standard/tests/url/bug55399.phpt10
45 files changed, 560 insertions, 71 deletions
diff --git a/ext/standard/tests/array/array_shift_variation5.phpt b/ext/standard/tests/array/array_shift_variation5.phpt
index 2ac15da6b..578b870d9 100644
--- a/ext/standard/tests/array/array_shift_variation5.phpt
+++ b/ext/standard/tests/array/array_shift_variation5.phpt
@@ -9,7 +9,7 @@ Test array_shift() function : usage variations - call recursively
/*
* Use the result of one call to array_shift
- * as the the $stack argument of another call to array_shift()
+ * as the $stack argument of another call to array_shift()
* When done in one statement causes strict error messages.
*/
@@ -42,4 +42,4 @@ string(4) "zero"
-- Correct Method: --
string(4) "zero"
-Done \ No newline at end of file
+Done
diff --git a/ext/standard/tests/array/bug48484.phpt b/ext/standard/tests/array/bug48484.phpt
index 006c3cc98..0b4afe277 100644
--- a/ext/standard/tests/array/bug48484.phpt
+++ b/ext/standard/tests/array/bug48484.phpt
@@ -6,11 +6,3 @@ var_dump(array_product(array()));
?>
--EXPECT--
int(1)
---TEST--
-Bug 48484 (array_product() always returns 0 for an empty array)
---FILE--
-<?php
-var_dump(array_product(array()));
-?>
---EXPECT--
-int(1)
diff --git a/ext/standard/tests/array/bug54459.phpt b/ext/standard/tests/array/bug54459.phpt
new file mode 100644
index 000000000..e46cfcb14
--- /dev/null
+++ b/ext/standard/tests/array/bug54459.phpt
@@ -0,0 +1,215 @@
+--TEST--
+Bug #54459 (Range function accuracy)
+--INI--
+precision=14
+--FILE--
+<?php
+foreach (range(90, 100, .1) as $i => $v){
+ echo $i, ' = ', $v, PHP_EOL;
+}
+foreach (range("90", "100", .1) as $i => $v){
+ echo $i, ' = ', $v, PHP_EOL;
+}
+--EXPECT--
+0 = 90
+1 = 90.1
+2 = 90.2
+3 = 90.3
+4 = 90.4
+5 = 90.5
+6 = 90.6
+7 = 90.7
+8 = 90.8
+9 = 90.9
+10 = 91
+11 = 91.1
+12 = 91.2
+13 = 91.3
+14 = 91.4
+15 = 91.5
+16 = 91.6
+17 = 91.7
+18 = 91.8
+19 = 91.9
+20 = 92
+21 = 92.1
+22 = 92.2
+23 = 92.3
+24 = 92.4
+25 = 92.5
+26 = 92.6
+27 = 92.7
+28 = 92.8
+29 = 92.9
+30 = 93
+31 = 93.1
+32 = 93.2
+33 = 93.3
+34 = 93.4
+35 = 93.5
+36 = 93.6
+37 = 93.7
+38 = 93.8
+39 = 93.9
+40 = 94
+41 = 94.1
+42 = 94.2
+43 = 94.3
+44 = 94.4
+45 = 94.5
+46 = 94.6
+47 = 94.7
+48 = 94.8
+49 = 94.9
+50 = 95
+51 = 95.1
+52 = 95.2
+53 = 95.3
+54 = 95.4
+55 = 95.5
+56 = 95.6
+57 = 95.7
+58 = 95.8
+59 = 95.9
+60 = 96
+61 = 96.1
+62 = 96.2
+63 = 96.3
+64 = 96.4
+65 = 96.5
+66 = 96.6
+67 = 96.7
+68 = 96.8
+69 = 96.9
+70 = 97
+71 = 97.1
+72 = 97.2
+73 = 97.3
+74 = 97.4
+75 = 97.5
+76 = 97.6
+77 = 97.7
+78 = 97.8
+79 = 97.9
+80 = 98
+81 = 98.1
+82 = 98.2
+83 = 98.3
+84 = 98.4
+85 = 98.5
+86 = 98.6
+87 = 98.7
+88 = 98.8
+89 = 98.9
+90 = 99
+91 = 99.1
+92 = 99.2
+93 = 99.3
+94 = 99.4
+95 = 99.5
+96 = 99.6
+97 = 99.7
+98 = 99.8
+99 = 99.9
+100 = 100
+0 = 90
+1 = 90.1
+2 = 90.2
+3 = 90.3
+4 = 90.4
+5 = 90.5
+6 = 90.6
+7 = 90.7
+8 = 90.8
+9 = 90.9
+10 = 91
+11 = 91.1
+12 = 91.2
+13 = 91.3
+14 = 91.4
+15 = 91.5
+16 = 91.6
+17 = 91.7
+18 = 91.8
+19 = 91.9
+20 = 92
+21 = 92.1
+22 = 92.2
+23 = 92.3
+24 = 92.4
+25 = 92.5
+26 = 92.6
+27 = 92.7
+28 = 92.8
+29 = 92.9
+30 = 93
+31 = 93.1
+32 = 93.2
+33 = 93.3
+34 = 93.4
+35 = 93.5
+36 = 93.6
+37 = 93.7
+38 = 93.8
+39 = 93.9
+40 = 94
+41 = 94.1
+42 = 94.2
+43 = 94.3
+44 = 94.4
+45 = 94.5
+46 = 94.6
+47 = 94.7
+48 = 94.8
+49 = 94.9
+50 = 95
+51 = 95.1
+52 = 95.2
+53 = 95.3
+54 = 95.4
+55 = 95.5
+56 = 95.6
+57 = 95.7
+58 = 95.8
+59 = 95.9
+60 = 96
+61 = 96.1
+62 = 96.2
+63 = 96.3
+64 = 96.4
+65 = 96.5
+66 = 96.6
+67 = 96.7
+68 = 96.8
+69 = 96.9
+70 = 97
+71 = 97.1
+72 = 97.2
+73 = 97.3
+74 = 97.4
+75 = 97.5
+76 = 97.6
+77 = 97.7
+78 = 97.8
+79 = 97.9
+80 = 98
+81 = 98.1
+82 = 98.2
+83 = 98.3
+84 = 98.4
+85 = 98.5
+86 = 98.6
+87 = 98.7
+88 = 98.8
+89 = 98.9
+90 = 99
+91 = 99.1
+92 = 99.2
+93 = 99.3
+94 = 99.4
+95 = 99.5
+96 = 99.6
+97 = 99.7
+98 = 99.8
+99 = 99.9
+100 = 100
diff --git a/ext/standard/tests/class_object/is_subclass_of_variation_001.phpt b/ext/standard/tests/class_object/is_subclass_of_variation_001.phpt
index f11183d48..14aaa3347 100644
--- a/ext/standard/tests/class_object/is_subclass_of_variation_001.phpt
+++ b/ext/standard/tests/class_object/is_subclass_of_variation_001.phpt
@@ -150,21 +150,17 @@ Arg value
bool(false)
Arg value
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value string
In __autoload(string)
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value String
In __autoload(String)
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value
diff --git a/ext/standard/tests/class_object/is_subclass_of_variation_004.phpt b/ext/standard/tests/class_object/is_subclass_of_variation_004.phpt
index 72a02a0b2..2f46c4a8d 100644
--- a/ext/standard/tests/class_object/is_subclass_of_variation_004.phpt
+++ b/ext/standard/tests/class_object/is_subclass_of_variation_004.phpt
@@ -150,21 +150,17 @@ Arg value
bool(false)
Arg value
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value string
In __autoload(string)
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value String
In __autoload(String)
-Error: 2 - Unknown class passed as parameter, %s(79)
bool(false)
Arg value
diff --git a/ext/standard/tests/file/001.phpt b/ext/standard/tests/file/001.phpt
index e3768b19d..d604699ac 100644
--- a/ext/standard/tests/file/001.phpt
+++ b/ext/standard/tests/file/001.phpt
@@ -5,6 +5,7 @@ File type functions
if (substr(PHP_OS, 0, 3) == 'WIN') {
die('skip no symlinks on Windows');
}
+if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
?>
--FILE--
<?php
diff --git a/ext/standard/tests/file/005_variation.phpt b/ext/standard/tests/file/005_variation.phpt
index e46df865f..7e5eedc2b 100644
--- a/ext/standard/tests/file/005_variation.phpt
+++ b/ext/standard/tests/file/005_variation.phpt
@@ -5,6 +5,9 @@ Test fileatime(), filemtime(), filectime() & touch() functions : usage variation
if (substr(PHP_OS, 0, 3) == 'WIN') {
die('skip Do not run on Windows');
}
+if (getenv("SKIP_SLOW_TESTS")) {
+ die("skip slow test");
+}
?>
--FILE--
<?php
diff --git a/ext/standard/tests/file/005_variation2.phpt b/ext/standard/tests/file/005_variation2.phpt
index d70ce1251..d14a9bddd 100644
--- a/ext/standard/tests/file/005_variation2.phpt
+++ b/ext/standard/tests/file/005_variation2.phpt
@@ -49,11 +49,17 @@ function stat_fn( $filename ) {
echo "*** Testing fileattime(), filemtime(), filectime() & touch() : usage variations ***\n";
echo "\n*** testing touch ***\n";
-var_dump(touch(NULL));
-var_dump(touch(false));
-var_dump(touch(''));
-var_dump(touch(' '));
-var_dump(touch('|'));
+$a = touch(NULL);
+$b = touch(false);
+$c = touch('');
+$d = touch(' ');
+$e = touch('|');
+
+var_dump($a);
+var_dump($b);
+var_dump($c);
+var_dump($d);
+var_dump($e);
echo "\n*** testing file info ***";
stat_fn(NULL);
@@ -72,13 +78,13 @@ echo "Done";
*** testing touch ***
-Warning: touch(): Unable to create file because %s in %s on line %d
-bool(false)
+Warning: touch(): Unable to create file because No such file or directory in %s on line %d
-Warning: touch(): Unable to create file because %s in %s on line %d
-bool(false)
+Warning: touch(): Unable to create file because No such file or directory in %s on line %d
-Warning: touch(): Unable to create file because %s in %s on line %d
+Warning: touch(): Unable to create file because No such file or directory in %s on line %d
+bool(false)
+bool(false)
bool(false)
bool(true)
bool(true)
diff --git a/ext/standard/tests/file/bug39863.phpt b/ext/standard/tests/file/bug39863.phpt
index 520a46412..6913655ee 100644
--- a/ext/standard/tests/file/bug39863.phpt
+++ b/ext/standard/tests/file/bug39863.phpt
@@ -16,8 +16,6 @@ else {
?>
===DONE===
<?php exit(0); ?>
---XFAIL--
-Needs bug #39863 fixed
--EXPECT--
PASS
===DONE===
diff --git a/ext/standard/tests/file/bug53848.phpt b/ext/standard/tests/file/bug53848.phpt
new file mode 100644
index 000000000..016d59d0c
--- /dev/null
+++ b/ext/standard/tests/file/bug53848.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #53848 (fgetcsv removes leading spaces from fields)
+--FILE--
+<?php
+$file = dirname(__FILE__) . "/bug39538.csv";
+@unlink($file);
+file_put_contents($file, "a,b\n c, d");
+$fp = fopen($file, "r");
+while ($l = fgetcsv($fp)) var_dump($l);
+fclose($fp);
+@unlink($file);
+?>
+--EXPECT--
+array(2) {
+ [0]=>
+ string(1) "a"
+ [1]=>
+ string(1) "b"
+}
+array(2) {
+ [0]=>
+ string(3) " c"
+ [1]=>
+ string(3) " d"
+}
diff --git a/ext/standard/tests/file/copy_variation4.phpt b/ext/standard/tests/file/copy_variation4.phpt
index 32756c1ed..0a965fd54 100644
--- a/ext/standard/tests/file/copy_variation4.phpt
+++ b/ext/standard/tests/file/copy_variation4.phpt
Binary files differ
diff --git a/ext/standard/tests/file/file_put_contents_variation8.phpt b/ext/standard/tests/file/file_put_contents_variation8.phpt
index c35ace47b..79586ada2 100644
--- a/ext/standard/tests/file/file_put_contents_variation8.phpt
+++ b/ext/standard/tests/file/file_put_contents_variation8.phpt
Binary files differ
diff --git a/ext/standard/tests/file/fread_socket_variation1.phpt b/ext/standard/tests/file/fread_socket_variation1.phpt
index bd3d23ac5..50ee79bbf 100644
--- a/ext/standard/tests/file/fread_socket_variation1.phpt
+++ b/ext/standard/tests/file/fread_socket_variation1.phpt
@@ -1,5 +1,9 @@
--TEST--
Testing fread() on a TCP server socket
+--SKIPIF--
+<?php
+if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
+?>
--FILE--
<?php
diff --git a/ext/standard/tests/file/fscanf_variation39.phpt b/ext/standard/tests/file/fscanf_variation39.phpt
index f0d406c58..1b17015bc 100644
--- a/ext/standard/tests/file/fscanf_variation39.phpt
+++ b/ext/standard/tests/file/fscanf_variation39.phpt
@@ -1,5 +1,11 @@
--TEST--
Test fscanf() function: usage variations - unsigned int formats with integer values
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 4) {
+ die("skip this test is for 32bit platform only");
+}
+?>
--FILE--
<?php
diff --git a/ext/standard/tests/file/fscanf_variation55.phpt b/ext/standard/tests/file/fscanf_variation55.phpt
index 9b02d136d..1777f797b 100644
--- a/ext/standard/tests/file/fscanf_variation55.phpt
+++ b/ext/standard/tests/file/fscanf_variation55.phpt
@@ -1,5 +1,11 @@
--TEST--
Test fscanf() function: usage variations - tracking file pointer while reading
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 4) {
+ die("skip this test is for 32bit platform only");
+}
+?>
--FILE--
<?php
diff --git a/ext/standard/tests/file/lstat_stat_variation9.phpt b/ext/standard/tests/file/lstat_stat_variation9.phpt
index b3c1281e6..63c6ff8a7 100644
--- a/ext/standard/tests/file/lstat_stat_variation9.phpt
+++ b/ext/standard/tests/file/lstat_stat_variation9.phpt
@@ -36,7 +36,7 @@ fclose($file_handle);
$old_stat = stat($dirname);
-/* now delete teh surdir and file and record the stat */
+/* now delete the surdir and file and record the stat */
unlink("$dirname/lstat_stat_variation9a.tmp");
rmdir("$dirname/lstat_stat_variation9_subdir");
diff --git a/ext/standard/tests/file/readfile_variation10.phpt b/ext/standard/tests/file/readfile_variation10.phpt
index 2caa2de1d..76f1d2dbf 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/filters/bug50363.phpt b/ext/standard/tests/filters/bug50363.phpt
new file mode 100644
index 000000000..3395edebc
--- /dev/null
+++ b/ext/standard/tests/filters/bug50363.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug #50363 (Invalid parsing in convert.quoted-printable-decode filter)
+--FILE--
+<?php
+
+$foo = "Sauvegarder=C3=A9ussi(e) n=C3=A3o N=C3=83O\n";
+$foo .= "Sauvegarder=c3=a9ussi(e) n=c3=a3o N=c3=83O\n"; // Does not work!
+$b = fopen('php://temp', 'w+');
+stream_filter_append($b, 'convert.quoted-printable-decode', STREAM_FILTER_WRITE);
+fwrite($b, $foo);
+rewind($b);
+fpassthru($b);
+
+?>
+--EXPECTF--
+Sauvegarderéussi(e) não NÃO
+Sauvegarderéussi(e) não NÃO
diff --git a/ext/standard/tests/general_functions/ini_get_all.phpt b/ext/standard/tests/general_functions/ini_get_all.phpt
index a13b0a475..60cd38a72 100644
--- a/ext/standard/tests/general_functions/ini_get_all.phpt
+++ b/ext/standard/tests/general_functions/ini_get_all.phpt
@@ -1,7 +1,7 @@
--TEST--
ini_get_all() tests
--INI--
-pcre.backtrack_limit=100000
+pcre.backtrack_limit=1000000
pcre.recursion_limit=100000
--SKIPIF--
<?php if (!extension_loaded("reflection")) die("skip"); ?>
@@ -34,9 +34,9 @@ array(2) {
["pcre.backtrack_limit"]=>
array(3) {
["global_value"]=>
- string(6) "100000"
+ string(7) "1000000"
["local_value"]=>
- string(6) "100000"
+ string(7) "1000000"
["access"]=>
int(7)
}
@@ -52,7 +52,7 @@ array(2) {
}
array(2) {
["pcre.backtrack_limit"]=>
- string(6) "100000"
+ string(7) "1000000"
["pcre.recursion_limit"]=>
string(6) "100000"
}
diff --git a/ext/standard/tests/general_functions/proc_open02.phpt b/ext/standard/tests/general_functions/proc_open02.phpt
index 3cba15e9a..3406f6806 100644
--- a/ext/standard/tests/general_functions/proc_open02.phpt
+++ b/ext/standard/tests/general_functions/proc_open02.phpt
@@ -4,6 +4,7 @@ proc_open
<?php
if (!is_executable('/bin/sleep')) echo 'skip no sleep';
if (!is_executable('/usr/bin/nohup')) echo 'skip no nohup';
+if (getenv('SKIP_SLOW_TESTS')) echo 'skip slow test';
?>
--FILE--
<?php
diff --git a/ext/standard/tests/general_functions/var_export_basic9.phpt b/ext/standard/tests/general_functions/var_export_basic9.phpt
new file mode 100644
index 000000000..3c9706edf
--- /dev/null
+++ b/ext/standard/tests/general_functions/var_export_basic9.phpt
@@ -0,0 +1,11 @@
+--TEST--
+Bug #55082: var_export() doesn't escape properties properly
+--FILE--
+<?php
+ $x = new stdClass();
+ $x->{'\'\\'} = 7;
+ echo var_export($x);
+--EXPECT--
+stdClass::__set_state(array(
+ '\'\\' => 7,
+))
diff --git a/ext/standard/tests/math/mt_rand_variation1.phpt b/ext/standard/tests/math/mt_rand_variation1.phpt
index f2ba9bc34..aa4371611 100644
--- a/ext/standard/tests/math/mt_rand_variation1.phpt
+++ b/ext/standard/tests/math/mt_rand_variation1.phpt
@@ -38,7 +38,7 @@ $inputs = array(
// float data
/*6*/ 10.5,
-10.5,
- 12.3456789000e10,
+ 12.3456789000E8,
12.3456789000E-10,
.5,
@@ -79,7 +79,7 @@ $inputs = array(
$iterator = 1;
foreach($inputs as $input) {
echo "\n-- Iteration $iterator --\n";
- var_dump(mt_rand($input, 100));
+ var_dump(mt_rand($input, mt_getrandmax()));
$iterator++;
};
fclose($fp);
diff --git a/ext/standard/tests/math/mt_rand_variation2.phpt b/ext/standard/tests/math/mt_rand_variation2.phpt
index 28b2304a3..2174a349e 100644
--- a/ext/standard/tests/math/mt_rand_variation2.phpt
+++ b/ext/standard/tests/math/mt_rand_variation2.phpt
@@ -79,7 +79,7 @@ $inputs = array(
$iterator = 1;
foreach($inputs as $input) {
echo "\n-- Iteration $iterator --\n";
- var_dump(mt_rand(100, $input));
+ var_dump(mt_rand(-1 * mt_getrandmax(), $input));
$iterator++;
};
fclose($fp);
diff --git a/ext/standard/tests/misc/time_nanosleep_basic.phpt b/ext/standard/tests/misc/time_nanosleep_basic.phpt
index 799c57209..3f20b00f7 100644
--- a/ext/standard/tests/misc/time_nanosleep_basic.phpt
+++ b/ext/standard/tests/misc/time_nanosleep_basic.phpt
@@ -1,7 +1,9 @@
--TEST--
time_nanosleep — Delay for a number of seconds and nanoseconds
--SKIPIF--
-<?php if (!function_exists('time_nanosleep')) die("skip"); ?>
+<?php if (!function_exists('time_nanosleep')) die("skip");
+if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
+?>
--CREDITS--
Àlex Corretgé - alex@corretge.cat
--FILE--
diff --git a/ext/standard/tests/network/gethostbynamel_error.phpt b/ext/standard/tests/network/gethostbynamel_error.phpt
index 4a13bf021..7aa00e537 100644
--- a/ext/standard/tests/network/gethostbynamel_error.phpt
+++ b/ext/standard/tests/network/gethostbynamel_error.phpt
@@ -19,11 +19,6 @@ echo "\n-- Testing gethostbynamel() function with more than expected no. of argu
$hostname = 'string_val';
$extra_arg = 10;
var_dump( gethostbynamel($hostname, $extra_arg) );
-
-echo "\n-- Testing gethostbynamel() with an unknown host --\n";
-$hostname = 'unknownhost_zzz_xxx_yyy.';
-var_dump( gethostbynamel($hostname) );
-
echo "Done";
?>
--EXPECTF--
@@ -38,7 +33,4 @@ NULL
Warning: gethostbynamel() expects exactly 1 parameter, 2 given in %s on line %d
NULL
-
--- Testing gethostbynamel() with an unknown host --
-bool(false)
Done
diff --git a/ext/standard/tests/php_ini_loaded_file.phpt b/ext/standard/tests/php_ini_loaded_file.phpt
index b443c5f70..7958eb127 100644
--- a/ext/standard/tests/php_ini_loaded_file.phpt
+++ b/ext/standard/tests/php_ini_loaded_file.phpt
@@ -1,9 +1,11 @@
--TEST--
-Check the php_ini_loaded_file() function. No file is loaded in test, so false ins returned
+Check the php_ini_loaded_file() function
--CREDITS--
Sebastian Schürmann
sschuermann@chip.de
Testfest 2009 Munich
+--INI--
+precision=12
--FILE--
<?php
var_dump(php_ini_loaded_file());
diff --git a/ext/standard/tests/serialize/001.phpt b/ext/standard/tests/serialize/001.phpt
index 21a2d6c53..600c9b706 100644
--- a/ext/standard/tests/serialize/001.phpt
+++ b/ext/standard/tests/serialize/001.phpt
@@ -1,5 +1,7 @@
--TEST--
serialize()/unserialize()/var_dump()
+--INI--
+serialize_precision=100
--FILE--
<?php
class t
diff --git a/ext/standard/tests/serialize/serialization_arrays_001.phpt b/ext/standard/tests/serialize/serialization_arrays_001.phpt
index ff5f34c5b..51acfc4b4 100644
--- a/ext/standard/tests/serialize/serialization_arrays_001.phpt
+++ b/ext/standard/tests/serialize/serialization_arrays_001.phpt
@@ -1,5 +1,7 @@
--TEST--
Test serialize() & unserialize() functions: arrays (circular references)
+--INI--
+serialize_precision=100
--FILE--
<?php
/* Prototype : proto string serialize(mixed variable)
diff --git a/ext/standard/tests/serialize/serialization_miscTypes_001.phpt b/ext/standard/tests/serialize/serialization_miscTypes_001.phpt
index 276913524..038068249 100644
--- a/ext/standard/tests/serialize/serialization_miscTypes_001.phpt
+++ b/ext/standard/tests/serialize/serialization_miscTypes_001.phpt
Binary files differ
diff --git a/ext/standard/tests/serialize/serialization_objects_001.phpt b/ext/standard/tests/serialize/serialization_objects_001.phpt
index aafb26629..f85b89e10 100644
--- a/ext/standard/tests/serialize/serialization_objects_001.phpt
+++ b/ext/standard/tests/serialize/serialization_objects_001.phpt
Binary files differ
diff --git a/ext/standard/tests/serialize/serialization_objects_002.phpt b/ext/standard/tests/serialize/serialization_objects_002.phpt
index 95c2dfb68..fbd9e2612 100644
--- a/ext/standard/tests/serialize/serialization_objects_002.phpt
+++ b/ext/standard/tests/serialize/serialization_objects_002.phpt
Binary files differ
diff --git a/ext/standard/tests/serialize/serialization_objects_003.phpt b/ext/standard/tests/serialize/serialization_objects_003.phpt
index c20590b79..2313ffab8 100644
--- a/ext/standard/tests/serialize/serialization_objects_003.phpt
+++ b/ext/standard/tests/serialize/serialization_objects_003.phpt
@@ -1,5 +1,7 @@
--TEST--
Test serialize() & unserialize() functions: objects (abstract classes)
+--INI--
+serialize_precision=100
--FILE--
<?php
/* Prototype : proto string serialize(mixed variable)
@@ -64,4 +66,4 @@ object(extendName)#%d (3) {
string(18) "s:10:"extendName";"
string(10) "extendName"
-Done \ No newline at end of file
+Done
diff --git a/ext/standard/tests/streams/bug54623.phpt b/ext/standard/tests/streams/bug54623.phpt
new file mode 100644
index 000000000..cd83854f4
--- /dev/null
+++ b/ext/standard/tests/streams/bug54623.phpt
@@ -0,0 +1,17 @@
+--TEST--
+Bug #54623: Segfault when when writing to a persistent socket after closing a copy of the socket
+--FILE--
+<?php
+$sock = pfsockopen('udp://127.0.0.1', '63844');
+var_dump((int)$sock);
+fwrite($sock, "1");
+$sock2 = pfsockopen('udp://127.0.0.1', '63844');
+var_dump((int)$sock2);
+fwrite($sock2, "2");
+fclose($sock2);
+fwrite($sock, "3");
+--EXPECTF--
+int(%d)
+int(%d)
+
+Warning: fwrite(): %d is not a valid stream resource in %s on line %d
diff --git a/ext/standard/tests/streams/bug54946.phpt b/ext/standard/tests/streams/bug54946.phpt
new file mode 100644
index 000000000..b3fa73df5
--- /dev/null
+++ b/ext/standard/tests/streams/bug54946.phpt
@@ -0,0 +1,40 @@
+--TEST--
+Bug#54946 stream_get_contents infinite loop
+--FILE--
+<?php
+$filename = tempnam(sys_get_temp_dir(), "phpbug");
+
+$stream = fopen($filename, "w"); // w or a
+$retval = stream_get_contents($stream, 1, 1);
+
+var_dump($retval);
+unlink($filename);
+
+
+
+$filename = tempnam(sys_get_temp_dir(), "phpbug2");
+
+$stream = fopen($filename, "a");
+$retval = stream_get_contents($stream, 1, 1);
+
+var_dump($retval);
+unlink($filename);
+
+
+
+$filename = tempnam(sys_get_temp_dir(), "phpbug3");
+
+$stream = fopen($filename, "a");
+fseek($stream, 1);
+$retval = stream_get_contents($stream, 1);
+
+var_dump($retval);
+unlink($filename);
+?>
+===DONE===
+--EXPECT--
+string(0) ""
+string(0) ""
+string(0) ""
+===DONE===
+
diff --git a/ext/standard/tests/strings/006.phpt b/ext/standard/tests/strings/006.phpt
index fdfd58c02..afb5d24db 100644
--- a/ext/standard/tests/strings/006.phpt
+++ b/ext/standard/tests/strings/006.phpt
@@ -1,7 +1,5 @@
--TEST--
highlight_file() and output buffer
---SKIPIF--
-<?php if( substr(PHP_OS, 0, 3) == "WIN") die('skip Non windows test');?>
--INI--
log_errors_max_len=4096
--FILE--
diff --git a/ext/standard/tests/strings/bug54238.phpt b/ext/standard/tests/strings/bug54238.phpt
new file mode 100644
index 000000000..0f60098ff
--- /dev/null
+++ b/ext/standard/tests/strings/bug54238.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #54238 (use-after-free in substr_replace())
+--INI--
+error_reporting=E_ALL&~E_NOTICE
+--FILE--
+<?php
+$f = array(array('A', 'A'));
+
+$z = substr_replace($f, $f, $f, 1);
+var_dump($z, $f);
+?>
+--EXPECT--
+array(1) {
+ [0]=>
+ string(9) "AArrayray"
+}
+array(1) {
+ [0]=>
+ array(2) {
+ [0]=>
+ string(1) "A"
+ [1]=>
+ string(1) "A"
+ }
+}
diff --git a/ext/standard/tests/strings/006-win32.phpt b/ext/standard/tests/strings/bug54332.phpt
index b78fc1ada..122b387ec 100644
--- a/ext/standard/tests/strings/006-win32.phpt
+++ b/ext/standard/tests/strings/bug54332.phpt
@@ -1,23 +1,8 @@
--TEST--
-highlight_file() and output buffer
---SKIPIF--
-<?php if( substr(PHP_OS, 0, 3) != "WIN") die('skip Windows only test');?>
---INI--
-log_errors_max_len=4096
+Bug #54332 (Crash in zend_mm_check_ptr // Heap corruption)
--FILE--
<?php
-
-$file = str_repeat("A", 1024);
-
-var_dump(highlight_file($file, true));
-var_dump(ob_get_contents());
-
+echo number_format(1e300, 2006, '', ' ') . "\n";
?>
-===DONE===
---EXPECTF--
-Warning: highlight_file(AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA): failed to open stream: No such file or directory in %s on line %d
-
-Warning: highlight_file(): Failed opening 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' for highlighting in %s on line %d
-bool(false)
-bool(false)
-===DONE===
+--EXPECT--
+1 000 000 000 000 000 052 504 760 255 204 420 248 704 468 581 108 159 154 915 854 115 511 802 457 988 908 195 786 371 375 080 447 864 043 704 443 832 883 878 176 942 523 235 360 430 575 644 792 184 786 706 982 848 387 200 926 575 803 737 830 233 794 788 090 059 368 953 234 970 799 945 081 119 038 967 640 880 074 652 742 780 142 494 579 258 788 820 056 842 838 115 669 472 196 386 865 459 400 540 16000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
diff --git a/ext/standard/tests/strings/bug54721.phpt b/ext/standard/tests/strings/bug54721.phpt
new file mode 100644
index 000000000..3851df154
--- /dev/null
+++ b/ext/standard/tests/strings/bug54721.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #54721 (Different Hashes on Windows, BSD and Linux on wrong Salt size)
+--FILE--
+<?php
+echo crypt("", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+echo crypt("b", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+echo crypt("bu", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+echo crypt("bug", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+echo crypt("pass", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+echo crypt("buged", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+echo crypt("aaaaaaaaaaaaaaaaaaaaaaaaa ", '$1$dW0.is5.$10CH101gGOr1677ZYd517.') . "\n";
+?>
+--EXPECT--
+$1$dW0.is5.$I0iqTYHPzkP4YnRgnXxZW0
+$1$dW0.is5.$KaspRpPQ9U7Xb5Vv5c.WE/
+$1$dW0.is5.$X9G1x/Ep8zYQSrU4/lKUg.
+$1$dW0.is5.$wE5Rz/HxPtDMfqil6kK980
+$1$dW0.is5.$2E4/ZDY1vr73HqLl1bLs9.
+$1$dW0.is5.$lvGhphTQwqgKxWhWwYERr1
+$1$dW0.is5.$XzsWcLSBj2BvhOKH0xdpZ0
diff --git a/ext/standard/tests/strings/crypt_blowfish.phpt b/ext/standard/tests/strings/crypt_blowfish.phpt
new file mode 100644
index 000000000..cce09c151
--- /dev/null
+++ b/ext/standard/tests/strings/crypt_blowfish.phpt
@@ -0,0 +1,50 @@
+--TEST--
+Official blowfish tests (http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/glibc/crypt_blowfish/wrapper.c)
+--SKIPIF--
+<?php
+if (!function_exists('crypt') || !defined("CRYPT_BLOWFISH")) {
+ die("SKIP crypt()-blowfish is not available");
+}
+?>
+--FILE--
+<?php
+
+$tests =array(
+ array('$2a$05$CCCCCCCCCCCCCCCCCCCCC.E5YPO9kmyuRGyh0XouQYb4YMJKvyOeW', 'U*U'),
+ array('$2a$05$CCCCCCCCCCCCCCCCCCCCC.VGOzA784oUp/Z0DY336zx7pLYAy0lwK', 'U*U*'),
+ array('$2a$05$XXXXXXXXXXXXXXXXXXXXXOAcXxm9kjPGEMsLznoKqmqw7tc8WCx4a', 'U*U*U'),
+ array('$2a$05$abcdefghijklmnopqrstuu5s2v8.iXieOjg/.AySBTTZIIVFJeBui', '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789chars after 72 are ignored'),
+ array('$2x$05$/OK.fbVrR/bpIqNJ5ianF.CE5elHaaO4EbggVDjb8P19RukzXSM3e', "\xa3"),
+ array('$2a$05$/OK.fbVrR/bpIqNJ5ianF.Sa7shbm4.OzKpvFnX1pQLmQW96oUlCq', "\xa3"),
+ array('$2x$05$6bNw2HLQYeqHYyBfLMsv/OiwqTymGIGzFsA4hOTWebfehXHNprcAS', "\xd1\x91"),
+ array('$2x$05$6bNw2HLQYeqHYyBfLMsv/O9LIGgn8OMzuDoHfof8AQimSGfcSWxnS', "\xd0\xc1\xd2\xcf\xcc\xd8"),
+ array('$2a$05$/OK.fbVrR/bpIqNJ5ianF.swQOIzjOiJ9GHEPuhEkvqrUyvWhEMx6', "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaachars after 72 are ignored as usual"),
+ array('$2a$05$/OK.fbVrR/bpIqNJ5ianF.R9xrDjiycxMbQE2bp.vgqlYpW5wx2yy', "\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55\xaa\x55"),
+ array('$2a$05$/OK.fbVrR/bpIqNJ5ianF.9tQZzcJfm3uj2NvJ/n5xkhpqLrMpWCe', "\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff\x55\xaa\xff"),
+ array('$2a$05$CCCCCCCCCCCCCCCCCCCCC.7uG0VCzI2bS7j6ymqJi9CdcdxiRTWNy', ''),
+
+);
+$i=0;
+foreach($tests as $test) {
+ if(crypt($test[1], $test[0]) == $test[0]) {
+ echo "$i. OK\n";
+ } else {
+ echo "$i. Not OK: $test[0] ".crypt($test[1], $test[0])."\n";
+ }
+ $i++;
+}
+
+?>
+--EXPECT--
+0. OK
+1. OK
+2. OK
+3. OK
+4. OK
+5. OK
+6. OK
+7. OK
+8. OK
+9. OK
+10. OK
+11. OK \ No newline at end of file
diff --git a/ext/standard/tests/strings/crypt_variation1.phpt b/ext/standard/tests/strings/crypt_variation1.phpt
new file mode 100644
index 000000000..6e0d3fe12
--- /dev/null
+++ b/ext/standard/tests/strings/crypt_variation1.phpt
@@ -0,0 +1,23 @@
+--TEST--
+crypt() function - long salt
+--SKIPIF--
+<?php
+if (!function_exists('crypt')) {
+ die("SKIP crypt() is not available");
+}
+?>
+--FILE--
+<?php
+
+$b = str_repeat("A", 124);
+echo crypt("A", "$5$" . $b)."\n";
+$b = str_repeat("A", 125);
+echo crypt("A", "$5$" . $b)."\n";
+$b = str_repeat("A", 4096);
+echo crypt("A", "$5$" . $b)."\n";
+
+?>
+--EXPECTF--
+$5$AAAAAAAAAAAAAAAA$frotiiztWZiwcncxnY5tWG9Ida2WOZEximjLXCleQu6
+$5$AAAAAAAAAAAAAAAA$frotiiztWZiwcncxnY5tWG9Ida2WOZEximjLXCleQu6
+$5$AAAAAAAAAAAAAAAA$frotiiztWZiwcncxnY5tWG9Ida2WOZEximjLXCleQu6
diff --git a/ext/standard/tests/strings/htmlentities_html4.phpt b/ext/standard/tests/strings/htmlentities_html4.phpt
index 3f700e828..d7bff707f 100644
--- a/ext/standard/tests/strings/htmlentities_html4.phpt
+++ b/ext/standard/tests/strings/htmlentities_html4.phpt
@@ -1,5 +1,9 @@
--TEST--
htmlentities() conformance check (HTML 4)
+--SKIPIF--
+<?php
+if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
+?>
--FILE--
<?php
function utf32_utf8($k) {
diff --git a/ext/standard/tests/strings/printf_64bit.phpt b/ext/standard/tests/strings/printf_64bit.phpt
index e2e8b2273..d0b7aaff4 100755
--- a/ext/standard/tests/strings/printf_64bit.phpt
+++ b/ext/standard/tests/strings/printf_64bit.phpt
@@ -671,7 +671,7 @@ Array
*** Output for precision value more than maximum ***
Notice: printf(): Requested precision of 988 digits was truncated to PHP maximum of %d digits in %s on line %d
-12345678900.0000000000000000000000000000000000000000
+12345678900.0000000000%d
*** Output for invalid width(-15) specifier ***
15s
diff --git a/ext/standard/tests/strings/sscanf_basic6.phpt b/ext/standard/tests/strings/sscanf_basic6.phpt
index 4506c4ba9..6efdd0b68 100644
--- a/ext/standard/tests/strings/sscanf_basic6.phpt
+++ b/ext/standard/tests/strings/sscanf_basic6.phpt
@@ -1,5 +1,11 @@
--TEST--
Test sscanf() function : basic functionality - unsigned format
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 4) {
+ die("skip this test is for 32bit platform only");
+}
+?>
--FILE--
<?php
diff --git a/ext/standard/tests/url/bug54180.phpt b/ext/standard/tests/url/bug54180.phpt
new file mode 100644
index 000000000..2e64e27d0
--- /dev/null
+++ b/ext/standard/tests/url/bug54180.phpt
@@ -0,0 +1,32 @@
+--TEST--
+Bug #54180 (parse_url() incorrectly parses path when ? in fragment)
+--FILE--
+<?php
+
+var_dump(parse_url("http://example.com/path/script.html?t=1#fragment?data"));
+var_dump(parse_url("http://example.com/path/script.html#fragment?data"));
+
+?>
+--EXPECTF--
+array(5) {
+ ["scheme"]=>
+ string(4) "http"
+ ["host"]=>
+ string(11) "example.com"
+ ["path"]=>
+ string(17) "/path/script.html"
+ ["query"]=>
+ string(3) "t=1"
+ ["fragment"]=>
+ string(13) "fragment?data"
+}
+array(4) {
+ ["scheme"]=>
+ string(4) "http"
+ ["host"]=>
+ string(11) "example.com"
+ ["path"]=>
+ string(17) "/path/script.html"
+ ["fragment"]=>
+ string(13) "fragment?data"
+}
diff --git a/ext/standard/tests/url/bug55399.phpt b/ext/standard/tests/url/bug55399.phpt
new file mode 100644
index 000000000..619c08da6
--- /dev/null
+++ b/ext/standard/tests/url/bug55399.phpt
@@ -0,0 +1,10 @@
+--TEST--
+Bug #55399 (parse_url() incorrectly treats ':' as a valid path)
+--FILE--
+<?php
+
+var_dump(parse_url(":"));
+
+?>
+--EXPECT--
+bool(false)