1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
<?php
// The Nette Tester command-line runner can be
// invoked through the command: ../vendor/bin/tester .
declare(strict_types=1);
if (@!include __DIR__ . '/../vendor/autoload.php') {
echo 'Install Nette Tester using `composer install`';
exit(1);
}
// configure environment
Tester\Environment::setup();
Tester\Environment::setupFunctions();
function getTempDir(): string
{
$dir = __DIR__ . '/tmp/' . getmypid();
if (empty($GLOBALS['\lock'])) {
// garbage collector
$GLOBALS['\lock'] = $lock = fopen(__DIR__ . '/lock', 'w');
if (rand(0, 100)) {
flock($lock, LOCK_SH);
@mkdir(dirname($dir));
} elseif (flock($lock, LOCK_EX)) {
Tester\Helpers::purge(dirname($dir));
}
@mkdir($dir);
}
return $dir;
}
|