bootstrap.php 737 B

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