@vitest/runner 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +41 -25
- package/package.json +2 -2
package/dist/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { getSafeTimers, isObject, createDefer, isNegativeNaN, format, objDisplay, objectAttr, toArray, shuffle } from '@vitest/utils';
|
1
|
+
import { getSafeTimers, isObject, createDefer, isNegativeNaN, format, objDisplay, objectAttr, toArray, shuffle, assertTypes } from '@vitest/utils';
|
2
2
|
import { processError } from '@vitest/utils/error';
|
3
3
|
export { processError } from '@vitest/utils/error';
|
4
4
|
import { l as createChainable, a as createFileTask, c as calculateSuiteHash, s as someTasksAreOnly, i as interpretTaskModes, m as limitConcurrency, p as partitionSuiteChildren, h as hasTests, j as hasFailed } from './chunk-tasks.js';
|
@@ -224,7 +224,11 @@ function resolveDeps(fixtures, depSet = /* @__PURE__ */ new Set(), pendingFixtur
|
|
224
224
|
return pendingFixtures;
|
225
225
|
}
|
226
226
|
function getUsedProps(fn) {
|
227
|
-
|
227
|
+
let fnString = fn.toString();
|
228
|
+
if (/__async\(this, (?:null|arguments|\[[_0-9, ]*\]), function\*/.test(fnString)) {
|
229
|
+
fnString = fnString.split("__async(this,")[1];
|
230
|
+
}
|
231
|
+
const match = fnString.match(/[^(]*\(([^)]*)/);
|
228
232
|
if (!match) {
|
229
233
|
return [];
|
230
234
|
}
|
@@ -1017,6 +1021,24 @@ async function runTest(test, runner) {
|
|
1017
1021
|
} catch (e) {
|
1018
1022
|
failTask(test.result, e, runner.config.diffOptions);
|
1019
1023
|
}
|
1024
|
+
try {
|
1025
|
+
await callTaskHooks(test, test.onFinished || [], "stack");
|
1026
|
+
} catch (e) {
|
1027
|
+
failTask(test.result, e, runner.config.diffOptions);
|
1028
|
+
}
|
1029
|
+
if (test.result.state === "fail") {
|
1030
|
+
try {
|
1031
|
+
await callTaskHooks(
|
1032
|
+
test,
|
1033
|
+
test.onFailed || [],
|
1034
|
+
runner.config.sequence.hooks
|
1035
|
+
);
|
1036
|
+
} catch (e) {
|
1037
|
+
failTask(test.result, e, runner.config.diffOptions);
|
1038
|
+
}
|
1039
|
+
}
|
1040
|
+
delete test.onFailed;
|
1041
|
+
delete test.onFinished;
|
1020
1042
|
if (test.result.state === "pass") {
|
1021
1043
|
break;
|
1022
1044
|
}
|
@@ -1027,22 +1049,6 @@ async function runTest(test, runner) {
|
|
1027
1049
|
updateTask(test, runner);
|
1028
1050
|
}
|
1029
1051
|
}
|
1030
|
-
try {
|
1031
|
-
await callTaskHooks(test, test.onFinished || [], "stack");
|
1032
|
-
} catch (e) {
|
1033
|
-
failTask(test.result, e, runner.config.diffOptions);
|
1034
|
-
}
|
1035
|
-
if (test.result.state === "fail") {
|
1036
|
-
try {
|
1037
|
-
await callTaskHooks(
|
1038
|
-
test,
|
1039
|
-
test.onFailed || [],
|
1040
|
-
runner.config.sequence.hooks
|
1041
|
-
);
|
1042
|
-
} catch (e) {
|
1043
|
-
failTask(test.result, e, runner.config.diffOptions);
|
1044
|
-
}
|
1045
|
-
}
|
1046
1052
|
if (test.fails) {
|
1047
1053
|
if (test.result.state === "pass") {
|
1048
1054
|
const error = processError(new Error("Expect test to fail"));
|
@@ -1102,13 +1108,18 @@ async function runSuite(suite, runner) {
|
|
1102
1108
|
suite.result.state = "todo";
|
1103
1109
|
} else {
|
1104
1110
|
try {
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1111
|
+
try {
|
1112
|
+
beforeAllCleanups = await callSuiteHook(
|
1113
|
+
suite,
|
1114
|
+
suite,
|
1115
|
+
"beforeAll",
|
1116
|
+
runner,
|
1117
|
+
[suite]
|
1118
|
+
);
|
1119
|
+
} catch (e) {
|
1120
|
+
markTasksAsSkipped(suite, runner);
|
1121
|
+
throw e;
|
1122
|
+
}
|
1112
1123
|
if (runner.runSuite) {
|
1113
1124
|
await runner.runSuite(suite);
|
1114
1125
|
} else {
|
@@ -1211,24 +1222,28 @@ function getDefaultHookTimeout() {
|
|
1211
1222
|
return getRunner().config.hookTimeout;
|
1212
1223
|
}
|
1213
1224
|
function beforeAll(fn, timeout) {
|
1225
|
+
assertTypes(fn, '"beforeAll" callback', ["function"]);
|
1214
1226
|
return getCurrentSuite().on(
|
1215
1227
|
"beforeAll",
|
1216
1228
|
withTimeout(fn, timeout ?? getDefaultHookTimeout(), true)
|
1217
1229
|
);
|
1218
1230
|
}
|
1219
1231
|
function afterAll(fn, timeout) {
|
1232
|
+
assertTypes(fn, '"afterAll" callback', ["function"]);
|
1220
1233
|
return getCurrentSuite().on(
|
1221
1234
|
"afterAll",
|
1222
1235
|
withTimeout(fn, timeout ?? getDefaultHookTimeout(), true)
|
1223
1236
|
);
|
1224
1237
|
}
|
1225
1238
|
function beforeEach(fn, timeout) {
|
1239
|
+
assertTypes(fn, '"beforeEach" callback', ["function"]);
|
1226
1240
|
return getCurrentSuite().on(
|
1227
1241
|
"beforeEach",
|
1228
1242
|
withTimeout(withFixtures(fn), timeout ?? getDefaultHookTimeout(), true)
|
1229
1243
|
);
|
1230
1244
|
}
|
1231
1245
|
function afterEach(fn, timeout) {
|
1246
|
+
assertTypes(fn, '"afterEach" callback', ["function"]);
|
1232
1247
|
return getCurrentSuite().on(
|
1233
1248
|
"afterEach",
|
1234
1249
|
withTimeout(withFixtures(fn), timeout ?? getDefaultHookTimeout(), true)
|
@@ -1254,6 +1269,7 @@ const onTestFinished = createTestHook(
|
|
1254
1269
|
);
|
1255
1270
|
function createTestHook(name, handler) {
|
1256
1271
|
return (fn, timeout) => {
|
1272
|
+
assertTypes(fn, `"${name}" callback`, ["function"]);
|
1257
1273
|
const current = getCurrentTest();
|
1258
1274
|
if (!current) {
|
1259
1275
|
throw new Error(`Hook ${name}() can only be called inside a test`);
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitest/runner",
|
3
3
|
"type": "module",
|
4
|
-
"version": "2.1.
|
4
|
+
"version": "2.1.2",
|
5
5
|
"description": "Vitest test runner",
|
6
6
|
"license": "MIT",
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
@@ -39,7 +39,7 @@
|
|
39
39
|
],
|
40
40
|
"dependencies": {
|
41
41
|
"pathe": "^1.1.2",
|
42
|
-
"@vitest/utils": "2.1.
|
42
|
+
"@vitest/utils": "2.1.2"
|
43
43
|
},
|
44
44
|
"scripts": {
|
45
45
|
"build": "rimraf dist && rollup -c",
|