mirror of
https://github.com/hanzoai/jest.git
synced 2026-09-24 16:59:57 +00:00
73 lines
1.8 KiB
JavaScript
73 lines
1.8 KiB
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
|
|
class CustomRunner {
|
|
constructor(globalConfig, context, options) {
|
|
this._globalConfig = globalConfig;
|
|
this._context = context;
|
|
this._options = options;
|
|
|
|
// Write options to a file so the test can verify them
|
|
fs.writeFileSync(
|
|
path.join(__dirname, 'runner-options-received.json'),
|
|
JSON.stringify(options || null),
|
|
);
|
|
}
|
|
|
|
async runTests(tests, watcher, onStart, onResult, _onFailure) {
|
|
for (const test of tests) {
|
|
await onStart(test);
|
|
const result = {
|
|
console: null,
|
|
failureMessage: null,
|
|
leaks: false,
|
|
numFailingTests: 0,
|
|
numPassingTests: 1,
|
|
numPendingTests: 0,
|
|
numTodoTests: 0,
|
|
openHandles: [],
|
|
perfStats: {
|
|
end: Date.now(),
|
|
runtime: 0,
|
|
slow: false,
|
|
start: Date.now(),
|
|
},
|
|
skipped: false,
|
|
snapshot: {
|
|
added: 0,
|
|
fileDeleted: false,
|
|
matched: 0,
|
|
unchecked: 0,
|
|
uncheckedKeys: [],
|
|
unmatched: 0,
|
|
updated: 0,
|
|
},
|
|
testFilePath: test.path,
|
|
testResults: [
|
|
{
|
|
ancestorTitles: [],
|
|
duration: 1,
|
|
failureDetails: [],
|
|
failureMessages: [],
|
|
fullName: 'runner received options',
|
|
location: null,
|
|
numPassingAsserts: 1,
|
|
status: 'passed',
|
|
title: 'runner received options',
|
|
},
|
|
],
|
|
};
|
|
await onResult(test, result);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = CustomRunner;
|