-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Labels
p3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)
Description
Describe the bug
I noticed this in #9641 when I try to merge blob reporter into html reporter but html reporter was broken. There's an intentional .catch(noop), but I'm not sure this is desired behavior. Perhaps, at least, it should log what's thrown? also adjust exit code?
vitest/packages/vitest/src/node/core.ts
Line 610 in 17798da
| await this._testRun.start(specifications).catch(noop) |
Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-nmeth2lr?file=vite.config.ts
// vite.config.ts
import { defineConfig } from 'vite';
export default defineConfig({
test: {
reporters: [
{
onTestRunStart() {
if (process.env.CRASH_REPORTER) {
console.log('throwing but nothing?');
throw new Error('boom');
}
},
},
],
},
});❯ vitest --run --reporter=blob
blob report written to /home/projects/vitest-dev-vitest-nmeth2lr/.vitest-reports/blob.json
# exit code is 0
❯ CRASH_REPORTER=1 vitest --run --merge-reports
throwing but nothing?System Info
System:
OS: Linux 5.0 undefined
CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 0 Bytes / 0 Bytes
Shell: 1.0 - /bin/jsh
Binaries:
Node: 20.19.1 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.8.2 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
@vitest/ui: latest => 4.0.18
vite: latest => 7.3.1
vitest: latest => 4.0.18Used Package Manager
npm
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
p3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)
Type
Projects
Status
Approved