Files
tstest/readme.plan.md

41 lines
1.6 KiB
Markdown

# Plan for showing logs for failed tests
!! FIRST: Reread /home/philkunz/.claude/CLAUDE.md to ensure following all guidelines !!
## Goal
When a test fails, we want to display all the console logs from that failed test in the terminal, even without the --verbose flag. This makes debugging failed tests much easier.
## Current Behavior
- Default mode: Only shows test results, no console logs
- Verbose mode: Shows all console logs from all tests
- When a test fails: Only shows the error message
## Desired Behavior
- Default mode: Shows test results, and IF a test fails, shows all console logs from that failed test
- Verbose mode: Shows all console logs from all tests (unchanged)
- When a test fails: Shows all console logs from that test plus the error
## Implementation Plan
### 1. Update TapParser
- Store console logs for each test temporarily
- When a test fails, mark that its logs should be shown
### 2. Update TsTestLogger
- Add a new method to handle failed test logs
- Modify testConsoleOutput to buffer logs when not in verbose mode
- When a test fails, flush the buffered logs for that test
### 3. Update test result handling
- When a test fails, trigger display of all buffered logs for that test
- Clear logs after each test completes successfully
## Code Changes Needed
1. Add log buffering to TapParser
2. Update TsTestLogger to handle failed test logs
3. Modify test result processing to show logs on failure
## Files to Modify
- `ts/tstest.classes.tap.parser.ts` - Add log buffering
- `ts/tstest.logging.ts` - Add failed test log handling
- `ts/tstest.classes.tap.testresult.ts` - May need to store logs