mirror of
https://github.com/danog/amp.git
synced 2025-01-22 13:21:16 +01:00
Reduce number of runs for memory test
This commit is contained in:
parent
6fd7fe5b11
commit
e912117f8d
20
src/Test.php
20
src/Test.php
@ -347,11 +347,13 @@ abstract class Test extends \PHPUnit_Framework_TestCase {
|
|||||||
/** @dataProvider provideRegistrationArgs */
|
/** @dataProvider provideRegistrationArgs */
|
||||||
function testNoMemoryLeak($type, $args)
|
function testNoMemoryLeak($type, $args)
|
||||||
{
|
{
|
||||||
|
$runs = 2000;
|
||||||
|
|
||||||
if ($type === "onSignal") {
|
if ($type === "onSignal") {
|
||||||
$this->testSignalCapability();
|
$this->testSignalCapability();
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->start(function(Driver $loop) use ($type, $args) {
|
$this->start(function(Driver $loop) use ($type, $args, $runs) {
|
||||||
$initialMem = memory_get_usage();
|
$initialMem = memory_get_usage();
|
||||||
$cb = function ($runs) use ($loop, $type, $args) {
|
$cb = function ($runs) use ($loop, $type, $args) {
|
||||||
$func = [$loop, $type];
|
$func = [$loop, $type];
|
||||||
@ -444,17 +446,17 @@ abstract class Test extends \PHPUnit_Framework_TestCase {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
$closureMem = memory_get_usage() - $initialMem;
|
$closureMem = memory_get_usage() - $initialMem;
|
||||||
$cb(10000); /* just to set up eventual structures inside loop without counting towards memory comparison */
|
$cb($runs); /* just to set up eventual structures inside loop without counting towards memory comparison */
|
||||||
gc_collect_cycles();
|
gc_collect_cycles();
|
||||||
$initialMem = memory_get_usage() - $closureMem;
|
$initialMem = memory_get_usage() - $closureMem;
|
||||||
$cb(10000);
|
$cb($runs);
|
||||||
unset($cb);
|
unset($cb);
|
||||||
|
|
||||||
gc_collect_cycles();
|
gc_collect_cycles();
|
||||||
$endMem = memory_get_usage();
|
$endMem = memory_get_usage();
|
||||||
|
|
||||||
/* this is allowing some memory usage due to runtime caches etc., but nothing actually leaking */
|
/* this is allowing some memory usage due to runtime caches etc., but nothing actually leaking */
|
||||||
$this->assertLessThan(40000, $endMem - $initialMem); // 4 * 10000, as 4 is minimal sizeof(void *)
|
$this->assertLessThan($runs * 4, $endMem - $initialMem); // * 4, as 4 is minimal sizeof(void *)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -496,7 +498,7 @@ abstract class Test extends \PHPUnit_Framework_TestCase {
|
|||||||
$del1 = $loop->delay($msDelay = 0, $dep(1, $del));
|
$del1 = $loop->delay($msDelay = 0, $dep(1, $del));
|
||||||
$del2 = $loop->delay($msDelay = 0, $dep(3, $del));
|
$del2 = $loop->delay($msDelay = 0, $dep(3, $del));
|
||||||
$del3 = $loop->delay($msDelay = 0, $f());
|
$del3 = $loop->delay($msDelay = 0, $f());
|
||||||
$del4 = $loop->delay($msDelay = 0, $f(1, 3));
|
$del4 = $loop->delay($msDelay = 0, $dep(1, $defdel = $f(1, 3)));
|
||||||
$loop->cancel($del3);
|
$loop->cancel($del3);
|
||||||
$loop->disable($del1);
|
$loop->disable($del1);
|
||||||
$loop->disable($del2);
|
$loop->disable($del2);
|
||||||
@ -506,11 +508,12 @@ abstract class Test extends \PHPUnit_Framework_TestCase {
|
|||||||
$loop->disable($writ1);
|
$loop->disable($writ1);
|
||||||
$loop->disable($writ2);
|
$loop->disable($writ2);
|
||||||
$loop->enable($writ1);
|
$loop->enable($writ1);
|
||||||
$writ4 = $loop->onWritable(STDIN, $f(1, 3));
|
$writ4 = $loop->onWritable(STDIN, $dep(1, $defwrit = $f(1, 3)));
|
||||||
$loop->onWritable(STDIN, $dep(2, $writ));
|
$loop->onWritable(STDIN, $dep(2, $writ));
|
||||||
$loop->enable($writ2);
|
$loop->enable($writ2);
|
||||||
$loop->disable($writ4);
|
$loop->disable($writ4);
|
||||||
$loop->defer(function() use ($loop, $writ4) {
|
$loop->defer(function() use ($loop, $writ4, $dep, $defwrit) {
|
||||||
|
$loop->onWritable(STDIN, $dep(0, $defwrit));
|
||||||
$loop->enable($writ4);
|
$loop->enable($writ4);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -518,7 +521,8 @@ abstract class Test extends \PHPUnit_Framework_TestCase {
|
|||||||
$loop->delay($msDelay = 0, $dep(2, $del));
|
$loop->delay($msDelay = 0, $dep(2, $del));
|
||||||
$loop->enable($del2);
|
$loop->enable($del2);
|
||||||
$loop->disable($del4);
|
$loop->disable($del4);
|
||||||
$loop->defer(function() use ($loop, $del4) {
|
$loop->defer(function() use ($loop, $del4, $dep, $defdel) {
|
||||||
|
$loop->onWritable(STDIN, $dep(0, $defdel));
|
||||||
$loop->enable($del4);
|
$loop->enable($del4);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user