@cucumber/cucumber 13.0.0 → 13.1.0
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/lib/api/emit_support_code_messages.js +4 -38
- package/lib/api/run_cucumber.js +4 -4
- package/lib/api/wrapper.d.mts +5 -0
- package/lib/api/wrapper.mjs +6 -6
- package/lib/formatter/builder.d.ts +1 -1
- package/lib/formatter/builder.js +1 -1
- package/lib/formatter/create_stream.js +2 -3
- package/lib/formatter/helpers/event_data_collector.d.ts +14 -14
- package/lib/formatter/helpers/event_data_collector.js +14 -39
- package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -5
- package/lib/formatter/helpers/gherkin_document_parser.js +1 -1
- package/lib/formatter/helpers/issue_helpers.d.ts +6 -6
- package/lib/formatter/helpers/issue_helpers.js +1 -1
- package/lib/formatter/helpers/pickle_parser.d.ts +9 -9
- package/lib/formatter/helpers/pickle_parser.js +1 -1
- package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
- package/lib/formatter/helpers/step_argument_formatter.js +1 -1
- package/lib/formatter/helpers/summary_helpers.d.ts +2 -2
- package/lib/formatter/helpers/summary_helpers.js +12 -45
- package/lib/formatter/helpers/test_case_attempt_formatter.js +12 -45
- package/lib/formatter/helpers/test_case_attempt_parser.d.ts +5 -5
- package/lib/formatter/helpers/test_case_attempt_parser.js +9 -37
- package/lib/formatter/helpers/usage_helpers/index.d.ts +3 -3
- package/lib/formatter/helpers/usage_helpers/index.js +9 -44
- package/lib/formatter/json_formatter.d.ts +20 -20
- package/lib/formatter/json_formatter.js +5 -38
- package/lib/formatter/progress_formatter.d.ts +3 -2
- package/lib/formatter/progress_formatter.js +8 -41
- package/lib/formatter/rerun_formatter.js +3 -36
- package/lib/formatter/snippets_formatter.js +3 -36
- package/lib/formatter/step_definition_snippet_builder/index.d.ts +3 -3
- package/lib/formatter/step_definition_snippet_builder/index.js +1 -1
- package/lib/formatter/summary_formatter.d.ts +2 -2
- package/lib/formatter/summary_formatter.js +1 -1
- package/lib/formatter/usage_formatter.js +4 -37
- package/lib/formatter/usage_json_formatter.js +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +6 -7
- package/lib/models/data_table.d.ts +2 -2
- package/lib/models/data_table.js +1 -1
- package/lib/models/definition.d.ts +2 -2
- package/lib/models/definition.js +1 -1
- package/lib/models/test_case_hook_definition.d.ts +2 -2
- package/lib/models/test_case_hook_definition.js +1 -1
- package/lib/models/test_step_hook_definition.d.ts +2 -2
- package/lib/models/test_step_hook_definition.js +1 -1
- package/lib/pickle_filter.d.ts +8 -7
- package/lib/pickle_filter.js +1 -1
- package/lib/runtime/attachment_manager/index.d.ts +3 -3
- package/lib/runtime/attachment_manager/index.js +12 -45
- package/lib/runtime/coordinator.d.ts +4 -3
- package/lib/runtime/coordinator.js +14 -3
- package/lib/runtime/helpers.d.ts +3 -3
- package/lib/runtime/helpers.js +6 -39
- package/lib/runtime/make_runtime.js +2 -2
- package/lib/runtime/parallel/adapter.d.ts +5 -2
- package/lib/runtime/parallel/adapter.js +14 -2
- package/lib/runtime/step_runner.d.ts +3 -3
- package/lib/runtime/step_runner.js +6 -39
- package/lib/runtime/stopwatch.d.ts +1 -1
- package/lib/runtime/test_case_runner.d.ts +11 -12
- package/lib/runtime/test_case_runner.js +20 -57
- package/lib/runtime/types.d.ts +6 -1
- package/lib/runtime/types.js +1 -1
- package/lib/step_arguments.d.ts +4 -4
- package/lib/step_arguments.js +1 -1
- package/lib/support_code_library_builder/index.d.ts +2 -3
- package/lib/support_code_library_builder/index.js +1 -1
- package/lib/support_code_library_builder/parallel_can_assign_helpers.js +1 -1
- package/lib/support_code_library_builder/types.d.ts +10 -10
- package/lib/support_code_library_builder/types.js +1 -1
- package/lib/time.d.ts +2 -2
- package/lib/time.js +5 -38
- package/lib/version.d.ts +1 -1
- package/lib/version.js +3 -3
- package/lib/wrapper.d.mts +43 -0
- package/lib/wrapper.mjs +37 -41
- package/package.json +20 -22
|
@@ -1,40 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
const
|
|
37
|
-
const
|
|
3
|
+
const node_stream_1 = require("node:stream");
|
|
4
|
+
const messages_1 = require("@cucumber/messages");
|
|
38
5
|
const value_checker_1 = require("../../value_checker");
|
|
39
6
|
class AttachmentManager {
|
|
40
7
|
onAttachment;
|
|
@@ -55,36 +22,36 @@ class AttachmentManager {
|
|
|
55
22
|
}
|
|
56
23
|
this.createBufferAttachment(data, options.mediaType, options.fileName);
|
|
57
24
|
}
|
|
58
|
-
else if ((0, is_stream_1.isReadableStream)(data)) {
|
|
59
|
-
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
60
|
-
throw Error('Stream attachments must specify a media type');
|
|
61
|
-
}
|
|
62
|
-
return this.createStreamAttachment(data, options.mediaType, options.fileName, callback);
|
|
63
|
-
}
|
|
64
25
|
else if (typeof data === 'string') {
|
|
65
26
|
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
66
27
|
options.mediaType = 'text/plain';
|
|
67
28
|
}
|
|
68
29
|
if (options.mediaType.startsWith('base64:')) {
|
|
69
30
|
this.createStringAttachment(data, {
|
|
70
|
-
encoding:
|
|
31
|
+
encoding: messages_1.AttachmentContentEncoding.BASE64,
|
|
71
32
|
contentType: options.mediaType.replace('base64:', ''),
|
|
72
33
|
}, options.fileName);
|
|
73
34
|
}
|
|
74
35
|
else {
|
|
75
36
|
this.createStringAttachment(data, {
|
|
76
|
-
encoding:
|
|
37
|
+
encoding: messages_1.AttachmentContentEncoding.IDENTITY,
|
|
77
38
|
contentType: options.mediaType,
|
|
78
39
|
}, options.fileName);
|
|
79
40
|
}
|
|
80
41
|
}
|
|
42
|
+
else if ((0, node_stream_1.isReadable)(data)) {
|
|
43
|
+
if ((0, value_checker_1.doesNotHaveValue)(options.mediaType)) {
|
|
44
|
+
throw Error('Stream attachments must specify a media type');
|
|
45
|
+
}
|
|
46
|
+
return this.createStreamAttachment(data, options.mediaType, options.fileName, callback);
|
|
47
|
+
}
|
|
81
48
|
else {
|
|
82
49
|
throw Error('Invalid attachment data: must be a buffer, readable stream, or string');
|
|
83
50
|
}
|
|
84
51
|
}
|
|
85
52
|
createBufferAttachment(data, mediaType, fileName) {
|
|
86
53
|
this.createStringAttachment(data.toString('base64'), {
|
|
87
|
-
encoding:
|
|
54
|
+
encoding: messages_1.AttachmentContentEncoding.BASE64,
|
|
88
55
|
contentType: mediaType,
|
|
89
56
|
}, fileName);
|
|
90
57
|
}
|
|
@@ -127,4 +94,4 @@ function normaliseOptions(mediaTypeOrOptions) {
|
|
|
127
94
|
}
|
|
128
95
|
return mediaTypeOrOptions;
|
|
129
96
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9hdHRhY2htZW50X21hbmFnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSw2REFBOEM7QUFDOUMseUNBQTRDO0FBQzVDLHVEQUFxRTtBQTJDckUsTUFBcUIsaUJBQWlCO0lBQ25CLFlBQVksQ0FBaUI7SUFFOUMsWUFBWSxZQUE2QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLDJCQUEyQixDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLEdBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sQ0FDSixJQUFnQyxFQUNoQyxrQkFBc0QsRUFDdEQsUUFBcUI7UUFFckIsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNwRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7WUFDN0QsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDeEUsQ0FBQzthQUFNLElBQUksSUFBQSw0QkFBZ0IsRUFBQyxJQUFJLENBQUMsRUFB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RUFBRSxRQUFpQjtRQUM3RSxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2hCLElBQUk7WUFDSixLQUFLO1lBQ0wsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ2xDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXJHRCxvQ0FxR0M7QUFFRCxTQUFTLGdCQUFnQixDQUN2QixrQkFBc0Q7SUFFdEQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEIsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsSUFBSSxPQUFPLGtCQUFrQixLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE9BQU87WUFDTCxTQUFTLEVBQUUsa0JBQWtCO1NBQzlCLENBQUE7SUFDSCxDQUFDO0lBQ0QsT0FBTyxrQkFBa0IsQ0FBQTtBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFkYWJsZSB9IGZyb20gJ25vZGU6c3RyZWFtJ1xuaW1wb3J0ICogYXMgbWVzc2FnZXMgZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgaXNSZWFkYWJsZVN0cmVhbSB9IGZyb20gJ2lzLXN0cmVhbSdcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUsIGRvZXNOb3RIYXZlVmFsdWUgfSBmcm9tICcuLi8uLi92YWx1ZV9jaGVja2VyJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElBdHRhY2htZW50TWVkaWEge1xuICBlbmNvZGluZzogbWVzc2FnZXMuQXR0YWNobWVudENvbnRlbnRFbmNvZGluZ1xuICBjb250ZW50VHlwZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF0dGFjaG1lbnQge1xuICBkYXRhOiBzdHJpbmdcbiAgbWVkaWE6IElBdHRhY2htZW50TWVkaWFcbiAgZmlsZU5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSUF0dGFjaEZ1bmN0aW9uID0gKGF0dGFjaG1lbnQ6IElBdHRhY2htZW50KSA9PiB2b2lkXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zIHtcbiAgbWVkaWFUeXBlOiBzdHJpbmdcbiAgZmlsZU5hbWU/OiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIElDcmVhdGVTdHJpbmdBdHRhY2htZW50ID0gKFxuICBkYXRhOiBzdHJpbmcsXG4gIG1lZGlhVHlwZU9yT3B0aW9ucz86IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9uc1xuKSA9PiB2b2lkXG5leHBvcnQgdHlwZSBJQ3JlYXRlQnVmZmVyQXR0YWNobWVudCA9IChcbiAgZGF0YTogQnVmZmVyLFxuICBtZWRpYVR5cGVPck9wdGlvbnM6IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9uc1xuKSA9PiB2b2lkXG5leHBvcnQgdHlwZSBJQ3JlYXRlU3RyZWFtQXR0YWNobWVudCA9IChcbiAgZGF0YTogUmVhZGFibGUsXG4gIG1lZGlhVHlwZU9yT3B0aW9uczogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pID0+IFByb21pc2U8dm9pZD5cbmV4cG9ydCB0eXBlIElDcmVhdGVTdHJlYW1BdHRhY2htZW50V2l0aENhbGxiYWNrID0gKFxuICBkYXRhOiBSZWFkYWJsZSxcbiAgbWVkaWFUeXBlT3JPcHRpb25zOiBzdHJpbmcgfCBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnMsXG4gIGNhbGxiYWNrOiAoKSA9PiB2b2lkXG4pID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVBdHRhY2htZW50ID0gSUNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQgJlxuICBJQ3JlYXRlQnVmZmVyQXR0YWNobWVudCAmXG4gIElDcmVhdGVTdHJlYW1BdHRhY2htZW50ICZcbiAgSUNyZWF0ZVN0cmVhbUF0dGFjaG1lbnRXaXRoQ2FsbGJhY2tcbmV4cG9ydCB0eXBlIElDcmVhdGVMb2cgPSAodGV4dDogc3RyaW5nKSA9PiB2b2lkXG5leHBvcnQgdHlwZSBJQ3JlYXRlTGluayA9ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWRcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXR0YWNobWVudE1hbmFnZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IG9uQXR0YWNobWVudDogSUF0dGFjaEZ1bmN0aW9uXG5cbiAgY29uc3RydWN0b3Iob25BdHRhY2htZW50OiBJQXR0YWNoRnVuY3Rpb24pIHtcbiAgICB0aGlzLm9uQXR0YWNobWVudCA9IG9uQXR0YWNobWVudFxuICB9XG5cbiAgbG9nKHRleHQ6IHN0cmluZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUodGV4dCwgJ3RleHQveC5jdWN1bWJlci5sb2crcGxhaW4nKVxuICB9XG5cbiAgbGluayguLi51cmw6IHN0cmluZ1tdKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh1cmwuam9pbignXFxuJyksICd0ZXh0L3VyaS1saXN0JylcbiAgfVxuXG4gIGNyZWF0ZShcbiAgICBkYXRhOiBCdWZmZXIgfCBSZWFkYWJsZSB8IHN0cmluZyxcbiAgICBtZWRpYVR5cGVPck9wdGlvbnM/OiBzdHJpbmcgfCBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnMsXG4gICAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkXG4gICk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcHRpb25zID0gbm9ybWFsaXNlT3B0aW9ucyhtZWRpYVR5cGVPck9wdGlvbnMpXG4gICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihkYXRhKSkge1xuICAgICAgaWYgKGRvZXNOb3RIYXZlVmFsdWUob3B0aW9ucy5tZWRpYVR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdCdWZmZXIgYXR0YWNobWVudHMgbXVzdCBzcGVjaWZ5IGEgbWVkaWEgdHlwZScpXG4gICAgICB9XG4gICAgICB0aGlzLmNyZWF0ZUJ1ZmZlckF0dGFjaG1lbnQoZGF0YSwgb3B0aW9ucy5tZWRpYVR5cGUsIG9wdGlvbnMuZmlsZU5hbWUpXG4gICAgfSBlbHNlIGlmIChpc1JlYWRhYmxlU3RyZWFtKGRhdGEpKSB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShvcHRpb25zLm1lZGlhVHlwZSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ1N0cmVhbSBhdHRhY2htZW50cyBtdXN0IHNwZWNpZnkgYSBtZWRpYSB0eXBlJylcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVN0cmVhbUF0dGFjaG1lbnQoZGF0YSwgb3B0aW9ucy5tZWRpYVR5cGUsIG9wdGlvbnMuZmlsZU5hbWUsIGNhbGxiYWNrKVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShvcHRpb25zLm1lZGlhVHlwZSkpIHtcbiAgICAgICAgb3B0aW9ucy5tZWRpYVR5cGUgPSAndGV4dC9wbGFpbidcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zLm1lZGlhVHlwZS5zdGFydHNXaXRoKCdiYXNlNjQ6JykpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVTdHJpbmdBdHRhY2htZW50KFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZW5jb2Rpbmc6IG1lc3NhZ2VzLkF0dGFjaG1lbnRDb250ZW50RW5jb2RpbmcuQkFTRTY0LFxuICAgICAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMubWVkaWFUeXBlLnJlcGxhY2UoJ2Jhc2U2NDonLCAnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBvcHRpb25zLmZpbGVOYW1lXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3RyaW5nQXR0YWNobWVudChcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVuY29kaW5nOiBtZXNzYWdlcy5BdHRhY2htZW50Q29udGVudEVuY29kaW5nLklERU5USVRZLFxuICAgICAgICAgICAgY29udGVudFR5cGU6IG9wdGlvbnMubWVkaWFUeXBlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3B0aW9ucy5maWxlTmFtZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdJbnZhbGlkIGF0dGFjaG1lbnQgZGF0YTogbXVzdCBiZSBhIGJ1ZmZlciwgcmVhZGFibGUgc3RyZWFtLCBvciBzdHJpbmcnKVxuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZUJ1ZmZlckF0dGFjaG1lbnQoZGF0YTogQnVmZmVyLCBtZWRpYVR5cGU6IHN0cmluZywgZmlsZU5hbWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQoXG4gICAgICBkYXRhLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgIHtcbiAgICAgICAgZW5jb2Rpbmc6IG1lc3NhZ2VzLkF0dGFjaG1lbnRDb250ZW50RW5jb2RpbmcuQkFTRTY0LFxuICAgICAgICBjb250ZW50VHlwZTogbWVkaWFUeXBlLFxuICAgICAgfSxcbiAgICAgIGZpbGVOYW1lXG4gICAgKVxuICB9XG5cbiAgY3JlYXRlU3RyZWFtQXR0YWNobWVudChcbiAgICBkYXRhOiBSZWFkYWJsZSxcbiAgICBtZWRpYVR5cGU6IHN0cmluZyxcbiAgICBmaWxlTmFtZT86IHN0cmluZyxcbiAgICBjYWxsYmFjaz86ICgpID0+IHZvaWRcbiAgKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBidWZmZXJzOiBVaW50OEFycmF5W10gPSBbXVxuICAgICAgZGF0YS5vbignZGF0YScsIChjaHVuaykgPT4ge1xuICAgICAgICBidWZmZXJzLnB1c2goY2h1bmspXG4gICAgICB9KVxuICAgICAgZGF0YS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICB0aGlzLmNyZWF0ZUJ1ZmZlckF0dGFjaG1lbnQoQnVmZmVyLmNvbmNhdChidWZmZXJzKSwgbWVkaWFUeXBlLCBmaWxlTmFtZSlcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICB9KVxuICAgICAgZGF0YS5vbignZXJyb3InLCByZWplY3QpXG4gICAgfSlcbiAgICBpZiAoZG9lc0hhdmVWYWx1ZShjYWxsYmFjaykpIHtcbiAgICAgIHByb21pc2UudGhlbihjYWxsYmFjaywgY2FsbGJhY2spXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcm9taXNlXG4gICAgfVxuICB9XG5cbiAgY3JlYXRlU3RyaW5nQXR0YWNobWVudChkYXRhOiBzdHJpbmcsIG1lZGlhOiBJQXR0YWNobWVudE1lZGlhLCBmaWxlTmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub25BdHRhY2htZW50KHtcbiAgICAgIGRhdGEsXG4gICAgICBtZWRpYSxcbiAgICAgIC4uLihmaWxlTmFtZSA/IHsgZmlsZU5hbWUgfSA6IHt9KSxcbiAgICB9KVxuICB9XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGlzZU9wdGlvbnMoXG4gIG1lZGlhVHlwZU9yT3B0aW9ucz86IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9uc1xuKTogUGFydGlhbDxJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnM+IHtcbiAgaWYgKCFtZWRpYVR5cGVPck9wdGlvbnMpIHtcbiAgICByZXR1cm4ge31cbiAgfVxuICBpZiAodHlwZW9mIG1lZGlhVHlwZU9yT3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVkaWFUeXBlOiBtZWRpYVR5cGVPck9wdGlvbnMsXG4gICAgfVxuICB9XG4gIHJldHVybiBtZWRpYVR5cGVPck9wdGlvbnNcbn1cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVudGltZS9hdHRhY2htZW50X21hbmFnZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBdUQ7QUFDdkQsaURBQThEO0FBQzlELHVEQUFxRTtBQTJDckUsTUFBcUIsaUJBQWlCO0lBQ25CLFlBQVksQ0FBaUI7SUFFOUMsWUFBWSxZQUE2QjtRQUN2QyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtJQUNsQyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLDJCQUEyQixDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFHLEdBQWE7UUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVELE1BQU0sQ0FDSixJQUFnQyxFQUNoQyxrQkFBc0QsRUFDdEQsUUFBcUI7UUFFckIsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNwRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUEsZ0NBQWdCLEVBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUE7WUFDN0QsQ0FBQztZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDeEUsQ0FBQzthQUFNLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxJQUFBLGdDQUFnQixFQUFDLE9BQU8s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QUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBckdELG9DQXFHQztBQUVELFNBQVMsZ0JBQWdCLENBQ3ZCLGtCQUFzRDtJQUV0RCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4QixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxJQUFJLE9BQU8sa0JBQWtCLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0MsT0FBTztZQUNMLFNBQVMsRUFBRSxrQkFBa0I7U0FDOUIsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFBO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1JlYWRhYmxlLCB0eXBlIFJlYWRhYmxlIH0gZnJvbSAnbm9kZTpzdHJlYW0nXG5pbXBvcnQgeyBBdHRhY2htZW50Q29udGVudEVuY29kaW5nIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHsgZG9lc0hhdmVWYWx1ZSwgZG9lc05vdEhhdmVWYWx1ZSB9IGZyb20gJy4uLy4uL3ZhbHVlX2NoZWNrZXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUF0dGFjaG1lbnRNZWRpYSB7XG4gIGVuY29kaW5nOiBBdHRhY2htZW50Q29udGVudEVuY29kaW5nXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQXR0YWNobWVudCB7XG4gIGRhdGE6IHN0cmluZ1xuICBtZWRpYTogSUF0dGFjaG1lbnRNZWRpYVxuICBmaWxlTmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBJQXR0YWNoRnVuY3Rpb24gPSAoYXR0YWNobWVudDogSUF0dGFjaG1lbnQpID0+IHZvaWRcblxuZXhwb3J0IGludGVyZmFjZSBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnMge1xuICBtZWRpYVR5cGU6IHN0cmluZ1xuICBmaWxlTmFtZT86IHN0cmluZ1xufVxuZXhwb3J0IHR5cGUgSUNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQgPSAoXG4gIGRhdGE6IHN0cmluZyxcbiAgbWVkaWFUeXBlT3JPcHRpb25zPzogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVCdWZmZXJBdHRhY2htZW50ID0gKFxuICBkYXRhOiBCdWZmZXIsXG4gIG1lZGlhVHlwZU9yT3B0aW9uczogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVTdHJlYW1BdHRhY2htZW50ID0gKFxuICBkYXRhOiBSZWFkYWJsZSxcbiAgbWVkaWFUeXBlT3JPcHRpb25zOiBzdHJpbmcgfCBJQ3JlYXRlQXR0YWNobWVudE9wdGlvbnNcbikgPT4gUHJvbWlzZTx2b2lkPlxuZXhwb3J0IHR5cGUgSUNyZWF0ZVN0cmVhbUF0dGFjaG1lbnRXaXRoQ2FsbGJhY2sgPSAoXG4gIGRhdGE6IFJlYWRhYmxlLFxuICBtZWRpYVR5cGVPck9wdGlvbnM6IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9ucyxcbiAgY2FsbGJhY2s6ICgpID0+IHZvaWRcbikgPT4gdm9pZFxuZXhwb3J0IHR5cGUgSUNyZWF0ZUF0dGFjaG1lbnQgPSBJQ3JlYXRlU3RyaW5nQXR0YWNobWVudCAmXG4gIElDcmVhdGVCdWZmZXJBdHRhY2htZW50ICZcbiAgSUNyZWF0ZVN0cmVhbUF0dGFjaG1lbnQgJlxuICBJQ3JlYXRlU3RyZWFtQXR0YWNobWVudFdpdGhDYWxsYmFja1xuZXhwb3J0IHR5cGUgSUNyZWF0ZUxvZyA9ICh0ZXh0OiBzdHJpbmcpID0+IHZvaWRcbmV4cG9ydCB0eXBlIElDcmVhdGVMaW5rID0gKHRleHQ6IHN0cmluZykgPT4gdm9pZFxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBdHRhY2htZW50TWFuYWdlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25BdHRhY2htZW50OiBJQXR0YWNoRnVuY3Rpb25cblxuICBjb25zdHJ1Y3RvcihvbkF0dGFjaG1lbnQ6IElBdHRhY2hGdW5jdGlvbikge1xuICAgIHRoaXMub25BdHRhY2htZW50ID0gb25BdHRhY2htZW50XG4gIH1cblxuICBsb2codGV4dDogc3RyaW5nKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0ZXh0LCAndGV4dC94LmN1Y3VtYmVyLmxvZytwbGFpbicpXG4gIH1cblxuICBsaW5rKC4uLnVybDogc3RyaW5nW10pOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKHVybC5qb2luKCdcXG4nKSwgJ3RleHQvdXJpLWxpc3QnKVxuICB9XG5cbiAgY3JlYXRlKFxuICAgIGRhdGE6IEJ1ZmZlciB8IFJlYWRhYmxlIHwgc3RyaW5nLFxuICAgIG1lZGlhVHlwZU9yT3B0aW9ucz86IHN0cmluZyB8IElDcmVhdGVBdHRhY2htZW50T3B0aW9ucyxcbiAgICBjYWxsYmFjaz86ICgpID0+IHZvaWRcbiAgKTogdm9pZCB8IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG9wdGlvbnMgPSBub3JtYWxpc2VPcHRpb25zKG1lZGlhVHlwZU9yT3B0aW9ucylcbiAgICBpZiAoQnVmZmVyLmlzQnVmZmVyKGRhdGEpKSB7XG4gICAgICBpZiAoZG9lc05vdEhhdmVWYWx1ZShvcHRpb25zLm1lZGlhVHlwZSkpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0J1ZmZlciBhdHRhY2htZW50cyBtdXN0IHNwZWNpZnkgYSBtZWRpYSB0eXBlJylcbiAgICAgIH1cbiAgICAgIHRoaXMuY3JlYXRlQnVmZmVyQXR0YWNobWVudChkYXRhLCBvcHRpb25zLm1lZGlhVHlwZSwgb3B0aW9ucy5maWxlTmFtZSlcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGRvZXNOb3RIYXZlVmFsdWUob3B0aW9ucy5tZWRpYVR5cGUpKSB7XG4gICAgICAgIG9wdGlvbnMubWVkaWFUeXBlID0gJ3RleHQvcGxhaW4nXG4gICAgICB9XG4gICAgICBpZiAob3B0aW9ucy5tZWRpYVR5cGUuc3RhcnRzV2l0aCgnYmFzZTY0OicpKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU3RyaW5nQXR0YWNobWVudChcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVuY29kaW5nOiBBdHRhY2htZW50Q29udGVudEVuY29kaW5nLkJBU0U2NCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLm1lZGlhVHlwZS5yZXBsYWNlKCdiYXNlNjQ6JywgJycpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb3B0aW9ucy5maWxlTmFtZVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNyZWF0ZVN0cmluZ0F0dGFjaG1lbnQoXG4gICAgICAgICAgZGF0YSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbmNvZGluZzogQXR0YWNobWVudENvbnRlbnRFbmNvZGluZy5JREVOVElUWSxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBvcHRpb25zLm1lZGlhVHlwZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wdGlvbnMuZmlsZU5hbWVcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNSZWFkYWJsZShkYXRhKSkge1xuICAgICAgaWYgKGRvZXNOb3RIYXZlVmFsdWUob3B0aW9ucy5tZWRpYVR5cGUpKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdTdHJlYW0gYXR0YWNobWVudHMgbXVzdCBzcGVjaWZ5IGEgbWVkaWEgdHlwZScpXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVTdHJlYW1BdHRhY2htZW50KGRhdGEsIG9wdGlvbnMubWVkaWFUeXBlLCBvcHRpb25zLmZpbGVOYW1lLCBjYWxsYmFjaylcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ0ludmFsaWQgYXR0YWNobWVudCBkYXRhOiBtdXN0IGJlIGEgYnVmZmVyLCByZWFkYWJsZSBzdHJlYW0sIG9yIHN0cmluZycpXG4gICAgfVxuICB9XG5cbiAgY3JlYXRlQnVmZmVyQXR0YWNobWVudChkYXRhOiBCdWZmZXIsIG1lZGlhVHlwZTogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlU3RyaW5nQXR0YWNobWVudChcbiAgICAgIGRhdGEudG9TdHJpbmcoJ2Jhc2U2NCcpLFxuICAgICAge1xuICAgICAgICBlbmNvZGluZzogQXR0YWNobWVudENvbnRlbnRFbmNvZGluZy5CQVNFNjQsXG4gICAgICAgIGNvbnRlbnRUeXBlOiBtZWRpYVR5cGUsXG4gICAgICB9LFxuICAgICAgZmlsZU5hbWVcbiAgICApXG4gIH1cblxuICBjcmVhdGVTdHJlYW1BdHRhY2htZW50KFxuICAgIGRhdGE6IFJlYWRhYmxlLFxuICAgIG1lZGlhVHlwZTogc3RyaW5nLFxuICAgIGZpbGVOYW1lPzogc3RyaW5nLFxuICAgIGNhbGxiYWNrPzogKCkgPT4gdm9pZFxuICApOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGJ1ZmZlcnM6IFVpbnQ4QXJyYXlbXSA9IFtdXG4gICAgICBkYXRhLm9uKCdkYXRhJywgKGNodW5rKSA9PiB7XG4gICAgICAgIGJ1ZmZlcnMucHVzaChjaHVuaylcbiAgICAgIH0pXG4gICAgICBkYXRhLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuY3JlYXRlQnVmZmVyQXR0YWNobWVudChCdWZmZXIuY29uY2F0KGJ1ZmZlcnMpLCBtZWRpYVR5cGUsIGZpbGVOYW1lKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH0pXG4gICAgICBkYXRhLm9uKCdlcnJvcicsIHJlamVjdClcbiAgICB9KVxuICAgIGlmIChkb2VzSGF2ZVZhbHVlKGNhbGxiYWNrKSkge1xuICAgICAgcHJvbWlzZS50aGVuKGNhbGxiYWNrLCBjYWxsYmFjaylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHByb21pc2VcbiAgICB9XG4gIH1cblxuICBjcmVhdGVTdHJpbmdBdHRhY2htZW50KGRhdGE6IHN0cmluZywgbWVkaWE6IElBdHRhY2htZW50TWVkaWEsIGZpbGVOYW1lPzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5vbkF0dGFjaG1lbnQoe1xuICAgICAgZGF0YSxcbiAgICAgIG1lZGlhLFxuICAgICAgLi4uKGZpbGVOYW1lID8geyBmaWxlTmFtZSB9IDoge30pLFxuICAgIH0pXG4gIH1cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXNlT3B0aW9ucyhcbiAgbWVkaWFUeXBlT3JPcHRpb25zPzogc3RyaW5nIHwgSUNyZWF0ZUF0dGFjaG1lbnRPcHRpb25zXG4pOiBQYXJ0aWFsPElDcmVhdGVBdHRhY2htZW50T3B0aW9ucz4ge1xuICBpZiAoIW1lZGlhVHlwZU9yT3B0aW9ucykge1xuICAgIHJldHVybiB7fVxuICB9XG4gIGlmICh0eXBlb2YgbWVkaWFUeXBlT3JPcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB7XG4gICAgICBtZWRpYVR5cGU6IG1lZGlhVHlwZU9yT3B0aW9ucyxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lZGlhVHlwZU9yT3B0aW9uc1xufVxuIl19
|
|
@@ -3,7 +3,7 @@ import type { IdGenerator } from '@cucumber/messages';
|
|
|
3
3
|
import { type SourcedPickle } from '../assemble';
|
|
4
4
|
import type { SupportCodeLibrary } from '../support_code_library_builder/types';
|
|
5
5
|
import type { Runtime } from './index';
|
|
6
|
-
import type { RuntimeAdapter } from './types';
|
|
6
|
+
import type { RuntimeAdapter, RuntimeResult } from './types';
|
|
7
7
|
/**
|
|
8
8
|
* Handles the high-level coordination of the test run on the main thread
|
|
9
9
|
* @returns whether all hooks and test cases were successful
|
|
@@ -17,7 +17,8 @@ export declare class Coordinator implements Runtime {
|
|
|
17
17
|
private newId;
|
|
18
18
|
private sourcedPickles;
|
|
19
19
|
private supportCodeLibrary;
|
|
20
|
+
private filterStacktraces;
|
|
20
21
|
private adapter;
|
|
21
|
-
constructor(testRunStartedId: string, eventBroadcaster: EventEmitter, newId: IdGenerator.NewId, sourcedPickles: ReadonlyArray<SourcedPickle>, supportCodeLibrary: SupportCodeLibrary, adapter: RuntimeAdapter);
|
|
22
|
-
run(): Promise<
|
|
22
|
+
constructor(testRunStartedId: string, eventBroadcaster: EventEmitter, newId: IdGenerator.NewId, sourcedPickles: ReadonlyArray<SourcedPickle>, supportCodeLibrary: SupportCodeLibrary, filterStacktraces: boolean, adapter: RuntimeAdapter);
|
|
23
|
+
run(): Promise<RuntimeResult>;
|
|
23
24
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Coordinator = void 0;
|
|
4
4
|
const assemble_1 = require("../assemble");
|
|
5
|
+
const format_error_1 = require("./format_error");
|
|
5
6
|
/**
|
|
6
7
|
* Handles the high-level coordination of the test run on the main thread
|
|
7
8
|
* @returns whether all hooks and test cases were successful
|
|
@@ -15,13 +16,15 @@ class Coordinator {
|
|
|
15
16
|
newId;
|
|
16
17
|
sourcedPickles;
|
|
17
18
|
supportCodeLibrary;
|
|
19
|
+
filterStacktraces;
|
|
18
20
|
adapter;
|
|
19
|
-
constructor(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, adapter) {
|
|
21
|
+
constructor(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, filterStacktraces, adapter) {
|
|
20
22
|
this.testRunStartedId = testRunStartedId;
|
|
21
23
|
this.eventBroadcaster = eventBroadcaster;
|
|
22
24
|
this.newId = newId;
|
|
23
25
|
this.sourcedPickles = sourcedPickles;
|
|
24
26
|
this.supportCodeLibrary = supportCodeLibrary;
|
|
27
|
+
this.filterStacktraces = filterStacktraces;
|
|
25
28
|
this.adapter = adapter;
|
|
26
29
|
}
|
|
27
30
|
async run() {
|
|
@@ -38,7 +41,15 @@ class Coordinator {
|
|
|
38
41
|
successByPhase.testCases = await this.adapter.runTestCases(assembledTestCases);
|
|
39
42
|
}
|
|
40
43
|
successByPhase.afterAllHooks = await this.adapter.runAfterAllHooks();
|
|
41
|
-
return
|
|
44
|
+
return {
|
|
45
|
+
success: successByPhase.beforeAllHooks && successByPhase.testCases && successByPhase.afterAllHooks,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return {
|
|
50
|
+
success: false,
|
|
51
|
+
exception: (0, format_error_1.formatError)(error, this.filterStacktraces).exception,
|
|
52
|
+
};
|
|
42
53
|
}
|
|
43
54
|
finally {
|
|
44
55
|
await this.adapter.teardown();
|
|
@@ -46,4 +57,4 @@ class Coordinator {
|
|
|
46
57
|
}
|
|
47
58
|
}
|
|
48
59
|
exports.Coordinator = Coordinator;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9jb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwwQ0FBbUU7QUFFbkUsaURBQTRDO0FBSTVDOzs7Ozs7R0FNRztBQUNILE1BQWEsV0FBVztJQUVaO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUFYsWUFDVSxnQkFBd0IsRUFDeEIsZ0JBQThCLEVBQzlCLEtBQXdCLEVBQ3hCLGNBQTRDLEVBQzVDLGtCQUFzQyxFQUN0QyxpQkFBMEIsRUFDMUIsT0FBdUI7UUFOdkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBYztRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBOEI7UUFDNUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFDOUIsQ0FBQztJQUVKLEtBQUssQ0FBQyxHQUFHO1FBQ1AsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFBO1lBRTFCLE1BQU0sY0FBYyxHQUFHO2dCQUNyQixjQUFjLEVBQUUsS0FBSztnQkFDckIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLGFBQWEsRUFBRSxLQUFLO2FBQ3JCLENBQUE7WUFDRCxjQUFjLENBQUMsY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1lBQ3RFLElBQUksY0FBYyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sSUFBQSw0QkFBaUIsRUFDaEQsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixJQUFJLENBQUMsZ0JBQWdCLEVBQ3JCLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLGNBQWMsRUFDbkIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFBO2dCQUNELGNBQWMsQ0FBQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1lBQ2hGLENBQUM7WUFDRCxjQUFjLENBQUMsYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1lBQ3BFLE9BQU87Z0JBQ0wsT0FBTyxFQUNMLGNBQWMsQ0FBQyxjQUFjLElBQUksY0FBYyxDQUFDLFNBQVMsSUFBSSxjQUFjLENBQUMsYUFBYTthQUM1RixDQUFBO1FBQ0gsQ0FBQztRQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7WUFDeEIsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSztnQkFDZCxTQUFTLEVBQUUsSUFBQSwwQkFBVyxFQUFDLEtBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFTO2FBQ3pFLENBQUE7UUFDSCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDL0IsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTdDRCxrQ0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ25vZGU6ZXZlbnRzJ1xuaW1wb3J0IHR5cGUgeyBJZEdlbmVyYXRvciB9IGZyb20gJ0BjdWN1bWJlci9tZXNzYWdlcydcbmltcG9ydCB7IGFzc2VtYmxlVGVzdENhc2VzLCB0eXBlIFNvdXJjZWRQaWNrbGUgfSBmcm9tICcuLi9hc3NlbWJsZSdcbmltcG9ydCB0eXBlIHsgU3VwcG9ydENvZGVMaWJyYXJ5IH0gZnJvbSAnLi4vc3VwcG9ydF9jb2RlX2xpYnJhcnlfYnVpbGRlci90eXBlcydcbmltcG9ydCB7IGZvcm1hdEVycm9yIH0gZnJvbSAnLi9mb3JtYXRfZXJyb3InXG5pbXBvcnQgdHlwZSB7IFJ1bnRpbWUgfSBmcm9tICcuL2luZGV4J1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lQWRhcHRlciwgUnVudGltZVJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5cbi8qKlxuICogSGFuZGxlcyB0aGUgaGlnaC1sZXZlbCBjb29yZGluYXRpb24gb2YgdGhlIHRlc3QgcnVuIG9uIHRoZSBtYWluIHRocmVhZFxuICogQHJldHVybnMgd2hldGhlciBhbGwgaG9va3MgYW5kIHRlc3QgY2FzZXMgd2VyZSBzdWNjZXNzZnVsXG4gKiBAcmVtYXJrc1xuICogRm9yIGVhY2ggcGhhc2Ugb2YgdGhlIHRlc3QgcnVuLCBkZWxlZ2F0ZXMgdG8gYSB7QGxpbmsgUnVudGltZUFkYXB0ZXJ9IHRvIGhhbmRsZVxuICogdGhlIHdvcmsgaXRzZWxmLiBVbmF3YXJlIG9mIGhvdyB0aGUgYWRhcHRlciBkaXN0cmlidXRlcyBhbmQgZXhlY3V0ZXMgd29yay5cbiAqL1xuZXhwb3J0IGNsYXNzIENvb3JkaW5hdG9yIGltcGxlbWVudHMgUnVudGltZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgZXZlbnRCcm9hZGNhc3RlcjogRXZlbnRFbWl0dGVyLFxuICAgIHByaXZhdGUgbmV3SWQ6IElkR2VuZXJhdG9yLk5ld0lkLFxuICAgIHByaXZhdGUgc291cmNlZFBpY2tsZXM6IFJlYWRvbmx5QXJyYXk8U291cmNlZFBpY2tsZT4sXG4gICAgcHJpdmF0ZSBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICBwcml2YXRlIGZpbHRlclN0YWNrdHJhY2VzOiBib29sZWFuLFxuICAgIHByaXZhdGUgYWRhcHRlcjogUnVudGltZUFkYXB0ZXJcbiAgKSB7fVxuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPFJ1bnRpbWVSZXN1bHQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnNldHVwKClcblxuICAgICAgY29uc3Qgc3VjY2Vzc0J5UGhhc2UgPSB7XG4gICAgICAgIGJlZm9yZUFsbEhvb2tzOiBmYWxzZSxcbiAgICAgICAgdGVzdENhc2VzOiBmYWxzZSxcbiAgICAgICAgYWZ0ZXJBbGxIb29rczogZmFsc2UsXG4gICAgICB9XG4gICAgICBzdWNjZXNzQnlQaGFzZS5iZWZvcmVBbGxIb29rcyA9IGF3YWl0IHRoaXMuYWRhcHRlci5ydW5CZWZvcmVBbGxIb29rcygpXG4gICAgICBpZiAoc3VjY2Vzc0J5UGhhc2UuYmVmb3JlQWxsSG9va3MpIHtcbiAgICAgICAgY29uc3QgYXNzZW1ibGVkVGVzdENhc2VzID0gYXdhaXQgYXNzZW1ibGVUZXN0Q2FzZXMoXG4gICAgICAgICAgdGhpcy50ZXN0UnVuU3RhcnRlZElkLFxuICAgICAgICAgIHRoaXMuZXZlbnRCcm9hZGNhc3RlcixcbiAgICAgICAgICB0aGlzLm5ld0lkLFxuICAgICAgICAgIHRoaXMuc291cmNlZFBpY2tsZXMsXG4gICAgICAgICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnlcbiAgICAgICAgKVxuICAgICAgICBzdWNjZXNzQnlQaGFzZS50ZXN0Q2FzZXMgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucnVuVGVzdENhc2VzKGFzc2VtYmxlZFRlc3RDYXNlcylcbiAgICAgIH1cbiAgICAgIHN1Y2Nlc3NCeVBoYXNlLmFmdGVyQWxsSG9va3MgPSBhd2FpdCB0aGlzLmFkYXB0ZXIucnVuQWZ0ZXJBbGxIb29rcygpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOlxuICAgICAgICAgIHN1Y2Nlc3NCeVBoYXNlLmJlZm9yZUFsbEhvb2tzICYmIHN1Y2Nlc3NCeVBoYXNlLnRlc3RDYXNlcyAmJiBzdWNjZXNzQnlQaGFzZS5hZnRlckFsbEhvb2tzLFxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXhjZXB0aW9uOiBmb3JtYXRFcnJvcihlcnJvciBhcyBFcnJvciwgdGhpcy5maWx0ZXJTdGFja3RyYWNlcykuZXhjZXB0aW9uLFxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIudGVhcmRvd24oKVxuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/runtime/helpers.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Pickle, TestStepResultStatus } from '@cucumber/messages';
|
|
2
2
|
import type StepDefinition from '../models/step_definition';
|
|
3
3
|
import type { RuntimeOptions } from '.';
|
|
4
4
|
export declare function getAmbiguousStepException(stepDefinitions: StepDefinition[]): string;
|
|
5
|
-
export declare function retriesForPickle(pickle:
|
|
6
|
-
export declare function shouldCauseFailure(status:
|
|
5
|
+
export declare function retriesForPickle(pickle: Pickle, options: RuntimeOptions): number;
|
|
6
|
+
export declare function shouldCauseFailure(status: TestStepResultStatus, options: RuntimeOptions): boolean;
|
package/lib/runtime/helpers.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
4
|
};
|
|
@@ -39,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
6
|
exports.getAmbiguousStepException = getAmbiguousStepException;
|
|
40
7
|
exports.retriesForPickle = retriesForPickle;
|
|
41
8
|
exports.shouldCauseFailure = shouldCauseFailure;
|
|
42
|
-
const
|
|
9
|
+
const messages_1 = require("@cucumber/messages");
|
|
43
10
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
44
11
|
const indent_string_1 = __importDefault(require("indent-string"));
|
|
45
12
|
const location_helpers_1 = require("../formatter/helpers/location_helpers");
|
|
@@ -98,13 +65,13 @@ function shouldCauseFailure(status, options) {
|
|
|
98
65
|
return false;
|
|
99
66
|
}
|
|
100
67
|
const failureStatuses = [
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
68
|
+
messages_1.TestStepResultStatus.AMBIGUOUS,
|
|
69
|
+
messages_1.TestStepResultStatus.FAILED,
|
|
70
|
+
messages_1.TestStepResultStatus.UNDEFINED,
|
|
104
71
|
];
|
|
105
72
|
if (options.strict) {
|
|
106
|
-
failureStatuses.push(
|
|
73
|
+
failureStatuses.push(messages_1.TestStepResultStatus.PENDING);
|
|
107
74
|
}
|
|
108
75
|
return failureStatuses.includes(status);
|
|
109
76
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydW50aW1lL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQSw4REFnQ0M7QUFFRCw0Q0FpQkM7QUFFRCxnREFhQztBQTFFRCxpREFBc0U7QUFDdEUsNERBQThCO0FBQzlCLGtFQUF3QztBQUN4Qyw0RUFBc0U7QUFFdEUsb0RBQWtEO0FBR2xELFNBQWdCLHlCQUF5QixDQUFDLGVBQWlDO0lBQ3pFLE1BQU0sS0FBSyxHQUFHLElBQUksb0JBQUssQ0FBQztRQUN0QixLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUsRUFBRTtZQUNWLGFBQWEsRUFBRSxFQUFFO1lBQ2pCLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLElBQUksRUFBRSxFQUFFO1lBQ1IsVUFBVSxFQUFFLEVBQUU7WUFDZCxHQUFHLEVBQUUsRUFBRTtZQUNQLFNBQVMsRUFBRSxFQUFFO1lBQ2IsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsRUFBRTtZQUNULFdBQVcsRUFBRSxFQUFFO1lBQ2YsR0FBRyxFQUFFLEVBQUU7WUFDUCxVQUFVLEVBQUUsRUFBRTtZQUNkLFNBQVMsRUFBRSxFQUFFO1lBQ2IsV0FBVyxFQUFFLEVBQUU7U0FDaEI7UUFDRCxLQUFLLEVBQUU7WUFDTCxNQUFNLEVBQUUsRUFBRTtZQUNWLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxDQUFDO1NBQ25CO0tBQ0YsQ0FBQyxDQUFBO0lBQ0YsS0FBSyxDQUFDLElBQUksQ0FDUixHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pELE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBQSxpQ0FBYyxFQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7SUFDbEQsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtJQUNELE9BQU8sR0FBRyxrQ0FBa0MsR0FBRyxJQUFJLEdBQUcsSUFBQSx1QkFBWSxFQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQzNGLENBQUM7QUFFRCxTQUFnQixnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsT0FBdUI7SUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQixPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO0lBQzdCLElBQUksT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUE7SUFDN0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBRyxJQUFJLCtCQUFlLENBQUMsY0FBYyxDQUFDLENBQUE7SUFDM0QsSUFBSSxlQUFlLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCLENBQUMsTUFBNEIsRUFBRSxPQUF1QjtJQUN0RixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBMkI7UUFDOUMsK0JBQW9CLENBQUMsU0FBUztRQUM5QiwrQkFBb0IsQ0FBQyxNQUFNO1FBQzNCLCtCQUFvQixDQUFDLFNBQVM7S0FDL0IsQ0FBQTtJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLGVBQWUsQ0FBQyxJQUFJLENBQUMsK0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBQaWNrbGUsIFRlc3RTdGVwUmVzdWx0U3RhdHVzIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IFRhYmxlIGZyb20gJ2NsaS10YWJsZTMnXG5pbXBvcnQgaW5kZW50U3RyaW5nIGZyb20gJ2luZGVudC1zdHJpbmcnXG5pbXBvcnQgeyBmb3JtYXRMb2NhdGlvbiB9IGZyb20gJy4uL2Zvcm1hdHRlci9oZWxwZXJzL2xvY2F0aW9uX2hlbHBlcnMnXG5pbXBvcnQgdHlwZSBTdGVwRGVmaW5pdGlvbiBmcm9tICcuLi9tb2RlbHMvc3RlcF9kZWZpbml0aW9uJ1xuaW1wb3J0IHsgUGlja2xlVGFnRmlsdGVyIH0gZnJvbSAnLi4vcGlja2xlX2ZpbHRlcidcbmltcG9ydCB0eXBlIHsgUnVudGltZU9wdGlvbnMgfSBmcm9tICcuJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW1iaWd1b3VzU3RlcEV4Y2VwdGlvbihzdGVwRGVmaW5pdGlvbnM6IFN0ZXBEZWZpbml0aW9uW10pOiBzdHJpbmcge1xuICBjb25zdCB0YWJsZSA9IG5ldyBUYWJsZSh7XG4gICAgY2hhcnM6IHtcbiAgICAgIGJvdHRvbTogJycsXG4gICAgICAnYm90dG9tLWxlZnQnOiAnJyxcbiAgICAgICdib3R0b20tbWlkJzogJycsXG4gICAgICAnYm90dG9tLXJpZ2h0JzogJycsXG4gICAgICBsZWZ0OiAnJyxcbiAgICAgICdsZWZ0LW1pZCc6ICcnLFxuICAgICAgbWlkOiAnJyxcbiAgICAgICdtaWQtbWlkJzogJycsXG4gICAgICBtaWRkbGU6ICcgLSAnLFxuICAgICAgcmlnaHQ6ICcnLFxuICAgICAgJ3JpZ2h0LW1pZCc6ICcnLFxuICAgICAgdG9wOiAnJyxcbiAgICAgICd0b3AtbGVmdCc6ICcnLFxuICAgICAgJ3RvcC1taWQnOiAnJyxcbiAgICAgICd0b3AtcmlnaHQnOiAnJyxcbiAgICB9LFxuICAgIHN0eWxlOiB7XG4gICAgICBib3JkZXI6IFtdLFxuICAgICAgJ3BhZGRpbmctbGVmdCc6IDAsXG4gICAgICAncGFkZGluZy1yaWdodCc6IDAsXG4gICAgfSxcbiAgfSlcbiAgdGFibGUucHVzaChcbiAgICAuLi5zdGVwRGVmaW5pdGlvbnMubWFwKChzdGVwRGVmaW5pdGlvbikgPT4ge1xuICAgICAgY29uc3QgcGF0dGVybiA9IHN0ZXBEZWZpbml0aW9uLnBhdHRlcm4udG9TdHJpbmcoKVxuICAgICAgcmV0dXJuIFtwYXR0ZXJuLCBmb3JtYXRMb2NhdGlvbihzdGVwRGVmaW5pdGlvbildXG4gICAgfSlcbiAgKVxuICByZXR1cm4gYCR7J011bHRpcGxlIHN0ZXAgZGVmaW5pdGlvbnMgbWF0Y2g6JyArICdcXG4nfSR7aW5kZW50U3RyaW5nKHRhYmxlLnRvU3RyaW5nKCksIDIpfWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldHJpZXNGb3JQaWNrbGUocGlja2xlOiBQaWNrbGUsIG9wdGlvbnM6IFJ1bnRpbWVPcHRpb25zKTogbnVtYmVyIHtcbiAgaWYgKCFvcHRpb25zLnJldHJ5KSB7XG4gICAgcmV0dXJuIDBcbiAgfVxuICBjb25zdCByZXRyaWVzID0gb3B0aW9ucy5yZXRyeVxuICBpZiAocmV0cmllcyA9PT0gMCkge1xuICAgIHJldHVybiAwXG4gIH1cbiAgY29uc3QgcmV0cnlUYWdGaWx0ZXIgPSBvcHRpb25zLnJldHJ5VGFnRmlsdGVyXG4gIGlmICghcmV0cnlUYWdGaWx0ZXIpIHtcbiAgICByZXR1cm4gcmV0cmllc1xuICB9XG4gIGNvbnN0IHBpY2tsZVRhZ0ZpbHRlciA9IG5ldyBQaWNrbGVUYWdGaWx0ZXIocmV0cnlUYWdGaWx0ZXIpXG4gIGlmIChwaWNrbGVUYWdGaWx0ZXIubWF0Y2hlc0FsbFRhZ0V4cHJlc3Npb25zKHBpY2tsZSkpIHtcbiAgICByZXR1cm4gcmV0cmllc1xuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaG91bGRDYXVzZUZhaWx1cmUoc3RhdHVzOiBUZXN0U3RlcFJlc3VsdFN0YXR1cywgb3B0aW9uczogUnVudGltZU9wdGlvbnMpOiBib29sZWFuIHtcbiAgaWYgKG9wdGlvbnMuZHJ5UnVuKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgZmFpbHVyZVN0YXR1c2VzOiBUZXN0U3RlcFJlc3VsdFN0YXR1c1tdID0gW1xuICAgIFRlc3RTdGVwUmVzdWx0U3RhdHVzLkFNQklHVU9VUyxcbiAgICBUZXN0U3RlcFJlc3VsdFN0YXR1cy5GQUlMRUQsXG4gICAgVGVzdFN0ZXBSZXN1bHRTdGF0dXMuVU5ERUZJTkVELFxuICBdXG4gIGlmIChvcHRpb25zLnN0cmljdCkge1xuICAgIGZhaWx1cmVTdGF0dXNlcy5wdXNoKFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBFTkRJTkcpXG4gIH1cbiAgcmV0dXJuIGZhaWx1cmVTdGF0dXNlcy5pbmNsdWRlcyhzdGF0dXMpXG59XG4iXX0=
|
|
@@ -10,7 +10,7 @@ const adapter_1 = require("./parallel/adapter");
|
|
|
10
10
|
const adapter_2 = require("./serial/adapter");
|
|
11
11
|
async function makeRuntime({ testRunStartedId, environment, logger, eventBroadcaster, sourcedPickles, newId, supportCodeLibrary, options, snippetOptions, }) {
|
|
12
12
|
const adapter = await makeAdapter(options, snippetOptions, testRunStartedId, environment, logger, eventBroadcaster, supportCodeLibrary, newId);
|
|
13
|
-
return new coordinator_1.Coordinator(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, adapter);
|
|
13
|
+
return new coordinator_1.Coordinator(testRunStartedId, eventBroadcaster, newId, sourcedPickles, supportCodeLibrary, options.filterStacktraces, adapter);
|
|
14
14
|
}
|
|
15
15
|
async function makeAdapter(options, snippetOptions, testRunStartedId, environment, logger, eventBroadcaster, supportCodeLibrary, newId) {
|
|
16
16
|
if (options.parallel > 0) {
|
|
@@ -24,4 +24,4 @@ async function makeAdapter(options, snippetOptions, testRunStartedId, environmen
|
|
|
24
24
|
});
|
|
25
25
|
return new adapter_2.InProcessAdapter(testRunStartedId, eventBroadcaster, newId, options, supportCodeLibrary, snippetBuilder);
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZV9ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3J1bnRpbWUvbWFrZV9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBYUEsa0NBd0NDO0FBL0NELG1FQUFtRDtBQUVuRCwrQ0FBMkM7QUFDM0MsZ0RBQXlEO0FBQ3pELDhDQUFtRDtBQUc1QyxLQUFLLFVBQVUsV0FBVyxDQUFDLEVBQ2hDLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsS0FBSyxFQUNMLGtCQUFrQixFQUNsQixPQUFPLEVBQ1AsY0FBYyxHQVdmO0lBQ0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxXQUFXLENBQy9CLE9BQU8sRUFDUCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixLQUFLLENBQ04sQ0FBQTtJQUNELE9BQU8sSUFBSSx5QkFBVyxDQUNwQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ2hCLEtBQUssRUFDTCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLE9BQU8sQ0FBQyxpQkFBaUIsRUFDekIsT0FBTyxDQUNSLENBQUE7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLFdBQVcsQ0FDeEIsT0FBMkIsRUFDM0IsY0FBeUUsRUFDekUsZ0JBQXdCLEVBQ3hCLFdBQTRCLEVBQzVCLE1BQWUsRUFDZixnQkFBOEIsRUFDOUIsa0JBQXNDLEVBQ3RDLEtBQW1CO0lBRW5CLElBQUksT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksOEJBQW9CLENBQzdCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixPQUFPLEVBQ1AsY0FBYyxFQUNkLGtCQUFrQixDQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0saUJBQWdCLENBQUMsK0JBQStCLENBQUM7UUFDNUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1FBQ3BCLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxnQkFBZ0I7UUFDakQsYUFBYSxFQUFFLGNBQWMsQ0FBQyxhQUFhO1FBQzNDLGtCQUFrQjtLQUNuQixDQUFDLENBQUE7SUFDRixPQUFPLElBQUksMEJBQWdCLENBQ3pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsS0FBSyxFQUNMLE9BQU8sRUFDUCxrQkFBa0IsRUFDbEIsY0FBYyxDQUNmLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdub2RlOmV2ZW50cydcbmltcG9ydCB0eXBlIHsgSWRHZW5lcmF0b3IgfSBmcm9tICdAY3VjdW1iZXIvbWVzc2FnZXMnXG5pbXBvcnQgdHlwZSB7IElSdW5PcHRpb25zUnVudGltZSB9IGZyb20gJy4uL2FwaSdcbmltcG9ydCB0eXBlIHsgU291cmNlZFBpY2tsZSB9IGZyb20gJy4uL2Fzc2VtYmxlJ1xuaW1wb3J0IHR5cGUgeyBJTG9nZ2VyLCBJUnVuRW52aXJvbm1lbnQgfSBmcm9tICcuLi9lbnZpcm9ubWVudCdcbmltcG9ydCB0eXBlIHsgRm9ybWF0T3B0aW9ucyB9IGZyb20gJy4uL2Zvcm1hdHRlcidcbmltcG9ydCBGb3JtYXR0ZXJCdWlsZGVyIGZyb20gJy4uL2Zvcm1hdHRlci9idWlsZGVyJ1xuaW1wb3J0IHR5cGUgeyBTdXBwb3J0Q29kZUxpYnJhcnkgfSBmcm9tICcuLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL3R5cGVzJ1xuaW1wb3J0IHsgQ29vcmRpbmF0b3IgfSBmcm9tICcuL2Nvb3JkaW5hdG9yJ1xuaW1wb3J0IHsgV29ya2VyVGhyZWFkc0FkYXB0ZXIgfSBmcm9tICcuL3BhcmFsbGVsL2FkYXB0ZXInXG5pbXBvcnQgeyBJblByb2Nlc3NBZGFwdGVyIH0gZnJvbSAnLi9zZXJpYWwvYWRhcHRlcidcbmltcG9ydCB0eXBlIHsgUnVudGltZSB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtYWtlUnVudGltZSh7XG4gIHRlc3RSdW5TdGFydGVkSWQsXG4gIGVudmlyb25tZW50LFxuICBsb2dnZXIsXG4gIGV2ZW50QnJvYWRjYXN0ZXIsXG4gIHNvdXJjZWRQaWNrbGVzLFxuICBuZXdJZCxcbiAgc3VwcG9ydENvZGVMaWJyYXJ5LFxuICBvcHRpb25zLFxuICBzbmlwcGV0T3B0aW9ucyxcbn06IHtcbiAgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nXG4gIGVudmlyb25tZW50OiBJUnVuRW52aXJvbm1lbnRcbiAgbG9nZ2VyOiBJTG9nZ2VyXG4gIGV2ZW50QnJvYWRjYXN0ZXI6IEV2ZW50RW1pdHRlclxuICBuZXdJZDogSWRHZW5lcmF0b3IuTmV3SWRcbiAgc291cmNlZFBpY2tsZXM6IFJlYWRvbmx5QXJyYXk8U291cmNlZFBpY2tsZT5cbiAgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnlcbiAgb3B0aW9uczogSVJ1bk9wdGlvbnNSdW50aW1lXG4gIHNuaXBwZXRPcHRpb25zOiBQaWNrPEZvcm1hdE9wdGlvbnMsICdzbmlwcGV0SW50ZXJmYWNlJyB8ICdzbmlwcGV0U3ludGF4Jz5cbn0pOiBQcm9taXNlPFJ1bnRpbWU+IHtcbiAgY29uc3QgYWRhcHRlciA9IGF3YWl0IG1ha2VBZGFwdGVyKFxuICAgIG9wdGlvbnMsXG4gICAgc25pcHBldE9wdGlvbnMsXG4gICAgdGVzdFJ1blN0YXJ0ZWRJZCxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBsb2dnZXIsXG4gICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICBzdXBwb3J0Q29kZUxpYnJhcnksXG4gICAgbmV3SWRcbiAgKVxuICByZXR1cm4gbmV3IENvb3JkaW5hdG9yKFxuICAgIHRlc3RSdW5TdGFydGVkSWQsXG4gICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICBuZXdJZCxcbiAgICBzb3VyY2VkUGlja2xlcyxcbiAgICBzdXBwb3J0Q29kZUxpYnJhcnksXG4gICAgb3B0aW9ucy5maWx0ZXJTdGFja3RyYWNlcyxcbiAgICBhZGFwdGVyXG4gIClcbn1cblxuYXN5bmMgZnVuY3Rpb24gbWFrZUFkYXB0ZXIoXG4gIG9wdGlvbnM6IElSdW5PcHRpb25zUnVudGltZSxcbiAgc25pcHBldE9wdGlvbnM6IFBpY2s8Rm9ybWF0T3B0aW9ucywgJ3NuaXBwZXRJbnRlcmZhY2UnIHwgJ3NuaXBwZXRTeW50YXgnPixcbiAgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nLFxuICBlbnZpcm9ubWVudDogSVJ1bkVudmlyb25tZW50LFxuICBsb2dnZXI6IElMb2dnZXIsXG4gIGV2ZW50QnJvYWRjYXN0ZXI6IEV2ZW50RW1pdHRlcixcbiAgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnksXG4gIG5ld0lkOiAoKSA9PiBzdHJpbmdcbikge1xuICBpZiAob3B0aW9ucy5wYXJhbGxlbCA+IDApIHtcbiAgICByZXR1cm4gbmV3IFdvcmtlclRocmVhZHNBZGFwdGVyKFxuICAgICAgdGVzdFJ1blN0YXJ0ZWRJZCxcbiAgICAgIGVudmlyb25tZW50LFxuICAgICAgbG9nZ2VyLFxuICAgICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICAgIG9wdGlvbnMsXG4gICAgICBzbmlwcGV0T3B0aW9ucyxcbiAgICAgIHN1cHBvcnRDb2RlTGlicmFyeVxuICAgIClcbiAgfVxuICBjb25zdCBzbmlwcGV0QnVpbGRlciA9IGF3YWl0IEZvcm1hdHRlckJ1aWxkZXIuZ2V0U3RlcERlZmluaXRpb25TbmlwcGV0QnVpbGRlcih7XG4gICAgY3dkOiBlbnZpcm9ubWVudC5jd2QsXG4gICAgc25pcHBldEludGVyZmFjZTogc25pcHBldE9wdGlvbnMuc25pcHBldEludGVyZmFjZSxcbiAgICBzbmlwcGV0U3ludGF4OiBzbmlwcGV0T3B0aW9ucy5zbmlwcGV0U3ludGF4LFxuICAgIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgfSlcbiAgcmV0dXJuIG5ldyBJblByb2Nlc3NBZGFwdGVyKFxuICAgIHRlc3RSdW5TdGFydGVkSWQsXG4gICAgZXZlbnRCcm9hZGNhc3RlcixcbiAgICBuZXdJZCxcbiAgICBvcHRpb25zLFxuICAgIHN1cHBvcnRDb2RlTGlicmFyeSxcbiAgICBzbmlwcGV0QnVpbGRlclxuICApXG59XG4iXX0=
|
|
@@ -20,8 +20,9 @@ export declare class WorkerThreadsAdapter implements RuntimeAdapter {
|
|
|
20
20
|
private readonly options;
|
|
21
21
|
private readonly snippetOptions;
|
|
22
22
|
private readonly supportCodeLibrary;
|
|
23
|
-
private readiness
|
|
24
|
-
private phase
|
|
23
|
+
private readiness?;
|
|
24
|
+
private phase?;
|
|
25
|
+
private tearingDown;
|
|
25
26
|
private readonly workers;
|
|
26
27
|
private readonly running;
|
|
27
28
|
constructor(testRunStartedId: string, environment: IRunEnvironment, logger: ILogger, eventBroadcaster: EventEmitter, options: IRunOptionsRuntime, snippetOptions: Pick<FormatOptions, 'snippetInterface' | 'snippetSyntax'>, supportCodeLibrary: SupportCodeLibrary);
|
|
@@ -34,4 +35,6 @@ export declare class WorkerThreadsAdapter implements RuntimeAdapter {
|
|
|
34
35
|
private issueCommandToWorker;
|
|
35
36
|
private handleEventFromWorker;
|
|
36
37
|
private handleErrorFromWorker;
|
|
38
|
+
private handleExitFromWorker;
|
|
39
|
+
private fail;
|
|
37
40
|
}
|
|
@@ -25,6 +25,7 @@ class WorkerThreadsAdapter {
|
|
|
25
25
|
supportCodeLibrary;
|
|
26
26
|
readiness;
|
|
27
27
|
phase;
|
|
28
|
+
tearingDown = false;
|
|
28
29
|
workers = new Set();
|
|
29
30
|
running = new Map();
|
|
30
31
|
constructor(testRunStartedId, environment, logger, eventBroadcaster, options, snippetOptions, supportCodeLibrary) {
|
|
@@ -82,6 +83,9 @@ class WorkerThreadsAdapter {
|
|
|
82
83
|
workerThread.on('error', (error) => {
|
|
83
84
|
this.handleErrorFromWorker(error, worker);
|
|
84
85
|
});
|
|
86
|
+
workerThread.on('exit', (exitCode) => {
|
|
87
|
+
this.handleExitFromWorker(exitCode, worker);
|
|
88
|
+
});
|
|
85
89
|
}
|
|
86
90
|
});
|
|
87
91
|
delete this.readiness;
|
|
@@ -111,6 +115,7 @@ class WorkerThreadsAdapter {
|
|
|
111
115
|
return success;
|
|
112
116
|
}
|
|
113
117
|
async teardown() {
|
|
118
|
+
this.tearingDown = true;
|
|
114
119
|
for (const worker of this.workers.values()) {
|
|
115
120
|
await worker.workerThread.terminate();
|
|
116
121
|
// close our end of the channel so it stops keeping the loop alive
|
|
@@ -152,11 +157,18 @@ class WorkerThreadsAdapter {
|
|
|
152
157
|
}
|
|
153
158
|
}
|
|
154
159
|
handleErrorFromWorker(error, worker) {
|
|
155
|
-
|
|
160
|
+
this.fail(new Error(`Error on worker ${worker.id}`, { cause: error }));
|
|
161
|
+
}
|
|
162
|
+
handleExitFromWorker(exitCode, worker) {
|
|
163
|
+
if (!this.tearingDown) {
|
|
164
|
+
this.fail(new Error(`Worker ${worker.id} exited unexpectedly with code ${exitCode}`));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
fail(reason) {
|
|
156
168
|
this.readiness?.reject(reason);
|
|
157
169
|
this.phase?.reject(reason);
|
|
158
170
|
void this.teardown();
|
|
159
171
|
}
|
|
160
172
|
}
|
|
161
173
|
exports.WorkerThreadsAdapter = WorkerThreadsAdapter;
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL3BhcmFsbGVsL2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsMERBQTRCO0FBQzVCLDZEQUE0RDtBQU81RCx5REFBbUQ7QUFDbkQsaUVBQTBEO0FBRzFEOzs7Ozs7R0FNRztBQUNILE1BQWEsb0JBQW9CO0lBVVo7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFmWCxTQUFTLENBR2hCO0lBQ08sS0FBSyxDQUFPO0lBQ0gsT0FBTyxHQUF1QixJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQ3ZDLE9BQU8sR0FBc0MsSUFBSSxHQUFHLEVBQUUsQ0FBQTtJQUV2RSxZQUNtQixnQkFBd0IsRUFDeEIsV0FBNEIsRUFDNUIsTUFBZSxFQUNmLGdCQUE4QixFQUM5QixPQUEyQixFQUMzQixjQUF5RSxFQUN6RSxrQkFBc0M7UUFOdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFRO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFpQjtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFjO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQW9CO1FBQzNCLG1CQUFjLEdBQWQsY0FBYyxDQUEyRDtRQUN6RSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQ3RELENBQUM7SUFFSixLQUFLLENBQUMsS0FBSztRQUNULE1BQU0sSUFBSSxPQUFPLENBQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQTtZQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtZQUNuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENB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LGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUN0RCxNQUFLO1lBQ1AsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNoQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDNUQsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQTtnQkFDaEQsQ0FBQztnQkFDRCxNQUFLO1lBQ1AsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBWSxFQUFFLE1BQXFCO1FBQy9ELE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLG1CQUFtQixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtRQUMxRSxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM5QixJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMxQixLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0NBQ0Y7QUE5SkQsb0RBOEpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdub2RlOmV2ZW50cydcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB7IE1lc3NhZ2VDaGFubmVsLCBXb3JrZXIgfSBmcm9tICdub2RlOndvcmtlcl90aHJlYWRzJ1xuaW1wb3J0IHR5cGUgeyBJUnVuT3B0aW9uc1J1bnRpbWUgfSBmcm9tICcuLi8uLi9hcGknXG5pbXBvcnQgdHlwZSB7IEFzc2VtYmxlZFRlc3RDYXNlIH0gZnJvbSAnLi4vLi4vYXNzZW1ibGUnXG5pbXBvcnQgdHlwZSB7IElMb2dnZXIsIElSdW5FbnZpcm9ubWVudCB9IGZyb20gJy4uLy4uL2Vudmlyb25tZW50J1xuaW1wb3J0IHR5cGUgeyBGb3JtYXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vZm9ybWF0dGVyJ1xuaW1wb3J0IHR5cGUgeyBTdXBwb3J0Q29kZUxpYnJhcnkgfSBmcm9tICcuLi8uLi9zdXBwb3J0X2NvZGVfbGlicmFyeV9idWlsZGVyL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBSdW50aW1lQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgVGVzdENhc2VzUGhhc2UgfSBmcm9tICcuL3Rlc3RfY2FzZXNfcGhhc2UnXG5pbXBvcnQgeyBUZXN0UnVuSG9va3NQaGFzZSB9IGZyb20gJy4vdGVzdF9ydW5faG9va3NfcGhhc2UnXG5pbXBvcnQgdHlwZSB7IE1hbmFnZWRXb3JrZXIsIFBoYXNlLCBXb3JrZXJDb21tYW5kLCBXb3JrZXJEYXRhLCBXb3JrZXJFdmVudCB9IGZyb20gJy4vdHlwZXMnXG5cbi8qKlxuICogQW4gYWRhcHRlciB0aGF0IGRpc3RyaWJ1dGVzIHdvcmsgYWNyb3NzIG11bHRpcGxlIHdvcmtlciB0aHJlYWRzXG4gKiBAcmVtYXJrc1xuICogRWFjaCBwaGFzZSBvZiB0aGUgdGVzdCBydW4gaXMgc2VsZi1jb250YWluZWQgYW5kIHNlbGYtb3JjaGVzdHJhdGluZyAtIGV2ZXJ5XG4gKiBGSU5JU0hFRCBtZXNzYWdlIGZyb20gYSB3b3JrZXIgbWF5IGNhdXNlIHRoZSBuZXh0IHBpZWNlIG9mIHdvcmsgdG8gYmVcbiAqIHRyaWdnZXJlZCBvciB0aGUgcGhhc2UgdG8gYmUgc2V0dGxlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtlclRocmVhZHNBZGFwdGVyIGltcGxlbWVudHMgUnVudGltZUFkYXB0ZXIge1xuICBwcml2YXRlIHJlYWRpbmVzczoge1xuICAgIHJlc29sdmU6ICgpID0+IHZvaWRcbiAgICByZWplY3Q6IChyZWFzb246IHVua25vd24pID0+IHZvaWRcbiAgfVxuICBwcml2YXRlIHBoYXNlOiBQaGFzZVxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtlcnM6IFNldDxNYW5hZ2VkV29ya2VyPiA9IG5ldyBTZXQoKVxuICBwcml2YXRlIHJlYWRvbmx5IHJ1bm5pbmc6IE1hcDxNYW5hZ2VkV29ya2VyLCBXb3JrZXJDb21tYW5kPiA9IG5ldyBNYXAoKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVzdFJ1blN0YXJ0ZWRJZDogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZW52aXJvbm1lbnQ6IElSdW5FbnZpcm9ubWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogSUxvZ2dlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGV2ZW50QnJvYWRjYXN0ZXI6IEV2ZW50RW1pdHRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IElSdW5PcHRpb25zUnVudGltZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNuaXBwZXRPcHRpb25zOiBQaWNrPEZvcm1hdE9wdGlvbnMsICdzbmlwcGV0SW50ZXJmYWNlJyB8ICdzbmlwcGV0U3ludGF4Jz4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdXBwb3J0Q29kZUxpYnJhcnk6IFN1cHBvcnRDb2RlTGlicmFyeVxuICApIHt9XG5cbiAgYXN5bmMgc2V0dXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5yZWFkaW5lc3MgPSB7IHJlc29sdmUsIHJlamVjdCB9XG4gICAgICBjb25zdCB0b3RhbCA9IHRoaXMub3B0aW9ucy5wYXJhbGxlbFxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b3RhbDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGlkID0gaS50b1N0cmluZygpXG4gICAgICAgIC8vIHNwaW4gdXAgYSBkZWRpY2F0ZWQgbWVzc2FnZSBjaGFubmVsIGZvciBjb29yZGluYXRvci13b3JrZXIgY29tbXNcbiAgICAgICAgY29uc3QgeyBwb3J0MSwgcG9ydDIgfSA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpXG4gICAgICAgIGNvbnN0IHdvcmtlclRocmVhZCA9IG5ldyBXb3JrZXIocGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ3dvcmtlci5tanMnKSwge1xuICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgLi4udGhpcy5lbnZpcm9ubWVudC5lbnYsXG4gICAgICAgICAgICBDVUNVTUJFUl9QQVJBTExFTDogJ3RydWUnLFxuICAgICAgICAgICAgQ1VDVU1CRVJfVE9UQUxfV09SS0VSUzogdG90YWwudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIENVQ1VNQkVSX1dPUktFUl9JRDogaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXNvdXJjZUxpbWl0czogdGhpcy5vcHRpb25zLndvcmtlck9wdGlvbnM/LnJlc291cmNlTGltaXRzLFxuICAgICAgICAgIHdvcmtlckRhdGE6IHtcbiAgICAgICAgICAgIGN3ZDogdGhpcy5lbnZpcm9ubWVudC5jd2QsXG4gICAgICAgICAgICB0ZXN0UnVuU3RhcnRlZElkOiB0aGlzLnRlc3RSdW5TdGFydGVkSWQsXG4gICAgICAgICAgICBzdXBwb3J0Q29kZUNvb3JkaW5hdGVzOiB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5vcmlnaW5hbENvb3JkaW5hdGVzLFxuICAgICAgICAgICAgc3VwcG9ydENvZGVJZHM6IHtcbiAgICAgICAgICAgICAgc3RlcERlZmluaXRpb25JZHM6IHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LnN0ZXBEZWZpbml0aW9ucy5tYXAoKHMpID0+IHMuaWQpLFxuICAgICAgICAgICAgICBiZWZvcmVUZXN0Q2FzZUhvb2tEZWZpbml0aW9uSWRzOlxuICAgICAgICAgICAgICAgIHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LmJlZm9yZVRlc3RDYXNlSG9va0RlZmluaXRpb25zLm1hcCgoaCkgPT4gaC5pZCksXG4gICAgICAgICAgICAgIGFmdGVyVGVzdENhc2VIb29rRGVmaW5pdGlvbklkczpcbiAgICAgICAgICAgICAgICB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5hZnRlclRlc3RDYXNlSG9va0RlZmluaXRpb25zLm1hcCgoaCkgPT4gaC5pZCksXG4gICAgICAgICAgICAgIGJlZm9yZVRlc3RSdW5Ib29rRGVmaW5pdGlvbklkczpcbiAgICAgICAgICAgICAgICB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5iZWZvcmVUZXN0UnVuSG9va0RlZmluaXRpb25zLm1hcCgoaCkgPT4gaC5pZCksXG4gICAgICAgICAgICAgIGFmdGVyVGVzdFJ1bkhvb2tEZWZpbml0aW9uSWRzOlxuICAgICAgICAgICAgICAgIHRoaXMuc3VwcG9ydENvZGVMaWJyYXJ5LmFmdGVyVGVzdFJ1bkhvb2tEZWZpbml0aW9ucy5tYXAoKGgpID0+IGguaWQpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgIHNuaXBwZXRPcHRpb25zOiB0aGlzLnNuaXBwZXRPcHRpb25zLFxuICAgICAgICAgICAgcG9ydDogcG9ydDIsXG4gICAgICAgICAgfSBzYXRpc2ZpZXMgV29ya2VyRGF0YSxcbiAgICAgICAgICB0cmFuc2Zlckxpc3Q6IFtwb3J0Ml0sXG4gICAgICAgIH0pXG4gICAgICAgIGNvbnN0IHdvcmtlciA9IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB3b3JrZXJUaHJlYWQsXG4gICAgICAgICAgcG9ydDogcG9ydDEsXG4gICAgICAgICAgcmVhZHk6IGZhbHNlLFxuICAgICAgICB9XG4gICAgICAgIHRoaXMud29ya2Vycy5hZGQod29ya2VyKVxuICAgICAgICBwb3J0MS5vbignbWVzc2FnZScsIChldmVudDogV29ya2VyRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUV2ZW50RnJvbVdvcmtlcih3b3JrZXIsIGV2ZW50KVxuICAgICAgICB9KVxuICAgICAgICB3b3JrZXJUaHJlYWQub24oJ2Vycm9yJywgKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFcnJvckZyb21Xb3JrZXIoZXJyb3IsIHdvcmtlcilcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICAgIGRlbGV0ZSB0aGlzLnJlYWRpbmVzc1xuICB9XG5cbiAgYXN5bmMgcnVuQmVmb3JlQWxsSG9va3MoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucGhhc2UgPSBuZXcgVGVzdFJ1bkhvb2tzUGhhc2UocmVzb2x2ZSwgcmVqZWN0LCAnQkVGT1JFQUxMX0hPT0tTJylcbiAgICAgIHRoaXMuc3RhcnRQaGFzZSgpXG4gICAgfSlcbiAgICBkZWxldGUgdGhpcy5waGFzZVxuICAgIHJldHVybiBzdWNjZXNzXG4gIH1cblxuICBhc3luYyBydW5UZXN0Q2FzZXMoYXNzZW1ibGVkVGVzdENhc2VzOiBSZWFkb25seUFycmF5PEFzc2VtYmxlZFRlc3RDYXNlPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnBoYXNlID0gbmV3IFRlc3RDYXNlc1BoYXNlKFxuICAgICAgICByZXNvbHZlLFxuICAgICAgICByZWplY3QsXG4gICAgICAgIHRoaXMubG9nZ2VyLFxuICAgICAgICB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5wYXJhbGxlbENhbkFzc2lnbixcbiAgICAgICAgYXNzZW1ibGVkVGVzdENhc2VzXG4gICAgICApXG4gICAgICB0aGlzLnN0YXJ0UGhhc2UoKVxuICAgIH0pXG4gICAgZGVsZXRlIHRoaXMucGhhc2VcbiAgICByZXR1cm4gc3VjY2Vzc1xuICB9XG5cbiAgYXN5bmMgcnVuQWZ0ZXJBbGxIb29rcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5waGFzZSA9IG5ldyBUZXN0UnVuSG9va3NQaGFzZShyZXNvbHZlLCByZWplY3QsICdBRlRFUkFMTF9IT09LUycpXG4gICAgICB0aGlzLnN0YXJ0UGhhc2UoKVxuICAgIH0pXG4gICAgZGVsZXRlIHRoaXMucGhhc2VcbiAgICByZXR1cm4gc3VjY2Vzc1xuICB9XG5cbiAgYXN5bmMgdGVhcmRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCB3b3JrZXIgb2YgdGhpcy53b3JrZXJzLnZhbHVlcygpKSB7XG4gICAgICBhd2FpdCB3b3JrZXIud29ya2VyVGhyZWFkLnRlcm1pbmF0ZSgpXG4gICAgICAvLyBjbG9zZSBvdXIgZW5kIG9mIHRoZSBjaGFubmVsIHNvIGl0IHN0b3BzIGtlZXBpbmcgdGhlIGxvb3AgYWxpdmVcbiAgICAgIHdvcmtlci5wb3J0LmNsb3NlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UGhhc2UoKSB7XG4gICAgZm9yIChjb25zdCB3b3JrZXIgb2YgdGhpcy53b3JrZXJzKSB7XG4gICAgICBjb25zdCBjb21tYW5kID0gdGhpcy5waGFzZS5maWxsKClcbiAgICAgIGlmIChjb21tYW5kKSB7XG4gICAgICAgIHRoaXMuaXNzdWVDb21tYW5kVG9Xb3JrZXIod29ya2VyLCBjb21tYW5kKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNzdWVDb21tYW5kVG9Xb3JrZXIod29ya2VyOiBNYW5hZ2VkV29ya2VyLCBjb21tYW5kOiBXb3JrZXJDb21tYW5kKSB7XG4gICAgdGhpcy5ydW5uaW5nLnNldCh3b3JrZXIsIGNvbW1hbmQpXG4gICAgd29ya2VyLnBvcnQucG9zdE1lc3NhZ2UoY29tbWFuZClcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXZlbnRGcm9tV29ya2VyKHdvcmtlcjogTWFuYWdlZFdvcmtlciwgZXZlbnQ6IFdvcmtlckV2ZW50KSB7XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICBjYXNlICdSRUFEWSc6XG4gICAgICAgIHdvcmtlci5yZWFkeSA9IHRydWVcbiAgICAgICAgaWYgKFsuLi50aGlzLndvcmtlcnNdLmV2ZXJ5KChtdykgPT4gbXcucmVhZHkpKSB7XG4gICAgICAgICAgdGhpcy5yZWFkaW5lc3M/LnJlc29sdmUoKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdFTlZFTE9QRSc6XG4gICAgICAgIHRoaXMuZXZlbnRCcm9hZGNhc3Rlci5lbWl0KCdlbnZlbG9wZScsIGV2ZW50LmVudmVsb3BlKVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnRklOSVNIRUQnOiB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzQ29tbWFuZCA9IHRoaXMucnVubmluZy5nZXQod29ya2VyKVxuICAgICAgICB0aGlzLnJ1bm5pbmcuZGVsZXRlKHdvcmtlcilcbiAgICAgICAgY29uc3QgbmV4dENvbW1hbmQgPSB0aGlzLnBoYXNlPy5uZXh0KHByZXZpb3VzQ29tbWFuZCwgZXZlbnQpXG4gICAgICAgIGlmIChuZXh0Q29tbWFuZCkge1xuICAgICAgICAgIHRoaXMuaXNzdWVDb21tYW5kVG9Xb3JrZXIod29ya2VyLCBuZXh0Q29tbWFuZClcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRXJyb3JGcm9tV29ya2VyKGVycm9yOiBFcnJvciwgd29ya2VyOiBNYW5hZ2VkV29ya2VyKSB7XG4gICAgY29uc3QgcmVhc29uID0gbmV3IEVycm9yKGBFcnJvciBvbiB3b3JrZXIgJHt3b3JrZXIuaWR9YCwgeyBjYXVzZTogZXJyb3IgfSlcbiAgICB0aGlzLnJlYWRpbmVzcz8ucmVqZWN0KHJlYXNvbilcbiAgICB0aGlzLnBoYXNlPy5yZWplY3QocmVhc29uKVxuICAgIHZvaWQgdGhpcy50ZWFyZG93bigpXG4gIH1cbn1cbiJdfQ==
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydW50aW1lL3BhcmFsbGVsL2FkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsMERBQTRCO0FBQzVCLDZEQUE0RDtBQU81RCx5REFBbUQ7QUFDbkQsaUVBQTBEO0FBRzFEOzs7Ozs7R0FNRztBQUNILE1BQWEsb0JBQW9CO0lBV1o7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFoQlgsU0FBUyxDQUdoQjtJQUNPLEtBQUssQ0FBUTtJQUNiLFdBQVcsR0FBRyxLQUFLLENBQUE7SUFDVixPQUFPLEdBQXVCLElBQUksR0FBRyxFQUFFLENBQUE7SUFDdkMsT0FBTyxHQUFzQyxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBRXZFLFlBQ21CLGdCQUF3QixFQUN4QixXQUE0QixFQUM1QixNQUFlLEVBQ2YsZ0JBQThCLEVBQzlCLE9BQTJCLEVBQzNCLGNBQXlFLEVBQ3pFLGtCQUFzQztRQU50QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWM7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQTJEO1FBQ3pFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFDdEQsQ0FBQztJQUVKLEtBQUssQ0FBQyxLQUFLO1FBQ1QsTUFBTSxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFBO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFBO1lBQ25DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxF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VSxNQUFNLENBQUMsRUFBRSxrQ0FBa0MsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFBO1FBQ3ZGLENBQUM7SUFDSCxDQUFDO0lBRU8sSUFBSSxDQUFDLE1BQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUIsS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDdEIsQ0FBQztDQUNGO0FBNUtELG9EQTRLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnbm9kZTpldmVudHMnXG5pbXBvcnQgcGF0aCBmcm9tICdub2RlOnBhdGgnXG5pbXBvcnQgeyBNZXNzYWdlQ2hhbm5lbCwgV29ya2VyIH0gZnJvbSAnbm9kZTp3b3JrZXJfdGhyZWFkcydcbmltcG9ydCB0eXBlIHsgSVJ1bk9wdGlvbnNSdW50aW1lIH0gZnJvbSAnLi4vLi4vYXBpJ1xuaW1wb3J0IHR5cGUgeyBBc3NlbWJsZWRUZXN0Q2FzZSB9IGZyb20gJy4uLy4uL2Fzc2VtYmxlJ1xuaW1wb3J0IHR5cGUgeyBJTG9nZ2VyLCBJUnVuRW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudCdcbmltcG9ydCB0eXBlIHsgRm9ybWF0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2Zvcm1hdHRlcidcbmltcG9ydCB0eXBlIHsgU3VwcG9ydENvZGVMaWJyYXJ5IH0gZnJvbSAnLi4vLi4vc3VwcG9ydF9jb2RlX2xpYnJhcnlfYnVpbGRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUnVudGltZUFkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IFRlc3RDYXNlc1BoYXNlIH0gZnJvbSAnLi90ZXN0X2Nhc2VzX3BoYXNlJ1xuaW1wb3J0IHsgVGVzdFJ1bkhvb2tzUGhhc2UgfSBmcm9tICcuL3Rlc3RfcnVuX2hvb2tzX3BoYXNlJ1xuaW1wb3J0IHR5cGUgeyBNYW5hZ2VkV29ya2VyLCBQaGFzZSwgV29ya2VyQ29tbWFuZCwgV29ya2VyRGF0YSwgV29ya2VyRXZlbnQgfSBmcm9tICcuL3R5cGVzJ1xuXG4vKipcbiAqIEFuIGFkYXB0ZXIgdGhhdCBkaXN0cmlidXRlcyB3b3JrIGFjcm9zcyBtdWx0aXBsZSB3b3JrZXIgdGhyZWFkc1xuICogQHJlbWFya3NcbiAqIEVhY2ggcGhhc2Ugb2YgdGhlIHRlc3QgcnVuIGlzIHNlbGYtY29udGFpbmVkIGFuZCBzZWxmLW9yY2hlc3RyYXRpbmcgLSBldmVyeVxuICogRklOSVNIRUQgbWVzc2FnZSBmcm9tIGEgd29ya2VyIG1heSBjYXVzZSB0aGUgbmV4dCBwaWVjZSBvZiB3b3JrIHRvIGJlXG4gKiB0cmlnZ2VyZWQgb3IgdGhlIHBoYXNlIHRvIGJlIHNldHRsZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrZXJUaHJlYWRzQWRhcHRlciBpbXBsZW1lbnRzIFJ1bnRpbWVBZGFwdGVyIHtcbiAgcHJpdmF0ZSByZWFkaW5lc3M/OiB7XG4gICAgcmVzb2x2ZTogKCkgPT4gdm9pZFxuICAgIHJlamVjdDogKHJlYXNvbjogdW5rbm93bikgPT4gdm9pZFxuICB9XG4gIHByaXZhdGUgcGhhc2U/OiBQaGFzZVxuICBwcml2YXRlIHRlYXJpbmdEb3duID0gZmFsc2VcbiAgcHJpdmF0ZSByZWFkb25seSB3b3JrZXJzOiBTZXQ8TWFuYWdlZFdvcmtlcj4gPSBuZXcgU2V0KClcbiAgcHJpdmF0ZSByZWFkb25seSBydW5uaW5nOiBNYXA8TWFuYWdlZFdvcmtlciwgV29ya2VyQ29tbWFuZD4gPSBuZXcgTWFwKClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRlc3RSdW5TdGFydGVkSWQ6IHN0cmluZyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVudmlyb25tZW50OiBJUnVuRW52aXJvbm1lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IElMb2dnZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBldmVudEJyb2FkY2FzdGVyOiBFdmVudEVtaXR0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBJUnVuT3B0aW9uc1J1bnRpbWUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzbmlwcGV0T3B0aW9uczogUGljazxGb3JtYXRPcHRpb25zLCAnc25pcHBldEludGVyZmFjZScgfCAnc25pcHBldFN5bnRheCc+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VwcG9ydENvZGVMaWJyYXJ5OiBTdXBwb3J0Q29kZUxpYnJhcnlcbiAgKSB7fVxuXG4gIGFzeW5jIHNldHVwKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucmVhZGluZXNzID0geyByZXNvbHZlLCByZWplY3QgfVxuICAgICAgY29uc3QgdG90YWwgPSB0aGlzLm9wdGlvbnMucGFyYWxsZWxcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG90YWw7IGkrKykge1xuICAgICAgICBjb25zdCBpZCA9IGkudG9TdHJpbmcoKVxuICAgICAgICAvLyBzcGluIHVwIGEgZGVkaWNhdGVkIG1lc3NhZ2UgY2hhbm5lbCBmb3IgY29vcmRpbmF0b3Itd29ya2VyIGNvbW1zXG4gICAgICAgIGNvbnN0IHsgcG9ydDEsIHBvcnQyIH0gPSBuZXcgTWVzc2FnZUNoYW5uZWwoKVxuICAgICAgICBjb25zdCB3b3JrZXJUaHJlYWQgPSBuZXcgV29ya2VyKHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICd3b3JrZXIubWpzJyksIHtcbiAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZW52aXJvbm1lbnQuZW52LFxuICAgICAgICAgICAgQ1VDVU1CRVJfUEFSQUxMRUw6ICd0cnVlJyxcbiAgICAgICAgICAgIENVQ1VNQkVSX1RPVEFMX1dPUktFUlM6IHRvdGFsLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBDVUNVTUJFUl9XT1JLRVJfSUQ6IGlkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVzb3VyY2VMaW1pdHM6IHRoaXMub3B0aW9ucy53b3JrZXJPcHRpb25zPy5yZXNvdXJjZUxpbWl0cyxcbiAgICAgICAgICB3b3JrZXJEYXRhOiB7XG4gICAgICAgICAgICBjd2Q6IHRoaXMuZW52aXJvbm1lbnQuY3dkLFxuICAgICAgICAgICAgdGVzdFJ1blN0YXJ0ZWRJZDogdGhpcy50ZXN0UnVuU3RhcnRlZElkLFxuICAgICAgICAgICAgc3VwcG9ydENvZGVDb29yZGluYXRlczogdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkub3JpZ2luYWxDb29yZGluYXRlcyxcbiAgICAgICAgICAgIHN1cHBvcnRDb2RlSWRzOiB7XG4gICAgICAgICAgICAgIHN0ZXBEZWZpbml0aW9uSWRzOiB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5zdGVwRGVmaW5pdGlvbnMubWFwKChzKSA9PiBzLmlkKSxcbiAgICAgICAgICAgICAgYmVmb3JlVGVzdENhc2VIb29rRGVmaW5pdGlvbklkczpcbiAgICAgICAgICAgICAgICB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5iZWZvcmVUZXN0Q2FzZUhvb2tEZWZpbml0aW9ucy5tYXAoKGgpID0+IGguaWQpLFxuICAgICAgICAgICAgICBhZnRlclRlc3RDYXNlSG9va0RlZmluaXRpb25JZHM6XG4gICAgICAgICAgICAgICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkuYWZ0ZXJUZXN0Q2FzZUhvb2tEZWZpbml0aW9ucy5tYXAoKGgpID0+IGguaWQpLFxuICAgICAgICAgICAgICBiZWZvcmVUZXN0UnVuSG9va0RlZmluaXRpb25JZHM6XG4gICAgICAgICAgICAgICAgdGhpcy5zdXBwb3J0Q29kZUxpYnJhcnkuYmVmb3JlVGVzdFJ1bkhvb2tEZWZpbml0aW9ucy5tYXAoKGgpID0+IGguaWQpLFxuICAgICAgICAgICAgICBhZnRlclRlc3RSdW5Ib29rRGVmaW5pdGlvbklkczpcbiAgICAgICAgICAgICAgICB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5hZnRlclRlc3RSdW5Ib29rRGVmaW5pdGlvbnMubWFwKChoKSA9PiBoLmlkKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnMsXG4gICAgICAgICAgICBzbmlwcGV0T3B0aW9uczogdGhpcy5zbmlwcGV0T3B0aW9ucyxcbiAgICAgICAgICAgIHBvcnQ6IHBvcnQyLFxuICAgICAgICAgIH0gc2F0aXNmaWVzIFdvcmtlckRhdGEsXG4gICAgICAgICAgdHJhbnNmZXJMaXN0OiBbcG9ydDJdLFxuICAgICAgICB9KVxuICAgICAgICBjb25zdCB3b3JrZXIgPSB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgd29ya2VyVGhyZWFkLFxuICAgICAgICAgIHBvcnQ6IHBvcnQxLFxuICAgICAgICAgIHJlYWR5OiBmYWxzZSxcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndvcmtlcnMuYWRkKHdvcmtlcilcbiAgICAgICAgcG9ydDEub24oJ21lc3NhZ2UnLCAoZXZlbnQ6IFdvcmtlckV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVFdmVudEZyb21Xb3JrZXIod29ya2VyLCBldmVudClcbiAgICAgICAgfSlcbiAgICAgICAgd29ya2VyVGhyZWFkLm9uKCdlcnJvcicsIChlcnJvcikgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3JGcm9tV29ya2VyKGVycm9yLCB3b3JrZXIpXG4gICAgICAgIH0pXG4gICAgICAgIHdvcmtlclRocmVhZC5vbignZXhpdCcsIChleGl0Q29kZSkgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlRXhpdEZyb21Xb3JrZXIoZXhpdENvZGUsIHdvcmtlcilcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICAgIGRlbGV0ZSB0aGlzLnJlYWRpbmVzc1xuICB9XG5cbiAgYXN5bmMgcnVuQmVmb3JlQWxsSG9va3MoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMucGhhc2UgPSBuZXcgVGVzdFJ1bkhvb2tzUGhhc2UocmVzb2x2ZSwgcmVqZWN0LCAnQkVGT1JFQUxMX0hPT0tTJylcbiAgICAgIHRoaXMuc3RhcnRQaGFzZSgpXG4gICAgfSlcbiAgICBkZWxldGUgdGhpcy5waGFzZVxuICAgIHJldHVybiBzdWNjZXNzXG4gIH1cblxuICBhc3luYyBydW5UZXN0Q2FzZXMoYXNzZW1ibGVkVGVzdENhc2VzOiBSZWFkb25seUFycmF5PEFzc2VtYmxlZFRlc3RDYXNlPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCBuZXcgUHJvbWlzZTxib29sZWFuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLnBoYXNlID0gbmV3IFRlc3RDYXNlc1BoYXNlKFxuICAgICAgICByZXNvbHZlLFxuICAgICAgICByZWplY3QsXG4gICAgICAgIHRoaXMubG9nZ2VyLFxuICAgICAgICB0aGlzLnN1cHBvcnRDb2RlTGlicmFyeS5wYXJhbGxlbENhbkFzc2lnbixcbiAgICAgICAgYXNzZW1ibGVkVGVzdENhc2VzXG4gICAgICApXG4gICAgICB0aGlzLnN0YXJ0UGhhc2UoKVxuICAgIH0pXG4gICAgZGVsZXRlIHRoaXMucGhhc2VcbiAgICByZXR1cm4gc3VjY2Vzc1xuICB9XG5cbiAgYXN5bmMgcnVuQWZ0ZXJBbGxIb29rcygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgbmV3IFByb21pc2U8Ym9vbGVhbj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5waGFzZSA9IG5ldyBUZXN0UnVuSG9va3NQaGFzZShyZXNvbHZlLCByZWplY3QsICdBRlRFUkFMTF9IT09LUycpXG4gICAgICB0aGlzLnN0YXJ0UGhhc2UoKVxuICAgIH0pXG4gICAgZGVsZXRlIHRoaXMucGhhc2VcbiAgICByZXR1cm4gc3VjY2Vzc1xuICB9XG5cbiAgYXN5bmMgdGVhcmRvd24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy50ZWFyaW5nRG93biA9IHRydWVcbiAgICBmb3IgKGNvbnN0IHdvcmtlciBvZiB0aGlzLndvcmtlcnMudmFsdWVzKCkpIHtcbiAgICAgIGF3YWl0IHdvcmtlci53b3JrZXJUaHJlYWQudGVybWluYXRlKClcbiAgICAgIC8vIGNsb3NlIG91ciBlbmQgb2YgdGhlIGNoYW5uZWwgc28gaXQgc3RvcHMga2VlcGluZyB0aGUgbG9vcCBhbGl2ZVxuICAgICAgd29ya2VyLnBvcnQuY2xvc2UoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRQaGFzZSgpIHtcbiAgICBmb3IgKGNvbnN0IHdvcmtlciBvZiB0aGlzLndvcmtlcnMpIHtcbiAgICAgIGNvbnN0IGNvbW1hbmQgPSB0aGlzLnBoYXNlLmZpbGwoKVxuICAgICAgaWYgKGNvbW1hbmQpIHtcbiAgICAgICAgdGhpcy5pc3N1ZUNvbW1hbmRUb1dvcmtlcih3b3JrZXIsIGNvbW1hbmQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc3N1ZUNvbW1hbmRUb1dvcmtlcih3b3JrZXI6IE1hbmFnZWRXb3JrZXIsIGNvbW1hbmQ6IFdvcmtlckNvbW1hbmQpIHtcbiAgICB0aGlzLnJ1bm5pbmcuc2V0KHdvcmtlciwgY29tbWFuZClcbiAgICB3b3JrZXIucG9ydC5wb3N0TWVzc2FnZShjb21tYW5kKVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFdmVudEZyb21Xb3JrZXIod29ya2VyOiBNYW5hZ2VkV29ya2VyLCBldmVudDogV29ya2VyRXZlbnQpIHtcbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgJ1JFQURZJzpcbiAgICAgICAgd29ya2VyLnJlYWR5ID0gdHJ1ZVxuICAgICAgICBpZiAoWy4uLnRoaXMud29ya2Vyc10uZXZlcnkoKG13KSA9PiBtdy5yZWFkeSkpIHtcbiAgICAgICAgICB0aGlzLnJlYWRpbmVzcz8ucmVzb2x2ZSgpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ0VOVkVMT1BFJzpcbiAgICAgICAgdGhpcy5ldmVudEJyb2FkY2FzdGVyLmVtaXQoJ2VudmVsb3BlJywgZXZlbnQuZW52ZWxvcGUpXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdGSU5JU0hFRCc6IHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNDb21tYW5kID0gdGhpcy5ydW5uaW5nLmdldCh3b3JrZXIpXG4gICAgICAgIHRoaXMucnVubmluZy5kZWxldGUod29ya2VyKVxuICAgICAgICBjb25zdCBuZXh0Q29tbWFuZCA9IHRoaXMucGhhc2U/Lm5leHQocHJldmlvdXNDb21tYW5kLCBldmVudClcbiAgICAgICAgaWYgKG5leHRDb21tYW5kKSB7XG4gICAgICAgICAgdGhpcy5pc3N1ZUNvbW1hbmRUb1dvcmtlcih3b3JrZXIsIG5leHRDb21tYW5kKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFcnJvckZyb21Xb3JrZXIoZXJyb3I6IEVycm9yLCB3b3JrZXI6IE1hbmFnZWRXb3JrZXIpIHtcbiAgICB0aGlzLmZhaWwobmV3IEVycm9yKGBFcnJvciBvbiB3b3JrZXIgJHt3b3JrZXIuaWR9YCwgeyBjYXVzZTogZXJyb3IgfSkpXG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUV4aXRGcm9tV29ya2VyKGV4aXRDb2RlOiBudW1iZXIsIHdvcmtlcjogTWFuYWdlZFdvcmtlcikge1xuICAgIGlmICghdGhpcy50ZWFyaW5nRG93bikge1xuICAgICAgdGhpcy5mYWlsKG5ldyBFcnJvcihgV29ya2VyICR7d29ya2VyLmlkfSBleGl0ZWQgdW5leHBlY3RlZGx5IHdpdGggY29kZSAke2V4aXRDb2RlfWApKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmFpbChyZWFzb246IEVycm9yKSB7XG4gICAgdGhpcy5yZWFkaW5lc3M/LnJlamVjdChyZWFzb24pXG4gICAgdGhpcy5waGFzZT8ucmVqZWN0KHJlYXNvbilcbiAgICB2b2lkIHRoaXMudGVhcmRvd24oKVxuICB9XG59XG4iXX0=
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type PickleStep, type TestStepResult } from '@cucumber/messages';
|
|
2
2
|
import type { IDefinition } from '../models/definition';
|
|
3
3
|
import type { ITestCaseHookParameter } from '../support_code_library_builder/types';
|
|
4
4
|
export interface IRunOptions {
|
|
5
5
|
defaultTimeout: number;
|
|
6
6
|
filterStackTraces: boolean;
|
|
7
7
|
hookParameter: ITestCaseHookParameter;
|
|
8
|
-
step:
|
|
8
|
+
step: PickleStep;
|
|
9
9
|
stepDefinition: IDefinition;
|
|
10
10
|
world: any;
|
|
11
11
|
}
|
|
12
12
|
export interface RunStepResult {
|
|
13
|
-
result:
|
|
13
|
+
result: TestStepResult;
|
|
14
14
|
error?: any;
|
|
15
15
|
}
|
|
16
16
|
export declare function run({ defaultTimeout, filterStackTraces, hookParameter, step, stepDefinition, world, }: IRunOptions): Promise<RunStepResult>;
|
|
@@ -1,43 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
4
|
};
|
|
38
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
6
|
exports.run = run;
|
|
40
|
-
const
|
|
7
|
+
const messages_1 = require("@cucumber/messages");
|
|
41
8
|
const user_code_runner_1 = __importDefault(require("../user_code_runner"));
|
|
42
9
|
const value_checker_1 = require("../value_checker");
|
|
43
10
|
const format_error_1 = require("./format_error");
|
|
@@ -78,16 +45,16 @@ async function run({ defaultTimeout, filterStackTraces, hookParameter, step, ste
|
|
|
78
45
|
let status;
|
|
79
46
|
let details = {};
|
|
80
47
|
if (result === 'skipped') {
|
|
81
|
-
status =
|
|
48
|
+
status = messages_1.TestStepResultStatus.SKIPPED;
|
|
82
49
|
}
|
|
83
50
|
else if (result === 'pending') {
|
|
84
|
-
status =
|
|
51
|
+
status = messages_1.TestStepResultStatus.PENDING;
|
|
85
52
|
}
|
|
86
53
|
else if ((0, value_checker_1.doesHaveValue)(error)) {
|
|
87
|
-
status =
|
|
54
|
+
status = messages_1.TestStepResultStatus.FAILED;
|
|
88
55
|
}
|
|
89
56
|
else {
|
|
90
|
-
status =
|
|
57
|
+
status = messages_1.TestStepResultStatus.PASSED;
|
|
91
58
|
}
|
|
92
59
|
if ((0, value_checker_1.doesHaveValue)(error)) {
|
|
93
60
|
details = (0, format_error_1.formatError)(error, filterStackTraces);
|
|
@@ -102,4 +69,4 @@ async function run({ defaultTimeout, filterStackTraces, hookParameter, step, ste
|
|
|
102
69
|
};
|
|
103
70
|
}
|
|
104
71
|
exports.default = { run };
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcF9ydW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVudGltZS9zdGVwX3J1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXVCQSxrQkFtRUM7QUExRkQsaURBQStGO0FBRy9GLDJFQUFnRDtBQUNoRCxvREFBa0Y7QUFDbEYsaURBQTRDO0FBQzVDLG1DQUE0QztBQUM1QywyQ0FBb0M7QUFnQjdCLEtBQUssVUFBVSxHQUFHLENBQUMsRUFDeEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsSUFBSSxFQUNKLGNBQWMsRUFDZCxLQUFLLEdBQ087SUFDWixNQUFNLFNBQVMsR0FBRyxJQUFBLGtCQUFNLEdBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUNsQyxJQUFJLEtBQVUsRUFBRSxNQUFXLEVBQUUsY0FBMEMsQ0FBQTtJQUV2RSxJQUFJLENBQUM7UUFDSCxNQUFNLElBQUEsMEJBQWtCLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3QyxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQUMsdUJBQXVCLENBQUM7Z0JBQzVELGFBQWE7Z0JBQ2IsSUFBSTtnQkFDSixLQUFLO2FBQ04sQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLEtBQUssR0FBRyxHQUFHLENBQUE7SUFDYixDQUFDO0lBRUQsSUFBSSxJQUFBLGdDQUFnQixFQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFjLEVBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFFNUYsSUFBSSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6RSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsMEJBQWtCLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUMxRCwwQkFBYyxDQUFDLEdBQUcsQ0FBQztnQkFDakIsU0FBUyxFQUFFLGNBQWMsQ0FBQyxVQUFVO2dCQUNwQyxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUk7Z0JBQ3ZCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLHFCQUFxQjthQUN0QixDQUFDLENBQ0gsQ0FBQTtZQUNELEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1lBQ2xCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFBO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxHQUFHLGNBQWMsQ0FBQywyQkFBMkIsRUFBRSxDQUFBO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzVDLElBQUksTUFBNEIsQ0FBQTtJQUNoQyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDaEIsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDekIsTUFBTSxHQUFHLCtCQUFvQixDQUFDLE9BQU8sQ0FBQTtJQUN2QyxDQUFDO1NBQU0sSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxHQUFHLCtCQUFvQixDQUFDLE9BQU8sQ0FBQTtJQUN2QyxDQUFDO1NBQU0sSUFBSSxJQUFBLDZCQUFhLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLEdBQUcsK0JBQW9CLENBQUMsTUFBTSxDQUFBO0lBQ3RDLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxHQUFHLCtCQUFvQixDQUFDLE1BQU0sQ0FBQTtJQUN0QyxDQUFDO0lBRUQsSUFBSSxJQUFBLDZCQUFhLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLEdBQUcsSUFBQSwwQkFBVyxFQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxFQUFFO1lBQ04sUUFBUTtZQUNSLE1BQU07WUFDTixHQUFHLE9BQU87U0FDWDtRQUNELEtBQUs7S0FDTixDQUFBO0FBQ0gsQ0FBQztBQUVELGtCQUFlLEVBQUUsR0FBRyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIFBpY2tsZVN0ZXAsIHR5cGUgVGVzdFN0ZXBSZXN1bHQsIFRlc3RTdGVwUmVzdWx0U3RhdHVzIH0gZnJvbSAnQGN1Y3VtYmVyL21lc3NhZ2VzJ1xuaW1wb3J0IHR5cGUgeyBJRGVmaW5pdGlvbiwgSUdldEludm9jYXRpb25EYXRhUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbHMvZGVmaW5pdGlvbidcbmltcG9ydCB0eXBlIHsgSVRlc3RDYXNlSG9va1BhcmFtZXRlciB9IGZyb20gJy4uL3N1cHBvcnRfY29kZV9saWJyYXJ5X2J1aWxkZXIvdHlwZXMnXG5pbXBvcnQgVXNlckNvZGVSdW5uZXIgZnJvbSAnLi4vdXNlcl9jb2RlX3J1bm5lcidcbmltcG9ydCB7IGRvZXNIYXZlVmFsdWUsIGRvZXNOb3RIYXZlVmFsdWUsIHZhbHVlT3JEZWZhdWx0IH0gZnJvbSAnLi4vdmFsdWVfY2hlY2tlcidcbmltcG9ydCB7IGZvcm1hdEVycm9yIH0gZnJvbSAnLi9mb3JtYXRfZXJyb3InXG5pbXBvcnQgeyBydW5JblRlc3RDYXNlU2NvcGUgfSBmcm9tICcuL3Njb3BlJ1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnLi9zdG9wd2F0Y2gnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJ1bk9wdGlvbnMge1xuICBkZWZhdWx0VGltZW91dDogbnVtYmVyXG4gIGZpbHRlclN0YWNrVHJhY2VzOiBib29sZWFuXG4gIGhvb2tQYXJhbWV0ZXI6IElUZXN0Q2FzZUhvb2tQYXJhbWV0ZXJcbiAgc3RlcDogUGlja2xlU3RlcFxuICBzdGVwRGVmaW5pdGlvbjogSURlZmluaXRpb25cbiAgd29ybGQ6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1blN0ZXBSZXN1bHQge1xuICByZXN1bHQ6IFRlc3RTdGVwUmVzdWx0XG4gIGVycm9yPzogYW55XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW4oe1xuICBkZWZhdWx0VGltZW91dCxcbiAgZmlsdGVyU3RhY2tUcmFjZXMsXG4gIGhvb2tQYXJhbWV0ZXIsXG4gIHN0ZXAsXG4gIHN0ZXBEZWZpbml0aW9uLFxuICB3b3JsZCxcbn06IElSdW5PcHRpb25zKTogUHJvbWlzZTxSdW5TdGVwUmVzdWx0PiB7XG4gIGNvbnN0IHN0b3B3YXRjaCA9IGNyZWF0ZSgpLnN0YXJ0KClcbiAgbGV0IGVycm9yOiBhbnksIHJlc3VsdDogYW55LCBpbnZvY2F0aW9uRGF0YTogSUdldEludm9jYXRpb25EYXRhUmVzcG9uc2VcblxuICB0cnkge1xuICAgIGF3YWl0IHJ1bkluVGVzdENhc2VTY29wZSh7IHdvcmxkIH0sIGFzeW5jICgpID0+IHtcbiAgICAgIGludm9jYXRpb25EYXRhID0gYXdhaXQgc3RlcERlZmluaXRpb24uZ2V0SW52b2NhdGlvblBhcmFtZXRlcnMoe1xuICAgICAgICBob29rUGFyYW1ldGVyLFxuICAgICAgICBzdGVwLFxuICAgICAgICB3b3JsZCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgZXJyb3IgPSBlcnJcbiAgfVxuXG4gIGlmIChkb2VzTm90SGF2ZVZhbHVlKGVycm9yKSkge1xuICAgIGNvbnN0IHRpbWVvdXRJbk1pbGxpc2Vjb25kcyA9IHZhbHVlT3JEZWZhdWx0KHN0ZXBEZWZpbml0aW9uLm9wdGlvbnMudGltZW91dCwgZGVmYXVsdFRpbWVvdXQpXG5cbiAgICBpZiAoaW52b2NhdGlvbkRhdGEudmFsaWRDb2RlTGVuZ3Rocy5pbmNsdWRlcyhzdGVwRGVmaW5pdGlvbi5jb2RlLmxlbmd0aCkpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBydW5JblRlc3RDYXNlU2NvcGUoeyB3b3JsZCB9LCBhc3luYyAoKSA9PlxuICAgICAgICBVc2VyQ29kZVJ1bm5lci5ydW4oe1xuICAgICAgICAgIGFyZ3NBcnJheTogaW52b2NhdGlvbkRhdGEucGFyYW1ldGVycyxcbiAgICAgICAgICBmbjogc3RlcERlZmluaXRpb24uY29kZSxcbiAgICAgICAgICB0aGlzQXJnOiB3b3JsZCxcbiAgICAgICAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHMsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBlcnJvciA9IGRhdGEuZXJyb3JcbiAgICAgIHJlc3VsdCA9IGRhdGEucmVzdWx0XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yID0gaW52b2NhdGlvbkRhdGEuZ2V0SW52YWxpZENvZGVMZW5ndGhNZXNzYWdlKClcbiAgICB9XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IHN0b3B3YXRjaC5zdG9wKCkuZHVyYXRpb24oKVxuICBsZXQgc3RhdHVzOiBUZXN0U3RlcFJlc3VsdFN0YXR1c1xuICBsZXQgZGV0YWlscyA9IHt9XG4gIGlmIChyZXN1bHQgPT09ICdza2lwcGVkJykge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlNLSVBQRURcbiAgfSBlbHNlIGlmIChyZXN1bHQgPT09ICdwZW5kaW5nJykge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBFTkRJTkdcbiAgfSBlbHNlIGlmIChkb2VzSGF2ZVZhbHVlKGVycm9yKSkge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLkZBSUxFRFxuICB9IGVsc2Uge1xuICAgIHN0YXR1cyA9IFRlc3RTdGVwUmVzdWx0U3RhdHVzLlBBU1NFRFxuICB9XG5cbiAgaWYgKGRvZXNIYXZlVmFsdWUoZXJyb3IpKSB7XG4gICAgZGV0YWlscyA9IGZvcm1hdEVycm9yKGVycm9yLCBmaWx0ZXJTdGFja1RyYWNlcylcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVzdWx0OiB7XG4gICAgICBkdXJhdGlvbixcbiAgICAgIHN0YXR1cyxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgfSxcbiAgICBlcnJvcixcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7IHJ1biB9XG4iXX0=
|