Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clear-text and progress report not getting generated #4848

Open
adarshnd14 opened this issue Apr 24, 2024 · 1 comment
Open

Clear-text and progress report not getting generated #4848

adarshnd14 opened this issue Apr 24, 2024 · 1 comment
Labels
⁉ Question Further information is requested

Comments

@adarshnd14
Copy link

adarshnd14 commented Apr 24, 2024

Question
I have run mutation test on a JavaScript repository having around 47000 mutants. The clear-text report is not getting shown in the terminal.
Only if I reduce the mutants and run test on specific file with same config, I am able to get the clear-text report in the terminal.

Stryker environment

+-- @stryker-mutator/[email protected]
+-- [email protected]

When I use @stryker-mutator/[email protected] mutation scan was getting failed so we were using core.

Stryker environment

+-- @stryker-mutator/[email protected]
+-- [email protected]

When I use @stryker-mutator/[email protected] mutation scan was getting failed so we were using core.

Additional context
Stryker config used for file level scan:
Screenshot 2024-04-24 at 2 16 04 PM

File level test:
IMG_20240424_133624

Project level test:
IMG_20240424_133609

@adarshnd14 adarshnd14 added the ⁉ Question Further information is requested label Apr 24, 2024
@adarshnd14 adarshnd14 changed the title Clear-text report not getting generated Clear-text and progress report not getting generated Apr 24, 2024
@nicojs
Copy link
Member

nicojs commented Aug 6, 2024

I can see the issue. All mutants result in a timeout, meaning that it took too long for them to resolve, so StrykerJS assumes they resulted in an infinite loop somewhere.

Timeout mutants are logged at debug level, not logged in the clear-text report. See the source code here:

https://github.com/stryker-mutator/stryker-js/blob/master/packages/core/src/reporters/clear-text-reporter.ts#L102-L114

The reason for the timeout mutants is that you are running with 191 (!!) concurrent test runner processes. This is probably much higher than your available cores, resulting in process starvation and the mutants timing out.

As you didn't specify a concurrency in your Stryker config, I assume StrykerJS detects more virtual cores than physically available. You can verify this yourself using node -p 'require("os").cpus().length'. Running Stryker inside your CI with --concurrency 2 or something would solve this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⁉ Question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants