diff --git a/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php b/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php index ecd2a1a63695287c6d87db79f36c07ef88cdaee6..2b73d0c76e4f34ae64b10c27ed5aa16a84e61877 100644 --- a/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php +++ b/core/tests/Drupal/Tests/Core/Command/QuickStartTest.php @@ -108,14 +108,12 @@ public function testQuickStartCommand() { $process->start(); $guzzle = new Client(); $port = FALSE; - while ($process->isRunning()) { - if (preg_match('/127.0.0.1:(\d+)/', $process->getOutput(), $match)) { + $process->waitUntil(function ($type, $output) use (&$port) { + if (preg_match('/127.0.0.1:(\d+)/', $output, $match)) { $port = $match[1]; - break; + return TRUE; } - // Wait for more output. - sleep(1); - } + }); // The progress bar uses STDERR to write messages. $this->assertStringContainsString('Congratulations, you installed Drupal!', $process->getErrorOutput()); $this->assertNotFalse($port, "Web server running on port $port"); @@ -157,12 +155,7 @@ public function testPhpRequirement() { ]; $process = new Process($install_command, NULL, ['DRUPAL_DEV_SITE_PATH' => $this->testDb->getTestSitePath()]); $process->setTimeout(500); - $process->start(); - while ($process->isRunning()) { - // Wait for more output. - sleep(1); - } - + $process->run(); $error_output = $process->getErrorOutput(); $this->assertStringContainsString('Your PHP installation is too old.', $error_output); $this->assertStringContainsString('Drupal requires at least PHP', $error_output); @@ -209,14 +202,12 @@ public function testQuickStartInstallAndServerCommands() { $server_process->start(); $guzzle = new Client(); $port = FALSE; - while ($server_process->isRunning()) { - if (preg_match('/127.0.0.1:(\d+)/', $server_process->getOutput(), $match)) { + $server_process->waitUntil(function ($type, $output) use (&$port) { + if (preg_match('/127.0.0.1:(\d+)\/user\/reset\/1\//', $output, $match)) { $port = $match[1]; - break; + return TRUE; } - // Wait for more output. - sleep(1); - } + }); $this->assertEquals('', $server_process->getErrorOutput()); $this->assertStringContainsString("127.0.0.1:$port/user/reset/1/", $server_process->getOutput()); $this->assertNotFalse($port, "Web server running on port $port");