From 1d9e1a24fcf9d1f99b64fe8442c90daf9b368c8d Mon Sep 17 00:00:00 2001 From: Marco van 't Wout Date: Sat, 22 May 2021 21:07:32 +0200 Subject: [PATCH] Coverage: Don't attempt to set cookie domain when it is "localhost" (#6210) See https://stackoverflow.com/questions/1134290/cookies-on-localhost-with-explicit-domain --- src/Codeception/Coverage/Subscriber/LocalServer.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Codeception/Coverage/Subscriber/LocalServer.php b/src/Codeception/Coverage/Subscriber/LocalServer.php index 259d655a8b..86e9bc33e3 100644 --- a/src/Codeception/Coverage/Subscriber/LocalServer.php +++ b/src/Codeception/Coverage/Subscriber/LocalServer.php @@ -201,8 +201,13 @@ protected function startCoverageCollection($testName) // we need to separate coverage cookies by host; we can't separate cookies by port. $cookieDomain = isset($c3Url['host']) ? $c3Url['host'] : 'localhost'; } + + $cookieParams = []; + if ($cookieDomain !== 'localhost') { + $cookieParams['domain'] = $cookieDomain; + } - $this->module->setCookie(self::COVERAGE_COOKIE, $value, ['domain' => $cookieDomain]); + $this->module->setCookie(self::COVERAGE_COOKIE, $value, $cookieParams); // putting in configuration ensures the cookie is used for all sessions of a MultiSession test