1 | ;
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const test_controller_1 = __importDefault(require("./test-controller"));
|
7 | const test_run_tracker_1 = __importDefault(require("./test-run-tracker"));
|
8 | const error_list_1 = __importDefault(require("../errors/error-list"));
|
9 | const test_run_1 = require("../errors/test-run");
|
10 | function wrapTestFunction(fn) {
|
11 | return async (testRun) => {
|
12 | let result = null;
|
13 | const errList = new error_list_1.default();
|
14 | const markeredfn = test_run_tracker_1.default.addTrackingMarkerToFunction(testRun.id, fn);
|
15 | testRun.controller = new test_controller_1.default(testRun);
|
16 | test_run_tracker_1.default.ensureEnabled();
|
17 | try {
|
18 | result = await markeredfn(testRun.controller);
|
19 | }
|
20 | catch (err) {
|
21 | errList.addError(err);
|
22 | }
|
23 | if (!errList.hasUncaughtErrorsInTestCode) {
|
24 | testRun.controller.callsitesWithoutAwait.forEach(callsite => {
|
25 | errList.addError(new test_run_1.MissingAwaitError(callsite));
|
26 | });
|
27 | }
|
28 | if (errList.hasErrors)
|
29 | throw errList;
|
30 | return result;
|
31 | };
|
32 | }
|
33 | exports.default = wrapTestFunction;
|
34 | module.exports = exports.default;
|
35 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC10ZXN0LWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS93cmFwLXRlc3QtZnVuY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx3RUFBK0M7QUFDL0MsMEVBQWdEO0FBQ2hELHNFQUFxRDtBQUNyRCxpREFBdUQ7QUFFdkQsU0FBd0IsZ0JBQWdCLENBQUUsRUFBRTtJQUN4QyxPQUFPLEtBQUssRUFBQyxPQUFPLEVBQUMsRUFBRTtRQUNuQixJQUFJLE1BQU0sR0FBUyxJQUFJLENBQUM7UUFDeEIsTUFBTSxPQUFPLEdBQU0sSUFBSSxvQkFBaUIsRUFBRSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLDBCQUFjLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU5RSxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUkseUJBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRCwwQkFBYyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRS9CLElBQUk7WUFDQSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxHQUFHLEVBQUU7WUFDUixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRTtZQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDeEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLDRCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksT0FBTyxDQUFDLFNBQVM7WUFDakIsTUFBTSxPQUFPLENBQUM7UUFFbEIsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQTVCRCxtQ0E0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVGVzdENvbnRyb2xsZXIgZnJvbSAnLi90ZXN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHRlc3RSdW5UcmFja2VyIGZyb20gJy4vdGVzdC1ydW4tdHJhY2tlcic7XG5pbXBvcnQgVGVzdENhZmVFcnJvckxpc3QgZnJvbSAnLi4vZXJyb3JzL2Vycm9yLWxpc3QnO1xuaW1wb3J0IHsgTWlzc2luZ0F3YWl0RXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGVzdC1ydW4nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB3cmFwVGVzdEZ1bmN0aW9uIChmbikge1xuICAgIHJldHVybiBhc3luYyB0ZXN0UnVuID0+IHtcbiAgICAgICAgbGV0IHJlc3VsdCAgICAgICA9IG51bGw7XG4gICAgICAgIGNvbnN0IGVyckxpc3QgICAgPSBuZXcgVGVzdENhZmVFcnJvckxpc3QoKTtcbiAgICAgICAgY29uc3QgbWFya2VyZWRmbiA9IHRlc3RSdW5UcmFja2VyLmFkZFRyYWNraW5nTWFya2VyVG9GdW5jdGlvbih0ZXN0UnVuLmlkLCBmbik7XG5cbiAgICAgICAgdGVzdFJ1bi5jb250cm9sbGVyID0gbmV3IFRlc3RDb250cm9sbGVyKHRlc3RSdW4pO1xuXG4gICAgICAgIHRlc3RSdW5UcmFja2VyLmVuc3VyZUVuYWJsZWQoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gYXdhaXQgbWFya2VyZWRmbih0ZXN0UnVuLmNvbnRyb2xsZXIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGVyckxpc3QuYWRkRXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXJyTGlzdC5oYXNVbmNhdWdodEVycm9yc0luVGVzdENvZGUpIHtcbiAgICAgICAgICAgIHRlc3RSdW4uY29udHJvbGxlci5jYWxsc2l0ZXNXaXRob3V0QXdhaXQuZm9yRWFjaChjYWxsc2l0ZSA9PiB7XG4gICAgICAgICAgICAgICAgZXJyTGlzdC5hZGRFcnJvcihuZXcgTWlzc2luZ0F3YWl0RXJyb3IoY2FsbHNpdGUpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVyckxpc3QuaGFzRXJyb3JzKVxuICAgICAgICAgICAgdGhyb3cgZXJyTGlzdDtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG59XG4iXX0= |
\ | No newline at end of file |