Skip to content

Share one loaded editor across the read-only VS Code e2e tests #6147

Open

Description

@cmgoffena13

Why this exists

find_references.spec.ts runs 13 tests serially in one Playwright worker, and each test copies examples/sushi and calls openServerPage. That call loads a new browser page, which reloads the VS Code workbench and starts a new sqlmesh_lsp before the test clicks around a model.

None of those tests write a file, and go-to-definition, hints, completions, and the default lineage test do the same read of sushi.

The code-server process is already shared per worker, while the workbench and the loaded SQLMesh context are not. Sharing the temp directory only saves the sushi copy, which is a few seconds. Sharing the page removes 12 reloads of 21–39 seconds each, about five minutes off that file, and the CI job will get shorter by that amount when this file is the one the other workers are waiting on.

This is separate from the virtualenv work in #6098, because these tests already use the repo .venv.

What to change

Copy sushi once and open it once in find_references.spec.ts, go_to_definition.spec.ts, hints.spec.ts, completions.spec.ts, and the default lineage test. Tests that write files, stop the server, or assert on their own virtualenv should keep a fresh directory and a fresh page, and a shared page needs its references panel and cursor reset between tests.

Done when

  • Those read-only files load the editor once, the mutating tests still get their own page, and find_references.spec.ts passes several minutes faster.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions