Verify that all @covers tags are sane when running tests
authorKunal Mehta <legoktm@member.fsf.org>
Fri, 22 Dec 2017 07:24:06 +0000 (23:24 -0800)
committerUmherirrender <umherirrender_de.wp@web.de>
Fri, 29 Dec 2017 20:19:12 +0000 (20:19 +0000)
commitdafe195c282cb2cfaa6c137d9842b126c94d5fc6
tree54e6696f97fa7cebefb427db98af5105deafcf94
parentc4c9c627a29d65805f80f643f1685cbb9ae6d71d
Verify that all @covers tags are sane when running tests

PHPUnit only verifies that @covers tags are correct when actually
running coverage - but that's too slow to do on every commit. And if
even a single tag is incorrect, the entire coverage job will fail. It
also has some different requirements compared to normal tags, like all
namespaced classes must use their absolute name. All of those things
combined make it easy for developers to accidentally break the coverage
job.

There are some external tools that also do this, but those tools are
incompatible with our unusual PHPUnit setup (the phpunit.php wrapper
script).

The MediaWikiCoversValidator trait just calls the same method that
PHPUnit does to validate @covers tags. It is implemented as a trait so
that test cases that implement PHPUnit_Framework_TestCase directly can
still use this.

Bug: T171899
Change-Id: I1d564bcae2bfbedb004c440b90db6341148ed4ba
tests/common/TestsAutoLoader.php
tests/phpunit/MediaWikiCoversValidator.php [new file with mode: 0644]
tests/phpunit/MediaWikiTestCase.php