wiki.techinc.nl/tests/phpunit
Aaron Schulz 8e1bb24eed rdbms: clean up LoadBalancer/ChronologyProtector primary pos methods
In LoadBalancer:
* Make the "chronologyCallback" return the DBPrimaryPos and make
  loadSessionPrimaryPos() set the "waitForPos" more directly by
  calling setSessionPrimaryPosIfHigher(). Previously, it relied
  on the callback calling waitFor() to set the position as a side
  effect.
* Remove redundant debug log entry in loadSessionPrimaryPos().
* Use type hints for waitFor()/waitForAll(). All callers already check
  this for before invocation.
* Mark getReplicaResumePos() as @internal.

In ChronologyProtector:
* Update applySessionReplicationPosition() to return the position.
* Rename applySessionReplicationPosition() to yieldSessionPrimaryPos()
  and stageSessionReplicationPosition() to stageSessionPrimaryPos() for
  for consistency LoadBalancer/DBPrimaryPos.

Bug: T314434
Change-Id: I32aa784b424e7534047c9240e32fa5e0a2ac90b0
2023-02-09 17:19:36 +00:00
..
data tests: Move all language converter tests into /includes/ 2023-02-01 20:10:56 +01:00
docs
includes rdbms: clean up LoadBalancer/ChronologyProtector primary pos methods 2023-02-09 17:19:36 +00:00
integration/includes Make LanguageFactory::getParentLanguage() consistent with ::getLanguage() 2023-01-31 11:33:22 -05:00
maintenance unittests: rename some files to match the class name 2023-02-08 07:27:44 +00:00
mocks Tests: add LanguageNameUtils to DummyServicesTrait 2023-02-02 20:50:48 +00:00
structure ResourceLoader: Default File modules to mobile and desktop targets 2023-01-31 19:24:53 +00:00
suites Followup to 02d13afa: Respect parsoid-compatible options in CLI runs 2022-10-25 17:05:22 -05:00
tests Make use of the new PageUpdateStatus 2022-11-30 17:56:58 +00:00
unit rdbms: clean up LoadBalancer/ChronologyProtector primary pos methods 2023-02-09 17:19:36 +00:00
bootstrap.maintenance.php Revert "phpunit: Default to vendor/bin/phpunit, remove suites.xml" 2022-06-09 14:15:54 +00:00
bootstrap.php profiler: Inject $wgProfiler from Setup.php to Profiler 2022-11-09 02:58:19 +00:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php tests: Fix types in documentation by adding use statements 2022-05-29 07:11:15 +00:00
MediaWikiCliOptions.php
MediaWikiCoversValidator.php tests: Upgrade PHPUnit from 8.5+ to 9.5+ 2022-10-08 02:03:55 +02:00
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Merge "Make use of the ?? and ??= operators where it makes sense" 2022-12-16 01:06:50 +00:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php phpunit: Fix trivial dynamic property usages in tests 2022-07-29 01:59:23 +02:00
MediaWikiPHPUnitResultPrinter.php tests: Upgrade PHPUnit from 8.5+ to 9.5+ 2022-10-08 02:03:55 +02:00
MediaWikiTestCaseTrait.php tests: Replace checkPHPExtension() with @requires annotations 2022-10-23 20:47:14 -04:00
MediaWikiUnitTestCase.php AutoLoader: Drop support for $wgAutoloadAttemptLowercase 2022-12-04 02:38:57 -05:00
MWTestDox.php phpunit: Restore default progress reporter and add MWTestDox option 2022-06-12 19:22:57 +00:00
phpunit.php Revert "phpunit: Default to vendor/bin/phpunit, remove suites.xml" 2022-06-09 14:15:54 +00:00
README.md phpunit: Update and simplify README 2022-03-31 19:37:33 +01:00
ResourceLoaderTestCase.php tests: Handle dynamic created properties on test classes 2023-01-13 21:03:42 +00:00
suite.xml tests: Move all language converter tests into /includes/ 2023-02-01 20:10:56 +01:00

MediaWiki PHPUnit tests

WARNING: Integration tests may be destructive and alter or remove parts of your local database. We try to use temporary tables where possible, but you must never run tests on a production server or on a wiki where you don't want to lose data.

Running tests

If you haven't already, run composer update (specifically without --no-dev) in the MediaWiki core directory. This will install PHPUnit.

To read about how to run specific tests, refer to:

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

Writing tests

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

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