microsoft / microsoft/vscode-test-cli

Random failures to remove /tmp/vsc-coverage-

Open
#94 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
53
Forks
16
Avg merge
10h 57m
Merged PRs (30d)
2

Description

We spotted an increasing number of CI failures using vscode-test that seem to be flaky and likely caused by some timing issues. Example of run at https://github.com/ansible/vscode-ansible/actions/runs/21067364468/job/60587877011#step:16:779 exact error listed below, error that is causing the entire pipeline to fail.

Error: ENOTEMPTY: directory not empty, rmdir '/tmp/vsc-coverage-8b22aabc-fead-4441-9101-bbff43f023b2'

Some change is needed in order to prevent this from happening. Sadly we also discovered some time ago that there is no way to configure coverage options inside .vscode-test.mjs files as they only allow vscode-test specific settings and mocha settings but not settings for the coverage framework (only cli args work and they are very limiting).

The code comes from https://github.com/microsoft/vscode-test-cli/blob/044359f9cebf187b5702a768aff5d4640a152632/src/cli/coverage.mts#L23
and apparently it should be possible to configure tempDirectory for coverage but is not.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/cli/coverage.mts, especially the coverage temporary-directory handling linked in the issue, and review how .vscode-test.mjs and CLI arguments configure coverage. Reproduce or inspect the reported CI failure and determine how tempDirectory can be configured or cleanup made reliable. Done means vscode-test coverage no longer intermittently fails with ENOTEMPTY.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.