Commit graph

19 commits

Author SHA1 Message Date
Antoine Musso
2207603fa1 test: coverage recording now needs to be explicit
To better control what we are really covering, this patch uses PHPUnit
forceCoversAnnotation option. That makes it to record covering if and
only if @covers is used.

Also rewrapped the options to uses tabulations.

Change-Id: I467a5077a65b93cce08072a8d088b0b9c652a426
2013-06-26 11:00:00 +00:00
Antoine Musso
a9ab983b26 PHPUnit now recognizes extension parser tests
Parser tests are registeredd by appending one or more .txt files to the
$wgParserTestFiles global setting.  Since this is shared with MediaWiki
core, I have made MediaWikiParserTest a factory of PHPUnit testsuite
which would filter in/out extensions tests.

The `extensions` test suite now has a second test suite builder which is
simply a wrapper around MediaWikiParserTest factory.

Play cases:

  $ php phpunit.php --group Parser --tap

Runs any parser tests including the ones coming from extensions.

With an extension having parser tests such as Cite:

  $ php phpunit.php --testsuite extensions --tap
  // Extensions tests are run including parser tests.

bug: 42506
Change-Id: Icc3e9d30706b32149aa9dd18552e4241ec4af67e
2013-06-17 15:21:31 +00:00
Antoine Musso
f87320bdac tests: group structures tests in their own directory
The phpunit root directory has two test file:

 AutoLoaderTest.php
 StructureTest.php

The later was registered in phpunit under the `structure` test suite
while the former was not registered and hence never run (bug 47750).

This patch moves both files under the `structure` subdirectory and
change the suite to look in that directory.  That will avoid us having
to manually maintain a list of test files.

Updated the __DIR__ in StructureTest.php.

Change-Id: I419c9157f32bdf7e1ff26a42f4bb3f3922b7be37
2013-05-21 12:33:42 +02:00
Antoine Musso
6e98a28f94 raise PHPUnit default timeouts
default ..  2s -> 10s
medium ... 10s -> 30s

I originally thought that using PHPUnit timeout system was a good idea
but that is causing more harm than being helpful. Now default to ten
seconds.

Change-Id: If10a9b6df967130838a253d986b2ed623d8e3b0a
2013-01-29 10:49:13 +01:00
Antoine Musso
d664ffd18a (34037) phpunit tests timeout too fast
PHPUnit has a timeout protection system which let us put tests in three
categories having different timeout (default: 1s, 10s, 60s). The timeout
only happens when using strict mode and having PHPUnit Invoker
installed.

Recently, the continuous integration server has been upgraded and the
PHPUnit Invoker was installed to let us run a serie of tests related to
dumping the database to XML. They do need some timeout system. Suddenly,
some tests started failing.

By default all tests are in the 1 second timeout group. Since we use a
sqlite backend and the server hard disk can get busy, some test can take
more than one second to execute.

This patch raise the default (small group) timeout to 2seconds and
explicitly define the value for the two other groups (medium and large)
using PHPUnit default values.

Change-Id: I2f5613b0c0215023c413dec8e84804175d8c8d6e
2012-04-11 21:08:09 +02:00
Christian Aistleitner
8ba98560af PHPUnit preparations for tests of maintenance
Change-Id: Id1ac2f8b940e5417e0facaacb7d5ec30b48a9efb
2012-04-03 12:57:10 +02:00
Antoine Musso
f0493a88a0 move parser fuzz test to ParserFuzz group
Somehow fixes bug 29493:
« Put parser fuzz tests in @group and disable by default »
2012-01-10 20:50:34 +00:00
gicode
4db7a07b49 Fix file name and class case.
Follow-up r102719
2011-11-10 23:52:56 +00:00
gicode
ad49760c81 Add test to catch the problem fixed in r102595.
Confirmed the test works by removing "Test" from one of the test file names.
2011-11-10 23:45:35 +00:00
Antoine Musso
2d64dcd9f9 (bug 32022) phpunit.php can not execute from another directory
Adds tests/phpunit to the include_path to let PHPUnit find out our files.
Also add to change the suite.xml paths from './path' to 'path' so
stream_resolve_path() correctly find out the suite by using include_path
2011-11-01 15:09:52 +00:00
Antoine Musso
e9698b09d8 enable colors in PHPUnit (redoing r89179).
suite.xml now comes with colors=true. Under Windows, we override the
setting by forging a --no-colors. One can still force color usage
under windows by using --colors.
2011-08-16 18:23:13 +00:00
Chad Horohoe
6f7e2eb71e Followup r89311: rv unrelated changes 2011-06-02 01:28:30 +00:00
Chad Horohoe
89529808d8 Make user right selection in installer actually work, thanks Krinkle for spotting this 2011-06-02 01:26:26 +00:00
Max Semenik
dd372ba664 rvv:P r89179: it doesn't work on Windows Which should have been clear from comment a few lines above 2011-05-30 18:40:27 +00:00
Antoine Musso
fe047c135b enable colors in PHPUnit
Since PHPUnit support color output, we might as well use it :)
2011-05-30 18:26:46 +00:00
Max Semenik
f36ac21d6b Revert coloring from r79117: doesn't work on Windows 2011-02-23 07:28:15 +00:00
X!
edbf743aeb Make MediaWikiParserTest work now in PHPUnit. There are still a few bugs, such as stopping tests if one fails,
lack of fuzz testing and other parser test options, and the DB creation is still a little flaky.
A MediaWikiPHPUnitCommand class had to be created to allow for custom CLI parameters.
2010-12-29 02:23:51 +00:00
Chad Horohoe
447529064b * verbose and color default output from phpunit
* Make a bunch of tests subclass MediaWikiTestCase
* Parser tests and ResourceLoaderTest can't subclass it yet due to various issues
2010-12-28 18:17:16 +00:00
Chad Horohoe
23f69f10ed Per wikitech-l discussion: Move tests from maintenance/tests/ to tests/. They're not strictly maintenance scripts, and some people want to do a selective checkout that doesn't include the tests. There's still debate on whether we should include these in the release downloads, but we had a pretty firm consensus to move this. 2010-12-14 16:26:35 +00:00