Skip to content

Commit ed3825f

Browse files
committed
Unify structure for ext/random's engine tests (2)
This makes adjustments that were missed in 2d6a883.
1 parent cbb024c commit ed3825f

File tree

5 files changed

+25
-30
lines changed

5 files changed

+25
-30
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ $engines[] = new PcgOneseq128XslRr64(1234);
1313
$engines[] = new Xoshiro256StarStar(1234);
1414

1515
foreach ($engines as $engine) {
16+
echo $engine::class, PHP_EOL;
17+
1618
for ($i = 0; $i < 10_000; $i++) {
1719
$engine->generate();
1820
}
@@ -21,9 +23,7 @@ foreach ($engines as $engine) {
2123

2224
for ($i = 0; $i < 10_000; $i++) {
2325
if ($engine->generate() !== $engine2->generate()) {
24-
$className = $engine::class;
25-
26-
die("failure: {$className} at {$i}");
26+
die("failure: state differs at {$i}");
2727
}
2828
}
2929
}
@@ -32,4 +32,7 @@ die('success');
3232

3333
?>
3434
--EXPECT--
35+
Random\Engine\Mt19937
36+
Random\Engine\PcgOneseq128XslRr64
37+
Random\Engine\Xoshiro256StarStar
3538
success

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

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,7 @@ Random: Engine: Serialization of user engines must preserve the sequence
55

66
use Random\Engine;
77

8-
final class User64 implements Engine
9-
{
10-
private int $count = 0;
11-
12-
public function generate(): string
13-
{
14-
return pack('P*', ++$this->count);
15-
}
16-
}
17-
18-
final class User32 implements Engine
8+
final class CountingEngine32 implements Engine
199
{
2010
private int $count = 0;
2111

@@ -26,12 +16,11 @@ final class User32 implements Engine
2616
}
2717

2818
$engines = [];
29-
if (PHP_INT_SIZE >= 8) {
30-
$engines[] = new User64();
31-
}
32-
$engines[] = new User32();
19+
$engines[] = new CountingEngine32();
3320

3421
foreach ($engines as $engine) {
22+
echo $engine::class, PHP_EOL;
23+
3524
for ($i = 0; $i < 10_000; $i++) {
3625
$engine->generate();
3726
}
@@ -40,9 +29,7 @@ foreach ($engines as $engine) {
4029

4130
for ($i = 0; $i < 10_000; $i++) {
4231
if ($engine->generate() !== $engine2->generate()) {
43-
$className = $engine::class;
44-
45-
die("failure: {$className} at {$i}");
32+
die("failure: state differs at {$i}");
4633
}
4734
}
4835
}
@@ -51,4 +38,5 @@ die('success');
5138

5239
?>
5340
--EXPECT--
41+
CountingEngine32
5442
success

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ try {
1616

1717
for ($i = 0; $i < 10_000; $i++) {
1818
if ($engine->generate() !== $referenceEngine->generate()) {
19-
die('failure: state changed');
19+
die("failure: state differs at {$i}");
2020
}
2121
}
2222

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ $engines[] = new PcgOneseq128XslRr64(1234);
2626
$engines[] = new Xoshiro256StarStar(1234);
2727

2828
foreach ($engines as $engine) {
29+
echo $engine::class, PHP_EOL;
30+
2931
$native_engine = clone $engine;
3032
$user_engine = new WrapperEngine(clone $engine);
3133

3234
for ($i = 0; $i < 10_000; $i++) {
3335
if ($native_engine->generate() !== $user_engine->generate()) {
34-
$className = $engine::class;
35-
die("failure: {$className} at {$i}");
36+
die("failure: state differs at {$i}");
3637
}
3738
}
3839
}
@@ -41,4 +42,7 @@ die('success');
4142

4243
?>
4344
--EXPECT--
45+
Random\Engine\Mt19937
46+
Random\Engine\PcgOneseq128XslRr64
47+
Random\Engine\Xoshiro256StarStar
4448
success

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,33 @@ Random: Engine: Xoshiro256StarStar: The seed parameter must work as expected
66
use Random\Engine\Xoshiro256StarStar;
77

88
echo "Random integer seed", PHP_EOL;
9-
$engine = new Xoshiro256StarStar(\random_int(\PHP_INT_MIN, \PHP_INT_MAX));
9+
$engine = new Xoshiro256StarStar(random_int(PHP_INT_MIN, PHP_INT_MAX));
1010
echo PHP_EOL, PHP_EOL;
1111

1212
echo "Random string seed", PHP_EOL;
13-
$engine = new Xoshiro256StarStar(\random_bytes(32));
13+
$engine = new Xoshiro256StarStar(random_bytes(32));
1414
echo PHP_EOL, PHP_EOL;
1515

1616
echo "Invalid data type", PHP_EOL;
1717
try {
1818
$engine = new Xoshiro256StarStar(1.0);
19-
} catch (\Throwable $e) {
19+
} catch (Throwable $e) {
2020
echo $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');
27-
} catch (\Throwable $e) {
27+
} catch (Throwable $e) {
2828
echo $e->getMessage(), PHP_EOL;
2929
}
3030
echo PHP_EOL, PHP_EOL;
3131

3232
echo "Null seed", PHP_EOL;
3333
try {
34-
$engine = new Random\Engine\Xoshiro256StarStar(\str_repeat("\x00", 32));
35-
} catch (\Throwable $e) {
34+
$engine = new Xoshiro256StarStar(str_repeat("\x00", 32));
35+
} catch (Throwable $e) {
3636
echo $e->getMessage(), PHP_EOL;
3737
}
3838
echo PHP_EOL, PHP_EOL;

0 commit comments

Comments
 (0)