-
Notifications
You must be signed in to change notification settings - Fork 49
/
Copy pathswoole-phpunit
executable file
·70 lines (57 loc) · 1.61 KB
/
swoole-phpunit
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#!/usr/bin/env php
<?php
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
if (version_compare('7.1.0', \PHP_VERSION, '>')) {
fwrite(
\STDERR,
sprintf(
'This version of PHPUnit is supported on PHP 7.1, PHP 7.2, and PHP 7.3.' . \PHP_EOL .
'You are using PHP %s (%s).' . \PHP_EOL,
\PHP_VERSION,
\PHP_BINARY
)
);
die(1);
}
if (!ini_get('date.timezone')) {
ini_set('date.timezone', 'UTC');
}
foreach ([__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php'] as $file) {
if (file_exists($file)) {
define('PHPUNIT_COMPOSER_INSTALL', $file);
break;
}
}
unset($file);
if (!defined('PHPUNIT_COMPOSER_INSTALL')) {
fwrite(
\STDERR,
'You need to set up the project dependencies using Composer:' . \PHP_EOL . \PHP_EOL .
' composer install' . \PHP_EOL . \PHP_EOL .
'You can learn all about Composer on https://getcomposer.org/.' . \PHP_EOL
);
die(1);
}
$options = getopt('', ['prepend:']);
if (isset($options['prepend'])) {
require $options['prepend'];
}
unset($options);
require PHPUNIT_COMPOSER_INSTALL;
$code = 0;
Co::set(['hook_flags' => \SWOOLE_HOOK_ALL]);
Co\run(function () use (&$code) {
try {
$code = PHPUnit\TextUI\Command::main(false);
} catch (\Swoole\ExitException $e) {
$code = $e->getStatus();
}
});
exit($code);