public function onBeforeScenarioTested() { $processBuilder = ProcessBuilder::create()->setPrefix($this->binary)->add('site-install')->add($this->drupal->getProfile())->add('--sites-subdir=' . $this->drupal->getSiteDir())->add('--account-name=admin')->add('--account-pass=password')->add('--yes')->setWorkingDirectory($this->drupal->getPath())->setTimeout(null)->setEnv('PHP_OPTIONS', '-d sendmail_path=' . `which true`); $this->eventDispatcher->dispatch(InstallingSite::NAME, $event = new InstallingSite($this->drupal, $processBuilder)); if (!$event->isPropagationStopped()) { $this->processRunner->run($processBuilder->getProcess()); $this->eventDispatcher->dispatch(SiteInstalled::NAME, new SiteInstalled($this->drupal)); } }
public function onSiteInstalled() { $this->lazyFilesystemCleaner->register($this->masterPath); $this->filesystem->mirror($this->drupal->getSitePath(), $this->masterPath, null, ['override' => true, 'delete' => true]); // Take a copy of the database. $this->processRunner->run(ProcessBuilder::create()->setPrefix($this->binary)->add('sql-dump')->add('--result-file=' . $this->masterPath . '/db.sql')->add('--uri=' . $this->drupal->getUri())->add('--yes')->setWorkingDirectory($this->drupal->getPath())->setTimeout(null)->getProcess()); }