Skip to content

[Bug]: Test fails on Windows: [webkit-library] › tests\library\browsertype-launch.spec.ts:64:3 › should reject if launched browser fails immediately #40608

@clopez

Description

@clopez

Version

ed741a7

Steps to reproduce

Configure playwright on windows

npm ci && npm run build && npx playwright install --with-deps webkit

And run the test

npx playwright test --config=tests/library/playwright.config.ts --project=webkit-library library/browsertype-launch.spec.ts -g "browser fail"

It fails with

Running 1 test using 1 worker
[webkit-library] › tests\library\browsertype-launch.spec.ts:64:3 › should reject if launched browser fails immediately
  pw:browser <launching> C:\Users\Igalia\playwright\tests\assets\dummy_bad_browser_executable.js --inspector-pipe --disable-accelerated-compositing --headless --no-startup-window +0ms
  1) [webkit-library] › tests\library\browsertype-launch.spec.ts:64:3 › should reject if launched browser fails immediately 

    Error: expect(received).toContain(expected) // indexOf

    Expected substring: "browserType.launch: spawn UNKNOWN"
    Received string:    "browserType.launch: spawn EFTYPE
    Call log:
      - <launching> C:\\Users\\Igalia\\playwright\\tests\\assets\\dummy_bad_browser_executable.js --inspector-pipe --disable-accelerated-compositing --headless --no-startup-window
    "

      70 |     expect(waitError!.message).toContain('Cannot specify executablePath when using the \"webkit-wsl\" channel.');
      71 |   else
    > 72 |     expect(waitError!.message).toContain(isWindows ? 'browserType.launch: spawn UNKNOWN' : 'Browser logs:');
         |                                ^
      73 | });
      74 |
      75 | it('should reject if executable path is invalid', async ({ browserType, mode, channel }) => {
        at C:\Users\Igalia\playwright\tests\library\browsertype-launch.spec.ts:72:32

  1 failed
    [webkit-library] › tests\library\browsertype-launch.spec.ts:64:3 › should reject if launched browser fails immediately 

  Serving HTML report at http://localhost:9323. Press Ctrl+C to quit.

The following patch fixes the test:

diff --git a/tests/library/browsertype-launch.spec.ts b/tests/library/browsertype-launch.spec.ts
index a66ccf122..fbc283dae 100644
--- a/tests/library/browsertype-launch.spec.ts
+++ b/tests/library/browsertype-launch.spec.ts
@@ -69,7 +69,7 @@ it('should reject if launched browser fails immediately', async ({ mode, browser
   if (channel === 'webkit-wsl')
     expect(waitError!.message).toContain('Cannot specify executablePath when using the \"webkit-wsl\" channel.');
   else
-    expect(waitError!.message).toContain(isWindows ? 'browserType.launch: spawn UNKNOWN' : 'Browser logs:');
+    expect(waitError!.message).toContain(isWindows ? 'browserType.launch: spawn EFTYPE' : 'Browser logs:');
 });

 it('should reject if executable path is invalid', async ({ browserType, mode, channel }) => {

I couldn't identify when this started to happen.

I tried with a playwright version as old as February and this test still fails to me with the webkit roll from back then and with that old version of playwright, so it is not a recent regression introduced by the WebKit roll.

I don't know why on the CI didn't showed before than now.

Perhaps it is caused by an update from Microsoft on Windows?

Expected behavior

The test passes

Actual behavior

The test fails

Additional context

No response

Environment

npx envinfo --preset playwright

  System:
    OS: Windows 10 10.0.19045
    CPU: (32) x64 AMD Ryzen 9 7950X3D 16-Core Processor
    Memory: 101.04 GB / 108.15 GB
  Binaries:
    Node: 22.14.0 - C:\Program Files\nodejs\node.EXE
    npm: 11.12.0 - C:\Program Files\nodejs\npm.CMD
  Languages:
    Bash: 5.2.15 - C:\Program Files\Git\bin\bash.EXE

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions