wiki.techinc.nl/tests/phpunit
daniel fd3a695230 Title: use PageStore instead of LinkCache
This causes Title to no longer look up fields in the database
individually, but use LinkCache instead to load an entire row from the
page table at once.

This patch also causes Title to use in-process caching for some
getters that did not use caching before, such as isNewPage()
and getTouched(). These methods do not appear to be used on critical
code paths that involve database updates.

Note that getTouched() used to take an options $db parametr. This
appears to be unused, and has been deprecated in favor of a $flags
parameter, for consistency with other getters on the class.

DEPLOY: Risky! This re-implements the internal caching logic of Title
and slightly modifies caching semantics in some cases. This may have
unforeseen consequences.

Bug: T285389
Depends-On: I103b9e1d2bf594bfc1b0ea12b980dd20bb911c3a
Change-Id: I2df81df7186025e001520f24fd498623c7184772
2021-11-02 23:12:47 +01:00
..
data Remove the executable flag from test files 2021-10-16 11:23:02 +00:00
docs
includes Title: use PageStore instead of LinkCache 2021-11-02 23:12:47 +01:00
integration/includes Change return format of DeletePage entrypoints 2021-10-20 19:26:12 +00:00
languages Add message parameter type for User Groups 2021-10-14 15:02:13 -04:00
maintenance tests: Call parent tearDown at end of teardown in BackupDumperPageTest 2021-10-20 23:20:12 +02:00
mocks Make SlotRecordTest a unit test 2021-10-19 20:31:55 -07:00
structure Merge "api: Inject services into ApiQuery class" 2021-10-19 20:16:07 +00:00
suites build: Updating dependencies 2021-07-22 03:36:05 +00:00
tests MockHttpTrait: support multiple MultiHttpClients 2021-08-12 11:30:14 -07:00
unit Title: use PageStore instead of LinkCache 2021-11-02 23:12:47 +01:00
bootstrap.maintenance.php
bootstrap.php phpunit: Include DevelopmentSettings for composer phpunit:unit 2021-10-02 22:34:33 +00:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
Makefile
MediaWikiCliOptions.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Merge "MediaWikiIntegrationTestCase::getExistingTestPage: Don't assume NS0 is wikitext" 2021-09-16 20:34:55 +00:00
MediaWikiLangTestCase.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitCommand.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiPHPUnitResultPrinter.php build: Updating dependencies 2021-07-22 03:36:05 +00:00
MediaWikiTestCaseTrait.php Move Content::getParserOutput & AbstractContent::fillParserOutput to ContentHandler 2021-09-29 13:10:51 +03:00
MediaWikiUnitTestCase.php phpunit: Include DevelopmentSettings for composer phpunit:unit 2021-10-02 22:34:33 +00:00
phpunit.php
README
ResourceLoaderTestCase.php resourceloader: Fix debug mode for RL-to-RL cross-wiki module loads 2021-08-25 20:05:38 +00:00
run-tests.bat
suite.xml PHPUnit: enable convertDeprecationsToExceptions 2021-09-25 10:05:18 +00:00

== MediaWiki PHPUnit Tests ==

The unit and integration tests for MediaWiki are implemented using the PHPUnit testing
framework and require PHPUnit to run.


=== WARNING ===

Some of the integration tests are DESTRUCTIVE and WILL ALTER YOUR WIKI'S CONTENTS.

DO NOT RUN THESE TESTS ON A PRODUCTION SYSTEM OR ON ANY SYSTEM WHERE YOU NEED
TO RETAIN YOUR DATA.


== Installation ==

If you used composer to install MediaWiki's dependencies PHPUnit will already be available, unless
you explicitly specified the --no-dev flag during the install. In this case just run "composer update".

Otherwise follow the installation instructions in the
PHPUnit Manual at:

  https://phpunit.de/manual/current/en/installation.html


== Running tests ==

The tests are run from your operating system's command line.

Ensure that you are in the tests/phpunit directory of your MediaWiki
installation.


On Unix-like operating systems, the tests runs are controlled with a makefile.
Run command:

  make help

for a full list of options for running tests.


On Windows-family operating systems, run the 'run-tests.bat' batch file.


=== Writing tests ===

A guide to writing PHP unit tests for MediaWiki can be found at:

	https://www.mediawiki.org/wiki/Manual:PHP_unit_testing