Drupal\system\Tests\Module\InstallUninstallTesttakes 14 minutes (23%) of the total core test suite time.
That is not acceptable in any way.
Remove the test without replacement. It is obsolete.
Re-add missing coverage for the few discrete edge-cases to
- This test is useless, because it is a "wildcard" test — instead of testing discrete functionality/regressions, it doesn't know what to test, so it blatantly tests each and everything in the hope that it will catch "something".
- I've studied the test code to see what expectations are actually covered. (see below)
The vast majority has been made obsolete by major code refactoring in Drupal 8 (cf.
This test predates Drupal 8. It mostly tried to address the D7/D6 architecture of modules/extensions, in which
- The database schema had to be installed + uninstalled manually.
- Variables had to be created + deleted manually.
- Both the installation and the uninstallation process consisted of tons of spaghetti code and wasn't centralized yet.
- Only a few edge-cases are explicitly covered, mostly pertaining to "required" modules.
Known regression test coverage
- Assert that all "required" modules are already installed by default.
- Assert that other modules are not installed by default.
- Assert that installing a module with dependencies shows a confirmation screen. → duplicates
- Assert that installing a module installs all of its dependencies. → duplicates
- Assert that a module's database schema is installed.
- Assert that a module's config is installed. → duplicates
- Assert that a message is logged for each installed module.
- Assert that
- Assert that an installed module can be uninstalled.
- Assert that a module's database schema is uninstalled.
- Assert that a module's config is uninstalled. → duplicates
- Assert that a message is logged for each uninstalled module.
- Assert that
- Assert that "required" modules are not uninstalled. → duplicates
- Assert that a module can be re-installed after uninstalling it.
- Assert that multiple modules can be installed at the same time. → duplicates
- Asserts that all modules provided by core can be installed and then modules uninstalled.
PASSED: [[SimpleTest]]: [PHP 5.4 MySQL] 70,357 pass(es).
[ View ]
FAILED: [[SimpleTest]]: [PHP 5.4 MySQL] Unable to apply patch test.iu_.1.patch. Unable to apply patch. See the log in the details link for more information.
[ View ]