aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@jest/core/build/testSchedulerHelper.js
diff options
context:
space:
mode:
authorJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
committerJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
commit080c5819d87b933816d724a83f3bf4f1686770a7 (patch)
tree4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/@jest/core/build/testSchedulerHelper.js
parent5ac7049a9d30733165cc212dee308163c2a14644 (diff)
parentd003b82235a9329f912522a2f70aa950dfce4998 (diff)
downloadLYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz
LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/@jest/core/build/testSchedulerHelper.js')
-rw-r--r--node_modules/@jest/core/build/testSchedulerHelper.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/@jest/core/build/testSchedulerHelper.js b/node_modules/@jest/core/build/testSchedulerHelper.js
new file mode 100644
index 0000000..78cf48c
--- /dev/null
+++ b/node_modules/@jest/core/build/testSchedulerHelper.js
@@ -0,0 +1,51 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', {
+ value: true
+});
+exports.shouldRunInBand = shouldRunInBand;
+
+/**
+ * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+const SLOW_TEST_TIME = 1000;
+
+function shouldRunInBand(
+ tests,
+ timings,
+ {detectOpenHandles, maxWorkers, watch, watchAll}
+) {
+ // detectOpenHandles makes no sense without runInBand, because it cannot detect leaks in workers
+ if (detectOpenHandles) {
+ return true;
+ }
+ /*
+ * Run in band if we only have one test or one worker available, unless we
+ * are using the watch mode, in which case the TTY has to be responsive and
+ * we cannot schedule anything in the main thread. Same logic applies to
+ * watchAll.
+ * Also, if we are confident from previous runs that the tests will finish
+ * quickly we also run in band to reduce the overhead of spawning workers.
+ * Finally, the user can provide the runInBand argument in the CLI to
+ * force running in band.
+ * https://github.com/facebook/jest/blob/700e0dadb85f5dc8ff5dac6c7e98956690049734/packages/jest-config/src/getMaxWorkers.js#L14-L17
+ */
+
+ const isWatchMode = watch || watchAll;
+ const areFastTests = timings.every(timing => timing < SLOW_TEST_TIME);
+ const oneWorkerOrLess = maxWorkers <= 1;
+ const oneTestOrLess = tests.length <= 1;
+
+ if (isWatchMode) {
+ return oneWorkerOrLess || (oneTestOrLess && areFastTests);
+ }
+
+ return (
+ oneWorkerOrLess ||
+ oneTestOrLess ||
+ (tests.length <= 20 && timings.length > 0 && areFastTests)
+ );
+}