public function BuildTestBase::copyCodebase in Drupal 8
Same name and namespace in other branches
- 9 core/tests/Drupal/BuildTests/Framework/BuildTestBase.php \Drupal\BuildTests\Framework\BuildTestBase::copyCodebase()
Copy the current working codebase into a workspace.
Use this method to copy the current codebase, including any patched changes, into the workspace.
By default, the copy will exclude sites/default/settings.php, sites/default/files, and vendor/. Use the $iterator parameter to override this behavior.
Parameters
\Iterator|null $iterator: (optional) An iterator of all the files to copy. Default behavior is to exclude site-specific directories and files.
string|null $working_dir: (optional) Relative path within the test workspace file system that will contain the copy of the codebase. Defaults to the workspace directory.
4 calls to BuildTestBase::copyCodebase()
- BuildTestTest::testCopyCodebase in core/
tests/ Drupal/ BuildTests/ Framework/ Tests/ BuildTestTest.php - @covers ::copyCodebase
- BuildTestTest::testPortMany in core/
tests/ Drupal/ BuildTests/ Framework/ Tests/ BuildTestTest.php - @covers ::findAvailablePort
- ComposerProjectTemplatesTest::testTemplateCreateProject in core/
tests/ Drupal/ BuildTests/ Composer/ Template/ ComposerProjectTemplatesTest.php - @dataProvider provideTemplateCreateProject
- HtRouterTest::testHtRouter in core/
tests/ Drupal/ BuildTests/ Framework/ Tests/ HtRouterTest.php - @covers ::instantiateServer
File
- core/
tests/ Drupal/ BuildTests/ Framework/ BuildTestBase.php, line 548
Class
- BuildTestBase
- Provides a workspace to test build processes.
Namespace
Drupal\BuildTests\FrameworkCode
public function copyCodebase(\Iterator $iterator = NULL, $working_dir = NULL) {
$working_path = $this
->getWorkingPath($working_dir);
if ($iterator === NULL) {
$iterator = $this
->getCodebaseFinder()
->getIterator();
}
$fs = new SymfonyFilesystem();
$options = [
'override' => TRUE,
'delete' => FALSE,
];
$fs
->mirror($this
->getDrupalRoot(), $working_path, $iterator, $options);
}