The patch that removes compatibility code for the pre-MCR schema needs to be tested for issues with the updater. Updates from different versions of MediaWiki need to still work after we remove the compat layer. This tests the assumption that all code that is needed to convert from the old schema to the new is still present in the migration scripts.
The basic procedure for testing is:
* Switch to the release branch of the old version to test
* Configure the wiki to match the setup to test
* Edit the main page, so there is at least one old revision
* Create another page with at least two revisions, then delete it.
* Check out the change to test: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/552339
* Run maintenance/update.php
* Assert that no errors were reported during the update
* Assert that the page is still readable
* Assert that the content of old revisions can still be read
* Assert that the content of deleted revisions can still be read
* Assert that pages can still be edited
* Assert that pages can successfully be undeleted
This should be checked for at least the following versions and setups:
[x] MW 1.31 installed from scratch (last LTS, pre-MCR). [perhaps make a db dump after the installation is complete, so it's easy to go back here] / upgraded to patched master
[x] MW 1.32 vanilla, installed from scratch / upgraded to patched master
[x] MW 1.33 vanilla, installed from scratch / upgraded to patched master
[x] MW 1.34 vanilla, installed from scratch / upgraded to patched master
[x] MW 1.31 installed from scratch / upgraded to 1.34 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_NEW set before the update / upgraded to patched master
[]~~ MW 1.31 installed from scratch / upgraded to 1.34 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_OLD set before the update / upgraded to patched master (cannot upgrade to MW 1.34 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_OLD)~~
[x] MW 1.31 vanilla, installed from scratch / upgraded to 1.32 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_OLD before the update / upgraded to 1.34 with no value set for $wgMultiContentRevisionSchemaMigrationStage / upgraded to patched master (create/edit/edit/delete a test page at each stage)
[x] MW 1.31 vanilla, installed from scratch / upgraded to 1.32 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_OLD before the update / upgraded to 1.34 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_NEW before the update / upgraded to patched master (create/edit/edit/delete a test page at each stage)
[x] MW 1.32 installed from scratch with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_OLD before the update / upgraded to 1.34 with no value set for $wgMultiContentRevisionSchemaMigrationStage before the update / upgraded to patched master (create/edit/edit/delete a test page at each stage)
[] MW 1.32 installed from scratch with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_OLD before the update / upgraded to 1.34 with $wgMultiContentRevisionSchemaMigrationStage = SCHEMA_COMPAT_NEW before the update / upgraded to patched master (create/edit/edit/delete a test page at each stage)
When installing from scratch, make sure you target a database name that does not yet exist!