Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Jest is using
getMaxWorkers
to figure out how many CPUs to use in parallel to run the test suite. However, it's using node'sos.cpus()
, which unfortunately might not return an answer if the corresponding system information is not available.That's what happens under termux, a popular terminal emulator for Android. Using termux, we get:
This small detail is crashing jest, since it's trying to read
length
from an undefined object:The proposed solution is to default the result of
getMaxWorkers
to 1 whenos.cpus()
is undefined. This is enough to fix the crash.Test plan
Coverage for
getMaxWorkers
was updated to reflect the new changes.In addition, to verify the goal of the PR was achieved, one can run jest on termux in any version of Android, termux and node. The code without this fix should crash, and with this fix it should run successfully.