![]() #3080163: Decouple TestFileCreationTrait::getTestFiles() from simpletest module.#3075648: Refactor TestDatabase::lastTestGet to use dynamic queries.#3075608: Refactor TestDatabase to be testable.#3028712: Convert system MailTest into a Kernel test. ![]() #3028708: Deprecate simpletest_generate_file().#2234479: Deprecate hook_test_* hooks in simpletest.#3079988: Replace, deprecate simpletest_process_phpunit_results() covers: ![]() Simpletest_schema() - Move to core/tests, call core/tests version from simpletest.install. #3074043: Move simpletest.module DB-related functions to TestDatabase, deprecate covers: #2641632: Refactor simpletest's *_phpunit_*() (and junit) functions etc. simpletest_clean_temporary_directories().#2800267: Turn simpletest_clean*() functions into a helper class covers: Here are top-level functions used by run-tests.sh, with functions they call, organized by issue: Drupal\simpletest\TestDiscovery - #2863055: Move TestDiscovery out of simpletest module, minimize dependencies.sh to detect if this class is present before trying to run simpletest framework tests. We'll have to come up with a way for run-tests. Drupal\simpletest\TestBase - #3074433: Allow run-tests.sh to run when simpletest module is not present Won’t move.Drupal\simpletest\Form\SimpletestResultsForm - #3074433: Allow run-tests.sh to run when simpletest module is not present Move to core/tests?.Here are simpletest classes used by run-tests.sh: It'll even still be called 'simpletest' so no one has to change the namespace in their tests. Whatever's left of simpletest module after that basically supports WebTestBase only, and that can be moved to contrib during D9 dev time.Alternately, if we're going to turn simpletest into contrib, we don't need to do this step because we can just have the UI be in the contrib module. The remainder of simpletest module is split into simpletest and testing_ui.The elements being deprecated are for the test runner itself and are basically almost not for the testing framework which is used by users. The test runner parts in simpletest can then be deprecated in 8.8.0 for removal before 9.0.0.This is moving the test runner support parts out of simpletest, not the WebTestBase framework. There are some issues already about this. Move those dependencies to a third location (ie, not within simpletest module, not within run-tests.sh).Locate all hard dependencies of run-tests.sh within the simpletest module.Simpletest is one of the biggest deprecations in Drupal 8 and one of the least trivial to update for.Īlso, when porting modules to Drupal 9, if a module has simpletests, they're one of the ways to ensure that the porting hasn't introduced a regression. To work around a Composer class loader limitation, the Vendor Hardening plugin now uses require_once to directly load the file security class from drupal/core. #3079890: Re-add drupal/core-file-security in Vendor Hardening plugin composer.json.#2982680: Add composer-ready project templates to Drupal core.#3076600: Create drupal/core-recommended metapackage.#3077455: Move Drupal Components out of 'core' directory.Fallback: Put a complete copy of the File Security class in a new namespace inside the Vendor Hardening Plugin.Preferred: Manually find the /core directory and require_once the File Security class.In #3077455: Move Drupal Components out of 'core' directory, we considered fixing this by relocating the Core File Security component back to the vendor directory however, that solution seemed too invasive to do at this time, so we are exploring potential workarounds instead. Because of this, the Vendor Hardening plugin cannot find the Core File Security component, because the later is relocated to the /core directory. The upshot is that a plugin can only autoload classes that are located in their default location inside vendor, because the Composer Installers plugin is not given a chance to fix up any paths. The limitation here, though, is that the plugin manager does not allow plugins to hook the dynamic autoload generation, because this would be circular. This allows plugin hooks to work before the autoloader is dumped. The problem is that Composer plugins do not include the autoload.php file instead, they dynamically create their autoload information on the fly at runtime. ![]() While working toward #2982680: Add composer-ready project templates to Drupal core., we discovered that the Vendor Hardening Plugin sometimes fails to work, throwing an error: Fatal error: Uncaught Error: Class 'Drupal\Component\FileSecurity\FileSecurity' not found in phar:///Users/ganderson/bin/composer/src/Composer/Plugin/PluginManager.php(196) : eval()'d code:245
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |