Unverified Commit 1f9a1b64 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3040166 by oriol_e9g, Mile23, willzyx, Berdir, alexpott, catch,...

Issue #3040166 by oriol_e9g, Mile23, willzyx, Berdir, alexpott, catch, cilefen: mkdir() fails in BrowserHtmlDebugTrait.php:141 because of a race condition

(cherry picked from commit 2628528d)
parent d53ba183
Loading
Loading
Loading
Loading
+6 −3
Changes for core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php: 6 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -136,9 +136,12 @@ protected function initBrowserOutputFile() {
      $this->htmlOutputClassName = str_replace("\\", "_", get_called_class());
      $this->htmlOutputDirectory = DRUPAL_ROOT . '/sites/simpletest/browser_output';
      // Do not use the file_system service so this method can be called before
      // it is available.
      if (!is_dir($this->htmlOutputDirectory)) {
        mkdir($this->htmlOutputDirectory, 0775, TRUE);
      // it is available. Checks !is_dir() twice around mkdir() because a
      // concurrent test might have made the directory and caused mkdir() to
      // fail. In this case we can still use the directory even though we failed
      // to make it.
      if (!is_dir($this->htmlOutputDirectory) && !mkdir($this->htmlOutputDirectory, 0775, TRUE) && !is_dir($this->htmlOutputDirectory)) {
        throw new \RuntimeException(sprintf('Unable to create directory: %s', $this->htmlOutputDirectory));
      }
      if (!file_exists($this->htmlOutputDirectory . '/.htaccess')) {
        file_put_contents($this->htmlOutputDirectory . '/.htaccess', "<IfModule mod_expires.c>\nExpiresActive Off\n</IfModule>\n");