Problem/Motivation
What is TestSetupTrait::$originalProfile
for?
It is only ever set by TestBase::prepareEnvironment()
before the test is run. This is presumably so that it can be restored after the test is finished. However, this never happens.
It is also used by FunctionalTestSetupTrait
to populate some config for the fixture site. Currently ['conf']['simpletest.settings']['parent_profile’]
(will change in #3080482: Decouple FunctionalTestSetupTrait from the simpletest module).
This config is then used to manipulate extension discovery in ExtensionDiscovery
and ModuleExtensionList
.
This complexity seems to only be needed to support the use case of WebTestBase
tests when run from the Simpletest UI, in order to restore the original profile to the parent site’s configuration.
If we are removing the simpletest module from core, as in #3057420: [meta] How to deprecate Simpletest with minimal disruption, then we need to remove these unneeded subroutines.
If we’re keeping the simpletest module, then we need to fix the usage of this variable and figure out whether it meets all our use-cases.