[ci] Enable collecting and replaying skipped tests

This commit is contained in:
Nicolas Grekas 2015-10-09 18:17:11 +02:00
parent 5206086266
commit 4032c88a21
78 changed files with 167 additions and 73 deletions

View File

@ -45,8 +45,8 @@ install:
- if [ "$deps" != "skip" ] && [ "$deps" != "no" ]; then php .travis.php $TRAVIS_COMMIT_RANGE $TRAVIS_BRANCH $COMPONENTS; fi;
script:
- if [ "$deps" = "no" ]; then echo "$COMPONENTS" | parallel --gnu 'echo -e "\\nRunning {} tests"; $PHPUNIT --exclude-group tty,benchmark,intl-data {}'; fi;
- if [ "$deps" = "no" ]; then echo "$COMPONENTS" | parallel --gnu '$PHPUNIT --exclude-group tty,benchmark,intl-data {}'; fi;
- if [ "$deps" = "no" ]; then echo -e "\\nRunning tests requiring tty"; $PHPUNIT --group tty; fi;
- 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'; fi;
- 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;
- if [ "$deps" = "high" ]; then echo "$COMPONENTS" | parallel --gnu -j10% 'cd {}; composer --prefer-source update; $PHPUNIT --exclude-group tty,benchmark,intl-data'; fi;
- 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;
- if [ "$deps" = "skip" ]; then echo 'This matrix line is skipped for pull requests.'; fi;

View File

@ -14,6 +14,7 @@ init:
- SET PHP=1
- SET ANSICON=121x90 (121x90)
- SET PHP_INI_MATRIX=php.ini-min php.ini-max
- SET SYMFONY_PHPUNIT_SKIPPED_TESTS=phpunit.skipped
install:
- IF EXIST c:\php (SET PHP=0) ELSE (mkdir c:\php)
@ -32,6 +33,7 @@ install:
- IF %PHP%==1 cd ..
- IF %PHP%==1 echo @php %%~dp0composer.phar %%* > composer.bat
- IF %PHP%==1 copy /Y php.ini-development php.ini-min
- IF %PHP%==1 echo max_execution_time=1200 >> php.ini-min
- IF %PHP%==1 echo date.timezone="UTC" >> php.ini-min
- IF %PHP%==1 echo extension_dir=ext >> php.ini-min
- IF %PHP%==1 echo extension=php_openssl.dll >> php.ini-min

View File

@ -61,7 +61,6 @@
"symfony/yaml": "self.version"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"doctrine/data-fixtures": "1.0.*",
"doctrine/dbal": "~2.4",
"doctrine/orm": "~2.4,>=2.4.5",

16
phpunit
View File

@ -28,7 +28,7 @@ if (!file_exists("$PHPUNIT_DIR/phpunit-$PHPUNIT_VERSION/phpunit")) {
// Build a standalone phpunit without symfony/yaml
$oldPwd = getcwd();
mkdir($PHPUNIT_DIR);
@mkdir($PHPUNIT_DIR);
chdir($PHPUNIT_DIR);
if (extension_loaded('openssl') && ini_get('allow_url_fopen')) {
stream_copy_to_stream(fopen("https://github.com/sebastianbergmann/phpunit/archive/$PHPUNIT_VERSION.zip", 'rb'), fopen("$PHPUNIT_VERSION.zip", 'wb'));
@ -41,6 +41,7 @@ if (!file_exists("$PHPUNIT_DIR/phpunit-$PHPUNIT_VERSION/phpunit")) {
$zip->close();
chdir("phpunit-$PHPUNIT_VERSION");
passthru("$COMPOSER remove --no-update symfony/yaml");
passthru("$COMPOSER require --dev --no-update symfony/phpunit-bridge \">=2.8@dev\"");
passthru("$COMPOSER install --prefer-source --no-progress --ansi");
chdir($oldPwd);
}
@ -76,10 +77,13 @@ if ($phpIniMatrix) {
if (isset($argv[1]) && 'symfony' === $argv[1]) {
// Find Symfony components in plain php for Windows portability
$finder = new RecursiveDirectoryIterator(__DIR__.'/src/Symfony', FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::UNIX_PATHS);
$oldPwd = getcwd();
chdir(__DIR__);
$finder = new RecursiveDirectoryIterator('src/Symfony', FilesystemIterator::KEY_AS_FILENAME | FilesystemIterator::UNIX_PATHS);
$finder = new RecursiveIteratorIterator($finder);
$finder->setMaxDepth(3);
$skippedTests = isset($_SERVER['SYMFONY_PHPUNIT_SKIPPED_TESTS']) ? $_SERVER['SYMFONY_PHPUNIT_SKIPPED_TESTS'] : false;
$runningProcs = array();
foreach ($finder as $file => $fileInfo) {
@ -88,6 +92,10 @@ if (isset($argv[1]) && 'symfony' === $argv[1]) {
// Run phpunit tests in parallel
if ($skippedTests) {
putenv("SYMFONY_PHPUNIT_SKIPPED_TESTS=$component/$skippedTests");
}
$c = ProcessUtils::escapeArgument($component);
if ($proc = proc_open(sprintf($cmd, $c, " > $c/phpunit.stdout 2> $c/phpunit.stderr"), array(), $pipes)) {
@ -98,6 +106,7 @@ if (isset($argv[1]) && 'symfony' === $argv[1]) {
}
}
}
chdir($oldPwd);
// Fixes for colors support on appveyor
// See https://github.com/appveyor/ci/issues/373
@ -139,6 +148,9 @@ if (isset($argv[1]) && 'symfony' === $argv[1]) {
}
unlink($file);
}
if ($skippedTests) {
@unlink("$component/$skippedTests");
}
if ($procStatus) {
$exit = 1;

View File

@ -41,4 +41,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -20,7 +20,6 @@
"doctrine/common": "~2.4"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/stopwatch": "~2.2",
"symfony/dependency-injection": "~2.0,>=2.0.5",
"symfony/form": "~2.3,>=2.3.8",

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -20,9 +20,6 @@
"symfony/http-kernel": "~2.2",
"monolog/monolog": "~1.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Bridge\\Monolog\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -24,7 +24,6 @@
"propel/propel1": "~1.6,>=1.6.5"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/stopwatch": "~2.2"
},
"autoload": {

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -21,7 +21,6 @@
"ocramius/proxy-manager": "~0.3.1"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/config": "~2.3"
},
"autoload": {

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,9 +19,6 @@
"php": ">=5.3.3",
"swiftmailer/swiftmailer": ">=4.2.0,<6.0-dev"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"suggest": {
"symfony/http-kernel": ""
},

View File

@ -20,7 +20,6 @@
"twig/twig": "~1.20|~2.0"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/finder": "~2.3",
"symfony/form": "~2.3.31",
"symfony/http-kernel": "~2.3",

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -30,7 +30,6 @@
"doctrine/common": "~2.2"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/browser-kit": "~2.3",
"symfony/console": "~2.3",
"symfony/css-selector": "~2.0,>=2.0.5",

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -22,7 +22,6 @@
"symfony/http-kernel": "~2.2"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/browser-kit": "~2.3",
"symfony/css-selector": "~2.0,>=2.0.5",
"symfony/dependency-injection": "~2.3",

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -21,7 +21,6 @@
"symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/stopwatch": "~2.2",
"symfony/dependency-injection": "~2.2",
"symfony/config": "~2.2",

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -22,7 +22,6 @@
"symfony/twig-bridge": "~2.2"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/config": "~2.2",
"symfony/console": "~2.3",
"symfony/dependency-injection": "~2.2",

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -20,7 +20,6 @@
"symfony/dom-crawler": "~2.0,>=2.0.5"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/process": "~2.0,>=2.0.5",
"symfony/css-selector": "~2.0,>=2.0.5"
},

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -20,7 +20,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/finder": "~2.0,>=2.0.5"
},
"autoload": {

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,9 +19,6 @@
"php": ">=5.3.3",
"symfony/filesystem": "~2.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Config\\": "" }
},

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,7 +19,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/event-dispatcher": "~2.1"
},
"suggest": {

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -22,9 +22,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\CssSelector\\": "" }
},

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -22,7 +22,6 @@
"symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
"symfony/http-foundation": "~2.1"
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,7 +19,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/yaml": "~2.1",
"symfony/config": "~2.2"
},

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,7 +19,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/css-selector": "~2.0,>=2.0.5"
},
"suggest": {

View File

@ -26,4 +26,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,7 +19,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/dependency-injection": "~2.0,>=2.0.5"
},
"suggest": {

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Filesystem\\": "" }
},

View File

@ -23,4 +23,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Finder\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -23,7 +23,6 @@
"symfony/property-access": "~2.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"doctrine/collections": "~1.0",
"symfony/validator": "~2.3.29",
"symfony/translation": "~2.0,>=2.0.5",

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\HttpFoundation\\": "" },
"classmap": [ "Symfony/Component/HttpFoundation/Resources/stubs" ]

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -23,7 +23,6 @@
"psr/log": "~1.0"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/browser-kit": "~2.3",
"symfony/class-loader": "~2.1",
"symfony/config": "~2.0,>=2.0.5",

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -27,7 +27,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/filesystem": ">=2.1"
},
"suggest": {

View File

@ -30,4 +30,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,9 +19,6 @@
"php": ">=5.3.3",
"symfony/intl": "~2.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Locale\\": "" }
},

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\OptionsResolver\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Process\\": "" }
},

View File

@ -23,4 +23,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\PropertyAccess\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,7 +19,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/config": "~2.2",
"symfony/http-foundation": "~2.3",
"symfony/yaml": "~2.0,>=2.0.5",

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -22,7 +22,6 @@
"symfony/http-kernel": "~2.1"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/form": "~2.0,>=2.0.5",
"symfony/intl": "~2.3",
"symfony/routing": "~2.2",

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Serializer\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Stopwatch\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Templating\\": "" }
},

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -19,7 +19,6 @@
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/config": "~2.3,>=2.3.12",
"symfony/intl": "~2.3",
"symfony/yaml": "~2.2"

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -20,7 +20,6 @@
"symfony/translation": "~2.0,>=2.0.5"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"doctrine/common": "~2.3",
"symfony/http-foundation": "~2.1",
"symfony/intl": "~2.3",

View File

@ -25,4 +25,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>

View File

@ -18,9 +18,6 @@
"require": {
"php": ">=5.3.3"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7"
},
"autoload": {
"psr-0": { "Symfony\\Component\\Yaml\\": "" }
},

View File

@ -24,4 +24,8 @@
</exclude>
</whitelist>
</filter>
<listeners>
<listener class="Symfony\Bridge\PhpUnit\SkippedTestsListener" />
</listeners>
</phpunit>