datagrok-tools 4.13.31 → 4.13.34
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/CHANGELOG.md +20 -0
- package/bin/commands/create.js +1 -0
- package/bin/commands/help.js +3 -5
- package/bin/commands/publish.js +254 -157
- package/bin/commands/test-all.js +75 -347
- package/bin/commands/test.js +100 -239
- package/bin/grok.js +0 -1
- package/bin/utils/test-utils.js +357 -4
- package/package-template/CHANGELOG.md +3 -0
- package/package-template/package-lock.json +4194 -0
- package/package-template/package.json +1 -1
- package/package-template/src/global.d.ts +13 -0
- package/package-template/src/package-test.ts +2 -1
- package/package-template/src/package.g.ts +0 -0
- package/package-template/src/package.js +0 -4
- package/package.json +3 -2
- package/bin/commands/publish-all.js +0 -47
package/bin/commands/test-all.js
CHANGED
|
@@ -11,12 +11,10 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _fs = _interopRequireDefault(require("fs"));
|
|
12
12
|
var _os = _interopRequireDefault(require("os"));
|
|
13
13
|
var _path = _interopRequireDefault(require("path"));
|
|
14
|
-
var _puppeteer = _interopRequireDefault(require("puppeteer"));
|
|
15
|
-
var _puppeteerScreenRecorder = require("puppeteer-screen-recorder");
|
|
16
14
|
var _jsYaml = _interopRequireDefault(require("js-yaml"));
|
|
17
15
|
var utils = _interopRequireWildcard(require("../utils/utils"));
|
|
18
|
-
var
|
|
19
|
-
var testUtils =
|
|
16
|
+
var _testUtils = _interopRequireWildcard(require("../utils/test-utils"));
|
|
17
|
+
var testUtils = _testUtils;
|
|
20
18
|
var _orderFunctions = require("../utils/order-functions");
|
|
21
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
@@ -55,7 +53,6 @@ var curDir = process.cwd();
|
|
|
55
53
|
var grokDir = _path["default"].join(_os["default"].homedir(), '.grok');
|
|
56
54
|
var confPath = _path["default"].join(grokDir, 'config.yaml');
|
|
57
55
|
var csvReportDir = _path["default"].join(curDir, 'test-report.csv');
|
|
58
|
-
var testCollectionTimeout = 100000;
|
|
59
56
|
var testInvocationTimeout = 7200000;
|
|
60
57
|
var orderingFunctions = new Map([[order.random, _orderFunctions.setRandomOrder], [order.alphabetical, _orderFunctions.setAlphabeticalOrder], [order.packageRandom, _orderFunctions.setPackageRandomOrder], [order.packageAlphabetical, _orderFunctions.setPackageAlphabeticalOrder]]);
|
|
61
58
|
var workersStarted = 0;
|
|
@@ -78,7 +75,7 @@ function _testAll() {
|
|
|
78
75
|
case 4:
|
|
79
76
|
packagesToRun = _context.sent;
|
|
80
77
|
_context.next = 7;
|
|
81
|
-
return loadTestsList(packagesToRun, args.core);
|
|
78
|
+
return (0, _testUtils.loadTestsList)(packagesToRun, args.core);
|
|
82
79
|
case 7:
|
|
83
80
|
testsObj = _context.sent;
|
|
84
81
|
_context.next = 10;
|
|
@@ -106,7 +103,7 @@ function _testAll() {
|
|
|
106
103
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
107
104
|
result = _step.value;
|
|
108
105
|
console.log("\nWorker #".concat(i++, " "));
|
|
109
|
-
printWorkersResult(result, args.verbose);
|
|
106
|
+
(0, _testUtils.printWorkersResult)(result, args.verbose);
|
|
110
107
|
}
|
|
111
108
|
} catch (err) {
|
|
112
109
|
_iterator.e(err);
|
|
@@ -114,9 +111,9 @@ function _testAll() {
|
|
|
114
111
|
_iterator.f();
|
|
115
112
|
}
|
|
116
113
|
if (args.csv) {
|
|
117
|
-
saveCsvResults(testsResults.map(function (result) {
|
|
114
|
+
(0, _testUtils.saveCsvResults)(testsResults.map(function (result) {
|
|
118
115
|
return result.csv;
|
|
119
|
-
}));
|
|
116
|
+
}), csvReportDir);
|
|
120
117
|
}
|
|
121
118
|
return _context.abrupt("return", !testsResults.map(function (test) {
|
|
122
119
|
return test.failed;
|
|
@@ -131,182 +128,52 @@ function _testAll() {
|
|
|
131
128
|
}));
|
|
132
129
|
return _testAll.apply(this, arguments);
|
|
133
130
|
}
|
|
134
|
-
function
|
|
135
|
-
return _loadTestsList.apply(this, arguments);
|
|
136
|
-
}
|
|
137
|
-
function _loadTestsList() {
|
|
138
|
-
_loadTestsList = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(packages) {
|
|
139
|
-
var core,
|
|
140
|
-
packageTestsData,
|
|
141
|
-
testsList,
|
|
142
|
-
_iterator2,
|
|
143
|
-
_step2,
|
|
144
|
-
testPackage,
|
|
145
|
-
key,
|
|
146
|
-
_iterator3,
|
|
147
|
-
_step3,
|
|
148
|
-
testValue,
|
|
149
|
-
_args3 = arguments;
|
|
150
|
-
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
151
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
152
|
-
case 0:
|
|
153
|
-
core = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
|
|
154
|
-
_context3.next = 3;
|
|
155
|
-
return testUtils.timeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
156
|
-
var params, out, browser, page, r;
|
|
157
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
158
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
159
|
-
case 0:
|
|
160
|
-
params = Object.assign({}, testUtils.defaultLaunchParameters); // params['headless'] = false;
|
|
161
|
-
_context2.next = 3;
|
|
162
|
-
return testUtils.getBrowserPage(_puppeteer["default"], params);
|
|
163
|
-
case 3:
|
|
164
|
-
out = _context2.sent;
|
|
165
|
-
browser = out.browser;
|
|
166
|
-
page = out.page;
|
|
167
|
-
_context2.next = 8;
|
|
168
|
-
return page.evaluate(function (packages, coreTests) {
|
|
169
|
-
return new Promise(function (resolve, reject) {
|
|
170
|
-
var promises = [];
|
|
171
|
-
try {
|
|
172
|
-
packages.map(function (packageName) {
|
|
173
|
-
var _DG$Func$find$;
|
|
174
|
-
var p = (_DG$Func$find$ = window.DG.Func.find({
|
|
175
|
-
"package": packageName,
|
|
176
|
-
name: 'test'
|
|
177
|
-
})[0]) === null || _DG$Func$find$ === void 0 ? void 0 : _DG$Func$find$["package"];
|
|
178
|
-
if (p) {
|
|
179
|
-
try {
|
|
180
|
-
promises.push(p.getTests(coreTests)["catch"](function (e) {
|
|
181
|
-
console.error('something else went wrong with collecting package tests');
|
|
182
|
-
console.error(e === null || e === void 0 ? void 0 : e.message);
|
|
183
|
-
}).then(function (ts) {
|
|
184
|
-
return {
|
|
185
|
-
packageName: packageName,
|
|
186
|
-
tests: ts
|
|
187
|
-
};
|
|
188
|
-
}));
|
|
189
|
-
} catch (e) {
|
|
190
|
-
console.error('something went wrong while adding test collection promise');
|
|
191
|
-
console.error(e.message);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
} catch (err) {
|
|
196
|
-
console.error("Error during evaluation in browser context:", err);
|
|
197
|
-
reject();
|
|
198
|
-
}
|
|
199
|
-
Promise.all(promises).then(function (results) {
|
|
200
|
-
resolve(results);
|
|
201
|
-
})["catch"](function (e) {
|
|
202
|
-
var stack = window.DG.Logger.translateStackTrace(e.stack).then(function () {
|
|
203
|
-
resolve({
|
|
204
|
-
failReport: "".concat(e.message, "\n").concat(stack)
|
|
205
|
-
});
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
});
|
|
209
|
-
}, packages, core);
|
|
210
|
-
case 8:
|
|
211
|
-
r = _context2.sent;
|
|
212
|
-
if (!(browser != null)) {
|
|
213
|
-
_context2.next = 12;
|
|
214
|
-
break;
|
|
215
|
-
}
|
|
216
|
-
_context2.next = 12;
|
|
217
|
-
return browser.close();
|
|
218
|
-
case 12:
|
|
219
|
-
return _context2.abrupt("return", r);
|
|
220
|
-
case 13:
|
|
221
|
-
case "end":
|
|
222
|
-
return _context2.stop();
|
|
223
|
-
}
|
|
224
|
-
}, _callee2);
|
|
225
|
-
})), testCollectionTimeout);
|
|
226
|
-
case 3:
|
|
227
|
-
packageTestsData = _context3.sent;
|
|
228
|
-
testsList = [];
|
|
229
|
-
_iterator2 = _createForOfIteratorHelper(packageTestsData);
|
|
230
|
-
try {
|
|
231
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
232
|
-
testPackage = _step2.value;
|
|
233
|
-
for (key in testPackage.tests) {
|
|
234
|
-
if (testPackage.tests.hasOwnProperty(key)) {
|
|
235
|
-
_iterator3 = _createForOfIteratorHelper(testPackage.tests[key].tests);
|
|
236
|
-
try {
|
|
237
|
-
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
238
|
-
testValue = _step3.value;
|
|
239
|
-
testValue.packageName = testPackage.packageName;
|
|
240
|
-
testsList.push(testValue);
|
|
241
|
-
}
|
|
242
|
-
} catch (err) {
|
|
243
|
-
_iterator3.e(err);
|
|
244
|
-
} finally {
|
|
245
|
-
_iterator3.f();
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
} catch (err) {
|
|
251
|
-
_iterator2.e(err);
|
|
252
|
-
} finally {
|
|
253
|
-
_iterator2.f();
|
|
254
|
-
}
|
|
255
|
-
return _context3.abrupt("return", testsList);
|
|
256
|
-
case 8:
|
|
257
|
-
case "end":
|
|
258
|
-
return _context3.stop();
|
|
259
|
-
}
|
|
260
|
-
}, _callee3);
|
|
261
|
-
}));
|
|
262
|
-
return _loadTestsList.apply(this, arguments);
|
|
263
|
-
}
|
|
264
|
-
function filterTests(_x3, _x4) {
|
|
131
|
+
function filterTests(_x2, _x3) {
|
|
265
132
|
return _filterTests.apply(this, arguments);
|
|
266
133
|
}
|
|
267
134
|
function _filterTests() {
|
|
268
|
-
_filterTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
135
|
+
_filterTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(tests, tags) {
|
|
269
136
|
var stressTest,
|
|
270
137
|
benchmark,
|
|
271
138
|
filteredTests,
|
|
272
139
|
stressTestValue,
|
|
273
140
|
benchmarkValue,
|
|
274
|
-
|
|
275
|
-
|
|
141
|
+
_iterator2,
|
|
142
|
+
_step2,
|
|
276
143
|
_loop,
|
|
277
144
|
_ret,
|
|
278
|
-
|
|
279
|
-
return _regenerator["default"].wrap(function
|
|
280
|
-
while (1) switch (
|
|
145
|
+
_args3 = arguments;
|
|
146
|
+
return _regenerator["default"].wrap(function _callee2$(_context3) {
|
|
147
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
281
148
|
case 0:
|
|
282
|
-
stressTest =
|
|
283
|
-
benchmark =
|
|
149
|
+
stressTest = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
|
|
150
|
+
benchmark = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : false;
|
|
284
151
|
filteredTests = [];
|
|
285
152
|
stressTestValue = tags.includes("stress-test") || stressTest;
|
|
286
153
|
benchmarkValue = benchmark;
|
|
287
154
|
tags = tags.filter(function (tag) {
|
|
288
155
|
return tag !== "stress-test" && tag != "";
|
|
289
156
|
});
|
|
290
|
-
|
|
291
|
-
|
|
157
|
+
_iterator2 = _createForOfIteratorHelper(tests);
|
|
158
|
+
_context3.prev = 7;
|
|
292
159
|
_loop = /*#__PURE__*/_regenerator["default"].mark(function _loop() {
|
|
293
160
|
var _test$options, _test$options2, _test$options3, _tags;
|
|
294
161
|
var test, hasMatchingTags;
|
|
295
|
-
return _regenerator["default"].wrap(function _loop$(
|
|
296
|
-
while (1) switch (
|
|
162
|
+
return _regenerator["default"].wrap(function _loop$(_context2) {
|
|
163
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
297
164
|
case 0:
|
|
298
|
-
test =
|
|
165
|
+
test = _step2.value;
|
|
299
166
|
if (!(benchmarkValue && ((_test$options = test.options) === null || _test$options === void 0 ? void 0 : _test$options.benchmark) !== true)) {
|
|
300
|
-
|
|
167
|
+
_context2.next = 3;
|
|
301
168
|
break;
|
|
302
169
|
}
|
|
303
|
-
return
|
|
170
|
+
return _context2.abrupt("return", 0);
|
|
304
171
|
case 3:
|
|
305
172
|
if (!(stressTestValue && ((_test$options2 = test.options) === null || _test$options2 === void 0 ? void 0 : _test$options2.stressTest) !== true && !((_test$options3 = test.options) !== null && _test$options3 !== void 0 && (_test$options3 = _test$options3.tags) !== null && _test$options3 !== void 0 && _test$options3.includes("stressTest")))) {
|
|
306
|
-
|
|
173
|
+
_context2.next = 5;
|
|
307
174
|
break;
|
|
308
175
|
}
|
|
309
|
-
return
|
|
176
|
+
return _context2.abrupt("return", 0);
|
|
310
177
|
case 5:
|
|
311
178
|
hasMatchingTags = tags.some(function (tag) {
|
|
312
179
|
var _test$options4;
|
|
@@ -315,100 +182,100 @@ function _filterTests() {
|
|
|
315
182
|
if (hasMatchingTags || ((_tags = tags) === null || _tags === void 0 ? void 0 : _tags.length) === 0) filteredTests.push(test);
|
|
316
183
|
case 7:
|
|
317
184
|
case "end":
|
|
318
|
-
return
|
|
185
|
+
return _context2.stop();
|
|
319
186
|
}
|
|
320
187
|
}, _loop);
|
|
321
188
|
});
|
|
322
|
-
|
|
189
|
+
_iterator2.s();
|
|
323
190
|
case 10:
|
|
324
|
-
if ((
|
|
325
|
-
|
|
191
|
+
if ((_step2 = _iterator2.n()).done) {
|
|
192
|
+
_context3.next = 17;
|
|
326
193
|
break;
|
|
327
194
|
}
|
|
328
|
-
return
|
|
195
|
+
return _context3.delegateYield(_loop(), "t0", 12);
|
|
329
196
|
case 12:
|
|
330
|
-
_ret =
|
|
197
|
+
_ret = _context3.t0;
|
|
331
198
|
if (!(_ret === 0)) {
|
|
332
|
-
|
|
199
|
+
_context3.next = 15;
|
|
333
200
|
break;
|
|
334
201
|
}
|
|
335
|
-
return
|
|
202
|
+
return _context3.abrupt("continue", 15);
|
|
336
203
|
case 15:
|
|
337
|
-
|
|
204
|
+
_context3.next = 10;
|
|
338
205
|
break;
|
|
339
206
|
case 17:
|
|
340
|
-
|
|
207
|
+
_context3.next = 22;
|
|
341
208
|
break;
|
|
342
209
|
case 19:
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
210
|
+
_context3.prev = 19;
|
|
211
|
+
_context3.t1 = _context3["catch"](7);
|
|
212
|
+
_iterator2.e(_context3.t1);
|
|
346
213
|
case 22:
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
return
|
|
214
|
+
_context3.prev = 22;
|
|
215
|
+
_iterator2.f();
|
|
216
|
+
return _context3.finish(22);
|
|
350
217
|
case 25:
|
|
351
|
-
return
|
|
218
|
+
return _context3.abrupt("return", filteredTests);
|
|
352
219
|
case 26:
|
|
353
220
|
case "end":
|
|
354
|
-
return
|
|
221
|
+
return _context3.stop();
|
|
355
222
|
}
|
|
356
|
-
},
|
|
223
|
+
}, _callee2, null, [[7, 19, 22, 25]]);
|
|
357
224
|
}));
|
|
358
225
|
return _filterTests.apply(this, arguments);
|
|
359
226
|
}
|
|
360
|
-
function setWorkersOrder(
|
|
227
|
+
function setWorkersOrder(_x4) {
|
|
361
228
|
return _setWorkersOrder.apply(this, arguments);
|
|
362
229
|
}
|
|
363
230
|
function _setWorkersOrder() {
|
|
364
|
-
_setWorkersOrder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
231
|
+
_setWorkersOrder = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(tests) {
|
|
365
232
|
var invocationOrder,
|
|
366
233
|
countOfWorkers,
|
|
367
234
|
testRepeats,
|
|
368
235
|
resultOrder,
|
|
369
236
|
orderingFunction,
|
|
370
|
-
|
|
371
|
-
return _regenerator["default"].wrap(function
|
|
372
|
-
while (1) switch (
|
|
237
|
+
_args4 = arguments;
|
|
238
|
+
return _regenerator["default"].wrap(function _callee3$(_context4) {
|
|
239
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
373
240
|
case 0:
|
|
374
|
-
invocationOrder =
|
|
375
|
-
countOfWorkers =
|
|
376
|
-
testRepeats =
|
|
241
|
+
invocationOrder = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : 0;
|
|
242
|
+
countOfWorkers = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : 1;
|
|
243
|
+
testRepeats = _args4.length > 3 && _args4[3] !== undefined ? _args4[3] : 1;
|
|
377
244
|
resultOrder = [];
|
|
378
245
|
orderingFunction = orderingFunctions.get(invocationOrder);
|
|
379
246
|
if (!(orderingFunction !== undefined)) {
|
|
380
|
-
|
|
247
|
+
_context4.next = 9;
|
|
381
248
|
break;
|
|
382
249
|
}
|
|
383
250
|
resultOrder = orderingFunction(tests, countOfWorkers, testRepeats);
|
|
384
|
-
|
|
251
|
+
_context4.next = 10;
|
|
385
252
|
break;
|
|
386
253
|
case 9:
|
|
387
254
|
throw new Error("Cannot find ordering function");
|
|
388
255
|
case 10:
|
|
389
|
-
return
|
|
256
|
+
return _context4.abrupt("return", resultOrder);
|
|
390
257
|
case 11:
|
|
391
258
|
case "end":
|
|
392
|
-
return
|
|
259
|
+
return _context4.stop();
|
|
393
260
|
}
|
|
394
|
-
},
|
|
261
|
+
}, _callee3);
|
|
395
262
|
}));
|
|
396
263
|
return _setWorkersOrder.apply(this, arguments);
|
|
397
264
|
}
|
|
398
|
-
function runTests(
|
|
265
|
+
function runTests(_x5, _x6) {
|
|
399
266
|
return _runTests.apply(this, arguments);
|
|
400
267
|
}
|
|
401
268
|
function _runTests() {
|
|
402
|
-
_runTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function
|
|
403
|
-
var workersCommands,
|
|
404
|
-
return _regenerator["default"].wrap(function
|
|
405
|
-
while (1) switch (
|
|
269
|
+
_runTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(workersOrder, workerOptions) {
|
|
270
|
+
var workersCommands, _iterator3, _step3, workerOrder, workersPromises, _i, _workersCommands, workerCommands, resultObjects;
|
|
271
|
+
return _regenerator["default"].wrap(function _callee4$(_context5) {
|
|
272
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
406
273
|
case 0:
|
|
407
274
|
workersCommands = [];
|
|
408
|
-
|
|
275
|
+
_iterator3 = _createForOfIteratorHelper(workersOrder);
|
|
409
276
|
try {
|
|
410
|
-
for (
|
|
411
|
-
workerOrder =
|
|
277
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
278
|
+
workerOrder = _step3.value;
|
|
412
279
|
workersCommands.push(workerOrder.map(function (testObj) {
|
|
413
280
|
return {
|
|
414
281
|
"package": testObj.packageName,
|
|
@@ -424,175 +291,36 @@ function _runTests() {
|
|
|
424
291
|
}));
|
|
425
292
|
}
|
|
426
293
|
} catch (err) {
|
|
427
|
-
|
|
294
|
+
_iterator3.e(err);
|
|
428
295
|
} finally {
|
|
429
|
-
|
|
296
|
+
_iterator3.f();
|
|
430
297
|
}
|
|
431
298
|
workersPromises = [];
|
|
432
299
|
_i = 0, _workersCommands = workersCommands;
|
|
433
300
|
case 5:
|
|
434
301
|
if (!(_i < _workersCommands.length)) {
|
|
435
|
-
|
|
302
|
+
_context5.next = 13;
|
|
436
303
|
break;
|
|
437
304
|
}
|
|
438
305
|
workerCommands = _workersCommands[_i];
|
|
439
|
-
workersPromises.push(runWorker(workerCommands, workerOptions));
|
|
440
|
-
|
|
306
|
+
workersPromises.push((0, _testUtils.runWorker)(workerCommands, workerOptions, workersStarted++, testInvocationTimeout));
|
|
307
|
+
_context5.next = 10;
|
|
441
308
|
return workersPromises[workersPromises.length];
|
|
442
309
|
case 10:
|
|
443
310
|
_i++;
|
|
444
|
-
|
|
311
|
+
_context5.next = 5;
|
|
445
312
|
break;
|
|
446
313
|
case 13:
|
|
447
|
-
|
|
314
|
+
_context5.next = 15;
|
|
448
315
|
return Promise.all(workersPromises);
|
|
449
316
|
case 15:
|
|
450
|
-
resultObjects =
|
|
451
|
-
return
|
|
317
|
+
resultObjects = _context5.sent;
|
|
318
|
+
return _context5.abrupt("return", resultObjects);
|
|
452
319
|
case 17:
|
|
453
320
|
case "end":
|
|
454
|
-
return
|
|
321
|
+
return _context5.stop();
|
|
455
322
|
}
|
|
456
|
-
},
|
|
323
|
+
}, _callee4);
|
|
457
324
|
}));
|
|
458
325
|
return _runTests.apply(this, arguments);
|
|
459
|
-
}
|
|
460
|
-
function runWorker(_x8, _x9) {
|
|
461
|
-
return _runWorker.apply(this, arguments);
|
|
462
|
-
}
|
|
463
|
-
function _runWorker() {
|
|
464
|
-
_runWorker = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(testExecutionData, workerOptions) {
|
|
465
|
-
return _regenerator["default"].wrap(function _callee8$(_context9) {
|
|
466
|
-
while (1) switch (_context9.prev = _context9.next) {
|
|
467
|
-
case 0:
|
|
468
|
-
_context9.next = 2;
|
|
469
|
-
return testUtils.timeout( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7() {
|
|
470
|
-
var params, out, browser, page, recorder, currentWorkerNum, logsDir, recordDir, testingResults;
|
|
471
|
-
return _regenerator["default"].wrap(function _callee7$(_context8) {
|
|
472
|
-
while (1) switch (_context8.prev = _context8.next) {
|
|
473
|
-
case 0:
|
|
474
|
-
params = Object.assign({}, testUtils.defaultLaunchParameters);
|
|
475
|
-
if (workerOptions.gui) params['headless'] = false;
|
|
476
|
-
_context8.next = 4;
|
|
477
|
-
return testUtils.getBrowserPage(_puppeteer["default"], params);
|
|
478
|
-
case 4:
|
|
479
|
-
out = _context8.sent;
|
|
480
|
-
browser = out.browser;
|
|
481
|
-
page = out.page;
|
|
482
|
-
recorder = new _puppeteerScreenRecorder.PuppeteerScreenRecorder(page, testUtils.recorderConfig);
|
|
483
|
-
currentWorkerNum = workersStarted++;
|
|
484
|
-
logsDir = "./test-console-output-".concat(currentWorkerNum, ".log");
|
|
485
|
-
recordDir = "./test-record-".concat(currentWorkerNum, ".mp4");
|
|
486
|
-
if (!workerOptions.record) {
|
|
487
|
-
_context8.next = 20;
|
|
488
|
-
break;
|
|
489
|
-
}
|
|
490
|
-
_context8.next = 14;
|
|
491
|
-
return recorder.start(recordDir);
|
|
492
|
-
case 14:
|
|
493
|
-
_context8.next = 16;
|
|
494
|
-
return page.exposeFunction("addLogsToFile", addLogsToFile);
|
|
495
|
-
case 16:
|
|
496
|
-
_fs["default"].writeFileSync(logsDir, "");
|
|
497
|
-
page.on('console', function (msg) {
|
|
498
|
-
addLogsToFile(logsDir, "CONSOLE LOG ENTRY: ".concat(msg.text(), "\n"));
|
|
499
|
-
});
|
|
500
|
-
page.on('pageerror', function (error) {
|
|
501
|
-
addLogsToFile(logsDir, "CONSOLE LOG ERROR: ".concat(error.message, "\n"));
|
|
502
|
-
});
|
|
503
|
-
page.on('response', function (response) {
|
|
504
|
-
addLogsToFile(logsDir, "CONSOLE LOG REQUEST: ".concat(response.status(), ", ").concat(response.url(), "\n"));
|
|
505
|
-
});
|
|
506
|
-
case 20:
|
|
507
|
-
_context8.next = 22;
|
|
508
|
-
return page.evaluate(function (testData, options) {
|
|
509
|
-
if (options.benchmark) window.DG.Test.isInBenchmark = true;
|
|
510
|
-
return new Promise(function (resolve, reject) {
|
|
511
|
-
window.DG.Utils.executeTests(testData).then(function (results) {
|
|
512
|
-
resolve(results);
|
|
513
|
-
})["catch"](function (e) {
|
|
514
|
-
resolve({
|
|
515
|
-
failed: true,
|
|
516
|
-
verbosePassed: "",
|
|
517
|
-
verboseSkipped: "",
|
|
518
|
-
verboseFailed: "Tests execution failed",
|
|
519
|
-
passedAmount: 0,
|
|
520
|
-
skippedAmount: 0,
|
|
521
|
-
failedAmount: 1,
|
|
522
|
-
csv: "",
|
|
523
|
-
df: undefined
|
|
524
|
-
});
|
|
525
|
-
});
|
|
526
|
-
});
|
|
527
|
-
}, testExecutionData, workerOptions);
|
|
528
|
-
case 22:
|
|
529
|
-
testingResults = _context8.sent;
|
|
530
|
-
if (!workerOptions.record) {
|
|
531
|
-
_context8.next = 26;
|
|
532
|
-
break;
|
|
533
|
-
}
|
|
534
|
-
_context8.next = 26;
|
|
535
|
-
return recorder.stop();
|
|
536
|
-
case 26:
|
|
537
|
-
if (!(browser != null)) {
|
|
538
|
-
_context8.next = 29;
|
|
539
|
-
break;
|
|
540
|
-
}
|
|
541
|
-
_context8.next = 29;
|
|
542
|
-
return browser.close();
|
|
543
|
-
case 29:
|
|
544
|
-
return _context8.abrupt("return", testingResults);
|
|
545
|
-
case 30:
|
|
546
|
-
case "end":
|
|
547
|
-
return _context8.stop();
|
|
548
|
-
}
|
|
549
|
-
}, _callee7);
|
|
550
|
-
})), testInvocationTimeout);
|
|
551
|
-
case 2:
|
|
552
|
-
return _context9.abrupt("return", _context9.sent);
|
|
553
|
-
case 3:
|
|
554
|
-
case "end":
|
|
555
|
-
return _context9.stop();
|
|
556
|
-
}
|
|
557
|
-
}, _callee8);
|
|
558
|
-
}));
|
|
559
|
-
return _runWorker.apply(this, arguments);
|
|
560
|
-
}
|
|
561
|
-
function addLogsToFile(filePath, stringToSave) {
|
|
562
|
-
_fs["default"].appendFileSync(filePath, "".concat(stringToSave));
|
|
563
|
-
}
|
|
564
|
-
function printWorkersResult(workerResult) {
|
|
565
|
-
var _workerResult$failedA, _workerResult$verbose3;
|
|
566
|
-
var verbose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
567
|
-
if (verbose) {
|
|
568
|
-
var _workerResult$passedA, _workerResult$verbose, _workerResult$skipped, _workerResult$verbose2;
|
|
569
|
-
if (((_workerResult$passedA = workerResult.passedAmount) !== null && _workerResult$passedA !== void 0 ? _workerResult$passedA : 0) > 0 && ((_workerResult$verbose = workerResult.verbosePassed) !== null && _workerResult$verbose !== void 0 ? _workerResult$verbose : []).length > 0) {
|
|
570
|
-
console.log("Passed: ");
|
|
571
|
-
console.log(workerResult.verbosePassed);
|
|
572
|
-
}
|
|
573
|
-
if (((_workerResult$skipped = workerResult.skippedAmount) !== null && _workerResult$skipped !== void 0 ? _workerResult$skipped : 0) > 0 && ((_workerResult$verbose2 = workerResult.verboseSkipped) !== null && _workerResult$verbose2 !== void 0 ? _workerResult$verbose2 : []).length > 0) {
|
|
574
|
-
console.log("Skipped: ");
|
|
575
|
-
console.log(workerResult.verboseSkipped);
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
if (((_workerResult$failedA = workerResult.failedAmount) !== null && _workerResult$failedA !== void 0 ? _workerResult$failedA : 0) > 0 && ((_workerResult$verbose3 = workerResult.verboseFailed) !== null && _workerResult$verbose3 !== void 0 ? _workerResult$verbose3 : []).length > 0) {
|
|
579
|
-
console.log("Failed: ");
|
|
580
|
-
console.log(workerResult.verboseFailed);
|
|
581
|
-
}
|
|
582
|
-
console.log("Passed amount: " + (workerResult === null || workerResult === void 0 ? void 0 : workerResult.passedAmount));
|
|
583
|
-
console.log("Skipped amount: " + (workerResult === null || workerResult === void 0 ? void 0 : workerResult.skippedAmount));
|
|
584
|
-
console.log("Failed amount: " + (workerResult === null || workerResult === void 0 ? void 0 : workerResult.failedAmount));
|
|
585
|
-
if (workerResult.failed) {
|
|
586
|
-
color.fail('Tests failed.');
|
|
587
|
-
} else {
|
|
588
|
-
color.success('Tests passed.');
|
|
589
|
-
}
|
|
590
|
-
}
|
|
591
|
-
function saveCsvResults(stringToSave) {
|
|
592
|
-
var modifiedStrings = stringToSave.map(function (str, index) {
|
|
593
|
-
if (index === 0) return str;
|
|
594
|
-
return str.split('\n').slice(1).join('\n');
|
|
595
|
-
});
|
|
596
|
-
_fs["default"].writeFileSync(csvReportDir, modifiedStrings.join('\n'), 'utf8');
|
|
597
|
-
color.info('Saved `test-report.csv`\n');
|
|
598
326
|
}
|