Reorganize testsuites
authorKosta Harlan <kharlan@wikimedia.org>
Fri, 5 Jul 2019 15:33:08 +0000 (11:33 -0400)
committerKosta Harlan <kharlan@wikimedia.org>
Mon, 8 Jul 2019 01:26:34 +0000 (21:26 -0400)
The idea is that `vendor/bin/phpunit` could run all of the tests contained in
core + extensions + skins with no overlap, but that we can also provide
granularity for CI which wants to run some testsuites (e.g. core:unit and
core:integration) before extensions/skins, as well as running unit before
integration tests.

Bug: T87781
Change-Id: I2fb57f4a9a58ec7a4042d9cc1821cc484661a6b9

composer.json
phpunit.xml.dist

index 07f62e2..9240ace 100644 (file)
                        "composer phpcs"
                ],
                "phpunit": "vendor/bin/phpunit",
-               "phpunit:unit": "vendor/bin/phpunit --colors=always --testsuite=unit",
-               "phpunit:integration": "vendor/bin/phpunit --colors=always --testsuite=integration",
-               "phpunit:coverage": "php -d zend_extensions=xdebug.so vendor/bin/phpunit --testsuite=unit --exclude-group Dump,Broken,ParserFuzz,Stub"
+               "phpunit:unit": "vendor/bin/phpunit --colors=always --testsuite=core:unit,extensions:unit,skins:unit",
+               "phpunit:integration": "vendor/bin/phpunit --colors=always --testsuite=core:integration,extensions:integration,skins:integration",
+               "phpunit:coverage": "vendor/bin/phpunit --testsuite=core:unit --exclude-group Dump,Broken,ParserFuzz,Stub"
        },
        "config": {
                "optimize-autoloader": true,
index 159adbc..2d182a6 100644 (file)
                <ini name="memory_limit" value="512M" />
        </php>
        <testsuites>
-               <testsuite name="unit">
+               <testsuite name="core:unit">
                        <directory>tests/phpunit/unit</directory>
-                       <directory>**/**/tests/phpunit/unit</directory>
                </testsuite>
-               <testsuite name="integration">
+               <testsuite name="extensions:unit">
+                       <directory>extensions/**/tests/phpunit/unit</directory>
+               </testsuite>
+               <testsuite name="skins:unit">
+                       <directory>skins/**/tests/phpunit/unit</directory>
+               </testsuite>
+               <testsuite name="core:integration">
                        <directory>tests/phpunit/integration</directory>
-                       <directory>**/**/tests/phpunit/integration</directory>
+               </testsuite>
+               <testsuite name="extensions:integration">
+                       <directory>extensions/**/tests/phpunit/integration</directory>
+               </testsuite>
+               <testsuite name="skins:integration">
+                       <directory>skins/**/tests/phpunit/integration</directory>
                </testsuite>
        </testsuites>
        <groups>