Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2954693

Browse files
[ci] Collect and replay skipped tests
1 parent 491c12c commit 2954693

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+282
-4
lines changed

.travis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ install:
4848
- if [ "$deps" != "skip" ] && [ "$deps" != "no" ]; then php .travis.php $TRAVIS_COMMIT_RANGE $TRAVIS_BRANCH $COMPONENTS; fi;
4949

5050
script:
51-
- if [ "$deps" = "no" ]; then echo "$COMPONENTS" | parallel --gnu 'echo -e "\\nRunning {} tests"; $PHPUNIT --exclude-group tty,benchmark,intl-data {}'; fi;
51+
- if [ "$deps" = "no" ]; then echo "$COMPONENTS" | parallel --gnu '$PHPUNIT --exclude-group tty,benchmark,intl-data {}'; fi;
5252
- if [ "$deps" = "no" ]; then echo -e "\\nRunning tests requiring tty"; $PHPUNIT --group tty; fi;
53-
- if [ "$deps" = "high" ]; then echo "$COMPONENTS" | parallel --gnu -j10% 'echo -e "\\nRunning {} tests"; cd {}; composer --prefer-source update; $PHPUNIT --exclude-group tty,benchmark,intl-data,legacy'; fi;
54-
- if [ "$deps" = "low" ]; then echo "$COMPONENTS" | parallel --gnu -j10% 'echo -e "\\nRunning {} tests"; cd {}; composer --prefer-source --prefer-lowest --prefer-stable update; $PHPUNIT --exclude-group tty,benchmark,intl-data'; fi;
53+
- if [ "$deps" = "high" ]; then echo "$COMPONENTS" | parallel --gnu -j10% 'cd {}; composer --prefer-source update; $PHPUNIT --exclude-group tty,benchmark,intl-data,legacy'; fi;
54+
- if [ "$deps" = "low" ]; then echo "$COMPONENTS" | parallel --gnu -j10% 'cd {}; composer --prefer-source --prefer-lowest --prefer-stable update; $PHPUNIT --exclude-group tty,benchmark,intl-data'; fi;
5555
- if [ "$deps" = "skip" ]; then echo 'This matrix line is skipped for pull requests.'; fi;

appveyor.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ init:
1414
- SET PHP=1
1515
- SET ANSICON=121x90 (121x90)
1616
- SET PHP_INI_MATRIX=php.ini-min php.ini-max
17+
- SET SYMFONY_PHPUNIT_SKIPPED_TESTS=phpunit.skipped
1718

1819
install:
1920
- IF EXIST c:\php (SET PHP=0) ELSE (mkdir c:\php)

phpunit

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ if (!file_exists("$PHPUNIT_DIR/phpunit-$PHPUNIT_VERSION/phpunit")) {
2828
// Build a standalone phpunit without symfony/yaml
2929

3030
$oldPwd = getcwd();
31-
mkdir($PHPUNIT_DIR);
31+
@mkdir($PHPUNIT_DIR);
3232
chdir($PHPUNIT_DIR);
3333
if (extension_loaded('openssl') && ini_get('allow_url_fopen')) {
3434
stream_copy_to_stream(fopen("https://github.com/sebastianbergmann/phpunit/archive/$PHPUNIT_VERSION.zip", 'rb'), fopen("$PHPUNIT_VERSION.zip", 'wb'));
@@ -41,7 +41,9 @@ if (!file_exists("$PHPUNIT_DIR/phpunit-$PHPUNIT_VERSION/phpunit")) {
4141
$zip->close();
4242
chdir("phpunit-$PHPUNIT_VERSION");
4343
passthru("$COMPOSER remove --no-update symfony/yaml");
44+
passthru("$COMPOSER require --dev --no-update symfony/phpunit-bridge \">=2.8@dev\"");
4445
passthru("$COMPOSER install --prefer-source --no-progress --ansi");
46+
symlink(realpath('../../src/Symfony/Bridge/PhpUnit/SkippedTestsListener.php'), './vendor/symfony/phpunit-bridge/SkippedTestsListener.php');
4547
chdir($oldPwd);
4648
}
4749

@@ -80,6 +82,7 @@ if (isset($argv[1]) && 'symfony' === $argv[1]) {
8082
$finder = new RecursiveIteratorIterator($finder);
8183
$finder->setMaxDepth(3);
8284

85+
$skippedTests = isset($_SERVER['SYMFONY_PHPUNIT_SKIPPED_TESTS']) ? $_SERVER['SYMFONY_PHPUNIT_SKIPPED_TESTS'] : false;
8386
$runningProcs = array();
8487

8588
foreach ($finder as $file => $fileInfo) {
@@ -88,6 +91,10 @@ if (isset($argv[1]) && 'symfony' === $argv[1]) {
8891

8992
// Run phpunit tests in parallel
9093

94+
if ($skippedTests) {
95+
putenv("SYMFONY_PHPUNIT_SKIPPED_TESTS=$component/$skippedTests");
96+
}
97+
9198
$c = ProcessUtils::escapeArgument($component);
9299

93100
if ($proc = proc_open(sprintf($cmd, $c, " > $c/phpunit.stdout 2> $c/phpunit.stderr"), array(), $pipes)) {
@@ -139,6 +146,9 @@ if (isset($argv[1]) && 'symfony' === $argv[1]) {
139146
}
140147
unlink($file);
141148
}
149+
if ($skippedTests) {
150+
@unlink("$component/$skippedTests");
151+
}
142152

143153
if ($procStatus) {
144154
$exit = 1;

phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,8 @@
4343
</exclude>
4444
</whitelist>
4545
</filter>
46+
47+
<listeners>
48+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
49+
</listeners>
4650
</phpunit>

src/Symfony/Bridge/Doctrine/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>

src/Symfony/Bridge/Monolog/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <[email protected]>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Bridge\PhpUnit;
13+
14+
/**
15+
* Collects and replays skipped tests.
16+
*
17+
* @author Nicolas Grekas <[email protected]>
18+
*/
19+
class SkippedTestsListener extends \PHPUnit_Framework_BaseTestListener
20+
{
21+
private $state = -1;
22+
private $skippedFile = false;
23+
private $wasSkipped = array();
24+
private $isSkipped = array();
25+
26+
public function __destruct()
27+
{
28+
if (0 < $this->state) {
29+
file_put_contents($this->skippedFile, '<?php return '.var_export($this->isSkipped, true).';');
30+
}
31+
}
32+
33+
public function startTestSuite(\PHPUnit_Framework_TestSuite $suite)
34+
{
35+
$suiteName = $suite->getName();
36+
37+
if (-1 === $this->state) {
38+
echo "Testing $suiteName\n";
39+
$this->state = 0;
40+
41+
if ($this->skippedFile = getenv('SYMFONY_PHPUNIT_SKIPPED_TESTS')) {
42+
$this->state = 1;
43+
44+
if (file_exists($this->skippedFile)) {
45+
$this->state = 2;
46+
47+
if (!$this->wasSkipped = require $this->skippedFile) {
48+
exit("All tests already ran successfully.\n");
49+
}
50+
}
51+
}
52+
} elseif (2 === $this->state) {
53+
$skipped = array();
54+
foreach ($suite->tests() as $test) {
55+
if (!$test instanceof \PHPUnit_Framework_TestCase
56+
|| isset($this->wasSkipped[$suiteName]['*'])
57+
|| isset($this->wasSkipped[$suiteName][$test->getName()])) {
58+
$skipped[] = $test;
59+
}
60+
}
61+
$suite->setTests($skipped);
62+
}
63+
}
64+
65+
public function addSkippedTest(\PHPUnit_Framework_Test $test, \Exception $e, $time)
66+
{
67+
if (0 < $this->state) {
68+
if ($test instanceof \PHPUnit_Framework_TestCase) {
69+
$class = get_class($test);
70+
$method = $test->getName();
71+
} else {
72+
$class = $test->getName();
73+
$method = '*';
74+
}
75+
76+
$this->isSkipped[$class][$method] = 1;
77+
}
78+
}
79+
}

src/Symfony/Bridge/PhpUnit/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>

src/Symfony/Bridge/ProxyManager/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Bridge/Twig/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Bundle/DebugBundle/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Bundle/FrameworkBundle/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Bundle/SecurityBundle/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Bundle/TwigBundle/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Bundle/WebProfilerBundle/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/Asset/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>

src/Symfony/Component/BrowserKit/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/ClassLoader/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/Config/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/Console/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/CssSelector/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/Debug/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,8 @@
2828
</exclude>
2929
</whitelist>
3030
</filter>
31+
32+
<listeners>
33+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
34+
</listeners>
3135
</phpunit>

src/Symfony/Component/DependencyInjection/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/DomCrawler/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/EventDispatcher/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/ExpressionLanguage/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,8 @@
3030
</exclude>
3131
</whitelist>
3232
</filter>
33+
34+
<listeners>
35+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
36+
</listeners>
3337
</phpunit>

src/Symfony/Component/Filesystem/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,8 @@
2424
</exclude>
2525
</whitelist>
2626
</filter>
27+
28+
<listeners>
29+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
30+
</listeners>
2731
</phpunit>

src/Symfony/Component/Finder/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>

src/Symfony/Component/Form/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>

src/Symfony/Component/HttpFoundation/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,8 @@
2626
</exclude>
2727
</whitelist>
2828
</filter>
29+
30+
<listeners>
31+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
32+
</listeners>
2933
</phpunit>

src/Symfony/Component/HttpKernel/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,8 @@
2525
</exclude>
2626
</whitelist>
2727
</filter>
28+
29+
<listeners>
30+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
31+
</listeners>
2832
</phpunit>

src/Symfony/Component/Intl/phpunit.xml.dist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,8 @@
3131
</exclude>
3232
</whitelist>
3333
</filter>
34+
35+
<listeners>
36+
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
37+
</listeners>
3438
</phpunit>

0 commit comments

Comments
 (0)