Skip to content

Conversation

@MoLow
Copy link
Member

@MoLowMoLow commented Aug 30, 2023

Fixes: #49398

not sure how to test this, any help appreciated

@MoLowMoLow requested a review from cjihrigAugust 30, 2023 05:23
@nodejs-github-bot
Copy link
Collaborator

Review requested:

  • @nodejs/test_runner

@nodejs-github-botnodejs-github-bot added needs-ci PRs that need a full CI run. test_runner Issues and PRs related to the test runner subsystem. labels Aug 30, 2023
this.reported=true;
reporter.plan(nesting,loc,harness.counters.topLevel);

constcoverage=harness.coverage();// Call this before printing diagnostics, since failure to collect coverage is a diagnostic.
Copy link
MemberAuthor

@MoLowMoLowAug 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cjihrig do we have a way to reproduce an error in coverage collection? I want to snapshot this diagnostic that was missing

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the easiest thing would be to monkey patch TestCoverage.prototype.summary() or TestCoverage.prototype.cleanup() so that an error is reported.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can also create a dumb loader like ts-node that instead of reading typescript file it will read plain txt and execute them as JS

@MoLowMoLowforce-pushed the test-runner-typescript-coverage branch from 2a9c0ed to 53924b2CompareAugust 30, 2023 05:31
@GeoffreyBooth
Copy link
Member

I think the easiest thing would be to monkey patch TestCoverage.prototype.summary() or TestCoverage.prototype.cleanup() so that an error is reported.

Not sure if this is relevant but in general we’re trying to avoid encouraging users to ever monkey-patch anything; that’s why the Loaders API / module customization hooks exist, and we plan to extend that model to other systems like FS and REPL. We’ve already added import{register } from 'node:module', the plan is to create import{register } from 'node:fs' and from node:repl and so on. Maybe you might want to create import{register } from 'node:test' to allow users to define customization hooks for various parts of the test runner flow?

@cjihrig
Copy link
Contributor

we’re trying to avoid encouraging users to ever monkey-patch anything

Unless I misunderstood the original question, @MoLow is trying to trigger an error for the purposes of a Node unit test. This is not something end users should ever be doing.

@GeoffreyBooth
Copy link
Member

This is not something end users should ever be doing.

Excellent, that’s why I wasn’t sure if my comment was relevant. Still though, if/when we need to provide customization abilities for the test runner, like a way to customize output or something, we should consider trying to provide APIs that are somewhat standardized across systems if possible. Maybe that won’t ever be necessary for the test runner since the reporters themselves are so customizable, but I just wanted to bring it up before people started designing new things.

@MoLow
Copy link
MemberAuthor

@cjihrig you understood me correctly

@MoLowMoLowforce-pushed the test-runner-typescript-coverage branch from 53924b2 to 3ed2c63CompareSeptember 4, 2023 10:07
@MoLow
Copy link
MemberAuthor

MoLow commented Sep 4, 2023

@nodejs/test_runner I believe this is ready for reviews

@atlowChemiatlowChemi added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 4, 2023
@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 4, 2023
@nodejs-github-bot
Copy link
Collaborator

@MoLowMoLowforce-pushed the test-runner-typescript-coverage branch from 3ed2c63 to 8564f65CompareSeptember 4, 2023 15:50
@MoLowMoLow added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels Sep 4, 2023
@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 4, 2023
@nodejs-github-bot
Copy link
Collaborator

@MoLowMoLowforce-pushed the test-runner-typescript-coverage branch from 8564f65 to 92edcf7CompareSeptember 4, 2023 16:37
@MoLowMoLow added the request-ci Add this label to start a Jenkins CI on a PR. label Sep 4, 2023
@github-actionsgithub-actionsbot removed the request-ci Add this label to start a Jenkins CI on a PR. label Sep 4, 2023
@nodejs-github-bot
Copy link
Collaborator

@MoLowMoLow added the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 4, 2023
@nodejs-github-botnodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Sep 4, 2023
@nodejs-github-botnodejs-github-bot merged commit 47c5152 into nodejs:mainSep 4, 2023
@nodejs-github-bot
Copy link
Collaborator

Landed in 47c5152

@nicoabie
Copy link

Thanks a lot guys!

ruyadorno pushed a commit that referenced this pull request Sep 28, 2023
PR-URL: #49406Fixes: #49398 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
This was referenced Sep 28, 2023
alexfernandez pushed a commit to alexfernandez/node that referenced this pull request Nov 1, 2023
PR-URL: nodejs#49406Fixes: nodejs#49398 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
targos pushed a commit that referenced this pull request Nov 27, 2023
PR-URL: #49406Fixes: #49398 Reviewed-By: Chemi Atlow <[email protected]> Reviewed-By: Colin Ihrig <[email protected]>
@targostargos mentioned this pull request Nov 28, 2023
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@MoLowMoLow deleted the test-runner-typescript-coverage branch May 24, 2024 09:01
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author readyPRs that have at least one approval, no pending requests for changes, and a CI started.needs-ciPRs that need a full CI run.test_runnerIssues and PRs related to the test runner subsystem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Experimental coverage skips .ts files

7 participants

@MoLow@nodejs-github-bot@GeoffreyBooth@cjihrig@nicoabie@rluvaton@atlowChemi