github / github/copilot-cli

npx vitest run hangs when running full test suites via Copilot CLI terminal

未关闭
#3,308 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:platform-windows area:tools
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the bug

## Summary

Running `npx vitest run` for a full test suite hangs indefinitely when executed through the GitHub Copilot CLI terminal. The same command works fine in a regular PowerShell/cmd terminal.

## Environment

- **Tool**: GitHub Copilot CLI (VS Code)
- **OS**: Windows
- **Node**: v22.14.0
- **npm**: 10.9.2
- **Vitest**: v4.1.2

## Reproduction Steps

1. Open a Copilot CLI terminal session in VS Code
2. Run `npx vitest run`
3. Vitest starts, queues all test files, runs a few, then hangs with no further output
4. Typically nothing is seen piped back to the session window (the above has been deduced)

## What Works

- Running a **single test file** works fine: `npx vitest run some.test.ts`
- Running **batches of up to ~10 files** works fine
- Running with **JSON output to file** works and completes successfully:
```
npx vitest run --reporter=json --outputFile=test-results.json
```

## Root Cause

According to copilot which tried to diagnose this:
Vitest's default live reporter continuously rewrites terminal output using ANSI escape sequences (cursor movement, line clearing) for all queued files simultaneously. This high-volume ANSI output appears to overflow or deadlock the Copilot CLI's stdout pipe, causing the process to hang.

Redirecting output to a file bypasses the pipe entirely and the suite completes normally.

## Workaround

```bash
npx vitest run --reporter=json --outputFile=test-results.json
```

## Suggested Fix

### Affected version

vs code 1.120.0

### Steps to reproduce the behavior

1. Open a Copilot CLI terminal session in VS Code
2. Run `npx vitest run`
3. Vitest starts, queues all test files, runs a few, then hangs with no further output
4. Typically nothing is seen piped back to the session window (the above has been deduced)

### Expected behavior

See output of vitest

### Additional context

_No response_

贡献指南

打开贡献指南

调研方向

未指定仓库文件或测试。首先在 Windows Copilot CLI 终端中重现 `npx vitest run`,然后将默认 reporter 与 `--reporter=json --outputFile=test-results.json` 进行比较;完成的标准是完整测试套件执行完毕,并且输出可见且没有卡住。

由索引模型根据 Issue 内容生成。

评估

技术栈
node.js, shell, vscode
领域
cli, developer-experience, testing-qa
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
需要澄清
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。