Open Tamir-M opened 1 month ago
Hi @Tamir-M 🙋♂️. It's awesome to see you're running our tests. I know that our implementation to detect if a process exited with an out-of-memory (OOM) or not is flaky. We're scraping the last output from the process to see if the text "JavaScript heap out of memory" or "FatalProcessOutOfMemory" is present.
This is very flaky:
Can one of these reasons be what causes this error to fail? If so, can you think of a better way to detect OOM errors?
We handle out-of-memory errors the same way as other unexpected process crashes, so it isn't that big of a deal. However, when we detect an OOM, we log a specific warning, telling the user to look for memory leaks in their tests. See https://github.com/stryker-mutator/stryker-js/blob/chore%2Ffix-audit/packages/core/src/test-runner/retry-rejected-decorator.ts#L53
Summary
When running a fresh clone of the repository on the master branch it seems as if the ChildProcessProxy test for
should throw an OutOfMemoryError if the process went out-of-memory:
fails.To recreate:
npm install
npm run build
npm test
The error of the failing test exactly:
After the coverage report it also says:
Stryker config
not relevant.
Test runner config
Not relevant.
Stryker environment
Not relevant.
Test runner environment
using the
npm test
of the repository:Your Environment
Add stryker.log
Not relevant.