Skip to content

Commit 9dc4e19

Browse files
committed
ext/random: applied fixers to improve test robustness
1 parent 1ca5d65 commit 9dc4e19

21 files changed

Lines changed: 167 additions & 168 deletions

ext/random/tests/01_functions/bug46587.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ var_dump(mt_rand(3,8));
77
try {
88
var_dump(mt_rand(8,3));
99
} catch (ValueError $e) {
10-
echo $e->getMessage(), "\n";
10+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1111
}
1212

1313
echo "Done.\n";
1414
?>
1515
--EXPECTF--
1616
int(%d)
17-
mt_rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min)
17+
ValueError: mt_rand(): Argument #2 ($max) must be greater than or equal to argument #1 ($min)
1818
Done.

ext/random/tests/01_functions/mt_rand_basic.phpt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,3 @@ PASSED: range min = 100 max = 1000
6060
PASSED: range min = 10500 max = 1050000
6161
PASSED: range min = 16 max = 65536
6262
PASSED: range min = 256 max = 448
63-

ext/random/tests/01_functions/random_bytes_error.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ Test error operation of random_bytes()
77
try {
88
$bytes = random_bytes();
99
} catch (TypeError $e) {
10-
echo $e->getMessage().PHP_EOL;
10+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1111
}
1212

1313
try {
1414
$bytes = random_bytes(0);
1515
} catch (Error $e) {
16-
echo $e->getMessage().PHP_EOL;
16+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1717
}
1818

1919
?>
2020
--EXPECT--
21-
random_bytes() expects exactly 1 argument, 0 given
22-
random_bytes(): Argument #1 ($length) must be greater than 0
21+
ArgumentCountError: random_bytes() expects exactly 1 argument, 0 given
22+
ValueError: random_bytes(): Argument #1 ($length) must be greater than 0

ext/random/tests/01_functions/random_int_error.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,23 +7,23 @@ Test error operation of random_int()
77
try {
88
$randomInt = random_int();
99
} catch (TypeError $e) {
10-
echo $e->getMessage().PHP_EOL;
10+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1111
}
1212

1313
try {
1414
$randomInt = random_int(42);
1515
} catch (TypeError $e) {
16-
echo $e->getMessage().PHP_EOL;
16+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1717
}
1818

1919
try {
2020
$randomInt = random_int(42,0);
2121
} catch (Error $e) {
22-
echo $e->getMessage().PHP_EOL;
22+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
2323
}
2424

2525
?>
2626
--EXPECT--
27-
random_int() expects exactly 2 arguments, 0 given
28-
random_int() expects exactly 2 arguments, 1 given
29-
random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max)
27+
ArgumentCountError: random_int() expects exactly 2 arguments, 0 given
28+
ArgumentCountError: random_int() expects exactly 2 arguments, 1 given
29+
ValueError: random_int(): Argument #1 ($min) must be less than or equal to argument #2 ($max)

ext/random/tests/02_engine/all_serialize_error.phpt

Lines changed: 20 additions & 20 deletions
Large diffs are not rendered by default.

ext/random/tests/02_engine/mt19937_error.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ use Random\Engine\Mt19937;
88
try {
99
new Mt19937(1234, 2);
1010
} catch (ValueError $e) {
11-
echo $e->getMessage(), PHP_EOL;
11+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1212
}
1313

1414
?>
1515
--EXPECT--
16-
Random\Engine\Mt19937::__construct(): Argument #2 ($mode) must be either MT_RAND_MT19937 or MT_RAND_PHP
16+
ValueError: Random\Engine\Mt19937::__construct(): Argument #2 ($mode) must be either MT_RAND_MT19937 or MT_RAND_PHP

ext/random/tests/02_engine/pcgoneseq128xslrr64_jump_error.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ $referenceEngine = new PcgOneseq128XslRr64(1234);
1111
try {
1212
$engine->jump(-1);
1313
} catch (ValueError $e) {
14-
echo $e->getMessage(), PHP_EOL;
14+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1515
}
1616

1717
for ($i = 0; $i < 10_000; $i++) {
@@ -24,5 +24,5 @@ die('success');
2424

2525
?>
2626
--EXPECT--
27-
Random\Engine\PcgOneseq128XslRr64::jump(): Argument #1 ($advance) must be greater than or equal to 0
27+
ValueError: Random\Engine\PcgOneseq128XslRr64::jump(): Argument #1 ($advance) must be greater than or equal to 0
2828
success

ext/random/tests/02_engine/pcgoneseq128xslrr64_seed.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ echo "Invalid data type", PHP_EOL;
1717
try {
1818
$engine = new PcgOneseq128XslRr64(1.0);
1919
} catch (TypeError $e) {
20-
echo $e->getMessage(), PHP_EOL;
20+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
2121
}
2222
echo PHP_EOL, PHP_EOL;
2323

2424
echo "Invalid string seed length", PHP_EOL;
2525
try {
2626
$engine = new PcgOneseq128XslRr64('foobar');
2727
} catch (ValueError $e) {
28-
echo $e->getMessage(), PHP_EOL;
28+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
2929
}
3030
echo PHP_EOL, PHP_EOL;
3131

@@ -49,11 +49,11 @@ Random string seed
4949

5050

5151
Invalid data type
52-
Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be of type string|int|null, float given
52+
TypeError: Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be of type string|int|null, float given
5353

5454

5555
Invalid string seed length
56-
Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be a 16 byte (128 bit) string
56+
ValueError: Random\Engine\PcgOneseq128XslRr64::__construct(): Argument #1 ($seed) must be a 16 byte (128 bit) string
5757

5858

5959
Valid string seed

ext/random/tests/02_engine/xoshiro256starstar_seed.phpt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ echo "Invalid data type", PHP_EOL;
1717
try {
1818
$engine = new Xoshiro256StarStar(1.0);
1919
} catch (Throwable $e) {
20-
echo $e->getMessage(), PHP_EOL;
20+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
2121
}
2222
echo PHP_EOL, PHP_EOL;
2323

2424
echo "Invalid string seed length", PHP_EOL;
2525
try {
2626
$engine = new Xoshiro256StarStar('foobar');
2727
} catch (Throwable $e) {
28-
echo $e->getMessage(), PHP_EOL;
28+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
2929
}
3030
echo PHP_EOL, PHP_EOL;
3131

3232
echo "Null seed", PHP_EOL;
3333
try {
3434
$engine = new Xoshiro256StarStar(str_repeat("\x00", 32));
3535
} catch (Throwable $e) {
36-
echo $e->getMessage(), PHP_EOL;
36+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
3737
}
3838
echo PHP_EOL, PHP_EOL;
3939

@@ -57,15 +57,15 @@ Random string seed
5757

5858

5959
Invalid data type
60-
Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be of type string|int|null, float given
60+
TypeError: Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be of type string|int|null, float given
6161

6262

6363
Invalid string seed length
64-
Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be a 32 byte (256 bit) string
64+
ValueError: Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must be a 32 byte (256 bit) string
6565

6666

6767
Null seed
68-
Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must not consist entirely of NUL bytes
68+
ValueError: Random\Engine\Xoshiro256StarStar::__construct(): Argument #1 ($seed) must not consist entirely of NUL bytes
6969

7070

7171
Valid string seed

ext/random/tests/02_engine/xoshiro256starstar_unserialize_zero_state.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ GH-21731: Xoshiro256StarStar::__unserialize() must reject the all-zero state
66
try {
77
var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"0000000000000000";i:1;s:16:"0000000000000000";i:2;s:16:"0000000000000000";i:3;s:16:"0000000000000000";}}'));
88
} catch (\Exception $e) {
9-
echo $e->getMessage(), PHP_EOL;
9+
echo $e::class, ': ', $e->getMessage(), \PHP_EOL;
1010
}
1111

1212
?>
1313
--EXPECT--
14-
Invalid serialization data for Random\Engine\Xoshiro256StarStar object
14+
Exception: Invalid serialization data for Random\Engine\Xoshiro256StarStar object

0 commit comments

Comments
 (0)