Thanks it looks good - applied.
marcus
At 16:29 16.11.2002, Michael Mauch wrote:
I wrote:
These test results scared me as well, but it looks like this array test
itsself is flawed: it relies on the fact that integers automatically wrap
around to negative values at INT_MAX (=2147483647 on 32 bit machines).
Attaching a patch for the array test: I changed the array in data.inc
to have only "normal" values (1000 and -1000) instead of 2147483647 and
-2147483647, and used the output of the tests on a 32 bit Linux machine to
be the expected result. With the patch, all three tests PASSed on the 64
bit Tru64 machine. So array sorting is fortunately not broken again on Tru64.
Regards...
Michael
diff -r -u ../php-cvs/php4/ext/standard/tests/array/001.phpt
ext/standard/tests/array/001.phpt
--- ../php-cvs/php4/ext/standard/tests/array/001.phpt Sat Nov 9
11:42:49 2002
+++ ext/standard/tests/array/001.phpt Sat Nov 16 16:08:01 2002
@@ -57,7 +57,7 @@
int(27)
[3]=>
string(4) "test"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -113,7 +113,7 @@
int(27)
int(3)
string(4) "test"
-string(11) "-2147483647"
+string(5) "-1000"
array(2) {
[0]=>
string(6) "banana"
diff -r -u ../php-cvs/php4/ext/standard/tests/array/002.phpt
ext/standard/tests/array/002.phpt
--- ../php-cvs/php4/ext/standard/tests/array/002.phpt Sat Nov 9
11:42:49 2002
+++ ext/standard/tests/array/002.phpt Sat Nov 16 16:07:14 2002
@@ -24,16 +24,43 @@
var_dump ($data);
}
+echo "Unsorted data:\n";
+var_dump ($data);
foreach (array ('arsort', 'asort', 'krsort', 'ksort', 'rsort', 'sort')
as $test_function) {
test_sort ($test_function, $data);
}
?>
--EXPECT--
--- Testing arsort() --
+Unsorted data:
+array(8) {
+ [0]=>
+ string(3) "PHP"
+ [17]=>
+ string(27) "PHP: Hypertext Preprocessor"
+ [5]=>
+ string(4) "Test"
+ ["test"]=>
+ int(27)
+ [1000]=>
+ string(4) "test"
+ ["-1000"]=>
+ array(2) {
+ [0]=>
+ string(6) "banana"
+ [1]=>
+ string(6) "orange"
+ }
+ [1001]=>
+ string(6) "monkey"
+ [16777216]=>
+ float(-0.33333333333333)
+}
+
+ -- Testing arsort() --
No second argument:
array(8) {
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -42,9 +69,9 @@
}
["test"]=>
int(27)
- [2147483647]=>
+ [1000]=>
string(4) "test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
[5]=>
string(4) "Test"
@@ -57,7 +84,7 @@
}
Using SORT_REGULAR:
array(8) {
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -66,9 +93,9 @@
}
["test"]=>
int(27)
- [2147483647]=>
+ [1000]=>
string(4) "test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
[5]=>
string(4) "Test"
@@ -83,7 +110,7 @@
array(8) {
["test"]=>
int(27)
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -94,20 +121,20 @@
string(3) "PHP"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
[5]=>
string(4) "Test"
- [2147483647]=>
+ [1000]=>
string(4) "test"
[16777216]=>
float(-0.33333333333333)
}
Using SORT_STRING
array(8) {
- [2147483647]=>
+ [1000]=>
string(4) "test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
[5]=>
string(4) "Test"
@@ -115,7 +142,7 @@
string(27) "PHP: Hypertext Preprocessor"
[0]=>
string(3) "PHP"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -139,13 +166,13 @@
string(27) "PHP: Hypertext Preprocessor"
[5]=>
string(4) "Test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
- [2147483647]=>
+ [1000]=>
string(4) "test"
["test"]=>
int(27)
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -163,13 +190,13 @@
string(27) "PHP: Hypertext Preprocessor"
[5]=>
string(4) "Test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
- [2147483647]=>
+ [1000]=>
string(4) "test"
["test"]=>
int(27)
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -181,9 +208,9 @@
array(8) {
[16777216]=>
float(-0.33333333333333)
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
- [2147483647]=>
+ [1000]=>
string(4) "test"
[5]=>
string(4) "Test"
@@ -191,7 +218,7 @@
string(27) "PHP: Hypertext Preprocessor"
[0]=>
string(3) "PHP"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -207,7 +234,7 @@
float(-0.33333333333333)
["test"]=>
int(27)
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -220,19 +247,21 @@
string(27) "PHP: Hypertext Preprocessor"
[5]=>
string(4) "Test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
- [2147483647]=>
+ [1000]=>
string(4) "test"
}
-- Testing krsort() --
No second argument:
array(8) {
- [2147483647]=>
- string(4) "test"
[16777216]=>
float(-0.33333333333333)
+ [1001]=>
+ string(6) "monkey"
+ [1000]=>
+ string(4) "test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
[5]=>
@@ -241,46 +270,46 @@
int(27)
[0]=>
string(3) "PHP"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
[1]=>
string(6) "orange"
}
- [-2147483648]=>
- string(6) "monkey"
}
Using SORT_REGULAR:
array(8) {
- [2147483647]=>
- string(4) "test"
[16777216]=>
float(-0.33333333333333)
+ [1001]=>
+ string(6) "monkey"
+ [1000]=>
+ string(4) "test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
[5]=>
string(4) "Test"
- ["test"]=>
- int(27)
[0]=>
string(3) "PHP"
- ["-2147483647"]=>
+ ["test"]=>
+ int(27)
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
[1]=>
string(6) "orange"
}
- [-2147483648]=>
- string(6) "monkey"
}
Using SORT_NUMERIC:
array(8) {
- [2147483647]=>
- string(4) "test"
[16777216]=>
float(-0.33333333333333)
+ [1001]=>
+ string(6) "monkey"
+ [1000]=>
+ string(4) "test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
[5]=>
@@ -289,15 +318,13 @@
int(27)
[0]=>
string(3) "PHP"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
[1]=>
string(6) "orange"
}
- [-2147483648]=>
- string(6) "monkey"
}
Using SORT_STRING
array(8) {
@@ -305,17 +332,17 @@
int(27)
[5]=>
string(4) "Test"
- [2147483647]=>
- string(4) "test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
[16777216]=>
float(-0.33333333333333)
+ [1001]=>
+ string(6) "monkey"
+ [1000]=>
+ string(4) "test"
[0]=>
string(3) "PHP"
- [-2147483648]=>
- string(6) "monkey"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -327,9 +354,7 @@
-- Testing ksort() --
No second argument:
array(8) {
- [-2147483648]=>
- string(6) "monkey"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -344,16 +369,16 @@
string(4) "Test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
+ [1000]=>
+ string(4) "test"
+ [1001]=>
+ string(6) "monkey"
[16777216]=>
float(-0.33333333333333)
- [2147483647]=>
- string(4) "test"
}
Using SORT_REGULAR:
array(8) {
- [-2147483648]=>
- string(6) "monkey"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -368,16 +393,16 @@
string(4) "Test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
+ [1000]=>
+ string(4) "test"
+ [1001]=>
+ string(6) "monkey"
[16777216]=>
float(-0.33333333333333)
- [2147483647]=>
- string(4) "test"
}
Using SORT_NUMERIC:
array(8) {
- [-2147483648]=>
- string(6) "monkey"
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -392,30 +417,32 @@
string(4) "Test"
[17]=>
string(27) "PHP: Hypertext Preprocessor"
+ [1000]=>
+ string(4) "test"
+ [1001]=>
+ string(6) "monkey"
[16777216]=>
float(-0.33333333333333)
- [2147483647]=>
- string(4) "test"
}
Using SORT_STRING
array(8) {
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
[1]=>
string(6) "orange"
}
- [-2147483648]=>
- string(6) "monkey"
[0]=>
string(3) "PHP"
+ [1000]=>
+ string(4) "test"
+ [1001]=>
+ string(6) "monkey"
[16777216]=>
float(-0.33333333333333)
[17]=>
string(27) "PHP: Hypertext Preprocessor"
- [2147483647]=>
- string(4) "test"
[5]=>
string(4) "Test"
["test"]=>
diff -r -u ../php-cvs/php4/ext/standard/tests/array/003.phpt
ext/standard/tests/array/003.phpt
--- ../php-cvs/php4/ext/standard/tests/array/003.phpt Sat Nov 9
11:42:49 2002
+++ ext/standard/tests/array/003.phpt Sat Nov 16 16:08:59 2002
@@ -34,7 +34,7 @@
array(8) {
[16777216]=>
float(-0.33333333333333)
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
@@ -49,31 +49,31 @@
string(27) "PHP: Hypertext Preprocessor"
[5]=>
string(4) "Test"
- [-2147483648]=>
+ [1001]=>
string(6) "monkey"
- [2147483647]=>
+ [1000]=>
string(4) "test"
}
-- Testing uksort() --
array(8) {
- ["-2147483647"]=>
+ ["-1000"]=>
array(2) {
[0]=>
string(6) "banana"
[1]=>
string(6) "orange"
}
- [-2147483648]=>
- string(6) "monkey"
[0]=>
string(3) "PHP"
+ [1000]=>
+ string(4) "test"
+ [1001]=>
+ string(6) "monkey"
[16777216]=>
float(-0.33333333333333)
[17]=>
string(27) "PHP: Hypertext Preprocessor"
- [2147483647]=>
- string(4) "test"
[5]=>
string(4) "Test"
["test"]=>
diff -r -u ../php-cvs/php4/ext/standard/tests/array/data.inc
ext/standard/tests/array/data.inc
--- ../php-cvs/php4/ext/standard/tests/array/data.inc Sat Nov 9
11:42:49 2002
+++ ext/standard/tests/array/data.inc Sat Nov 16 16:05:49 2002
@@ -5,8 +5,8 @@
17=>'PHP: Hypertext Preprocessor',
5=>'Test',
'test'=>27,
- 2147483647=>'test',
- "-2147483647"=>array('banana', 'orange'),
+ 1000=>'test',
+ "-1000"=>array('banana', 'orange'),
'monkey',
$tmp=>-1/3
);
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php