datagrok-tools 4.13.58 → 4.13.60
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 +14 -0
- package/bin/commands/help.js +1 -1
- package/bin/commands/test-all.js +16 -40
- package/bin/commands/test.js +98 -40
- package/bin/utils/test-utils.js +36 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Datagrok-tools changelog
|
|
2
2
|
|
|
3
|
+
## 4.13.60 (2025-01-09)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* Updated console output for cases "Tests not found"
|
|
8
|
+
|
|
9
|
+
## 4.13.59 (2025-01-09)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* Benchmark testing fix
|
|
14
|
+
* Updated csv output result(it saves benchmark and stress data now)
|
|
15
|
+
|
|
16
|
+
|
|
3
17
|
## 4.13.58 (2025-01-09)
|
|
4
18
|
|
|
5
19
|
### Features
|
package/bin/commands/help.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.help = void 0;
|
|
7
|
-
var HELP = "\nUsage: grok <command>\n\nDatagrok's package management tool\n\nCommands:\n add Add an object template\n api Create wrapper functions\n check Check package content (function signatures, etc.)\n config Create and manage config files\n create Create a package\n init Modify a package template\n link Link `datagrok-api` and libraries for local development\n publish Upload a package\n test Run package tests\n
|
|
7
|
+
var HELP = "\nUsage: grok <command>\n\nDatagrok's package management tool\n\nCommands:\n add Add an object template\n api Create wrapper functions\n check Check package content (function signatures, etc.)\n config Create and manage config files\n create Create a package\n init Modify a package template\n link Link `datagrok-api` and libraries for local development\n publish Upload a package\n test Run package tests\n testall Run packages tests\n\nTo get help on a particular command, use:\n grok <command> --help\n\nRead more about the package development workflow:\nhttps://datagrok.ai/help/develop/develop\n";
|
|
8
8
|
var HELP_ADD = "\nUsage: grok add <entity> <name>\n\nAdd an object template to your package:\n\ngrok add app <name>\ngrok add connection <name>\ngrok add detector <semantic-type-name>\ngrok add function [tag] <name>\ngrok add query <name>\ngrok add script [tag] <language> <name>\ngrok add view <name>\ngrok add viewer <name>\ngrok add tests\n\nPlease note that entity names may only include letters and numbers\n\nSupported languages for scripts:\njavascript, julia, node, octave, python, r\n\nAvailable tags:\npanel, init\n";
|
|
9
9
|
var HELP_INIT = "\nUsage: grok init\n\nModify a package template by adding config files for linters, IDE, etc.\n\nOptions:\n[--eslint] [--ide] [--test] [--ts] [--git]\n\n--eslint Add a configuration for eslint\n--ide Add an IDE-specific configuration for debugging (vscode)\n--test Add tests support (TypeScript packages only)\n--ts Convert a JavaScript package to TypeScript\n--git Configure GIT and install commit linting tools.\n Read more: https://datagrok.ai/help/develop/advanced/git-policy\n";
|
|
10
10
|
var HELP_API = "\nUsage: grok api\n\nCreate wrapper functions for package scripts and queries\n";
|
package/bin/commands/test-all.js
CHANGED
|
@@ -16,7 +16,6 @@ var utils = _interopRequireWildcard(require("../utils/utils"));
|
|
|
16
16
|
var _testUtils = _interopRequireWildcard(require("../utils/test-utils"));
|
|
17
17
|
var testUtils = _testUtils;
|
|
18
18
|
var _orderFunctions = require("../utils/order-functions");
|
|
19
|
-
var Papa = _interopRequireWildcard(require("papaparse"));
|
|
20
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); }
|
|
21
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; }
|
|
22
21
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
@@ -66,7 +65,7 @@ function testAll(_x) {
|
|
|
66
65
|
}
|
|
67
66
|
function _testAll() {
|
|
68
67
|
_testAll = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(args) {
|
|
69
|
-
var _args$tags, _args$order, _args$benchmark, _args$catchUnhandled, _args$gui, _args$record, _args$report, _args$verbose;
|
|
68
|
+
var _args$tags, _args$order, _args$benchmark, _args$stressTest, _args$catchUnhandled, _args$gui, _args$record, _args$report, _args$verbose;
|
|
70
69
|
var config, packagesToRun, testsObj, filteredTests, browsersOrder, testsResults, i, _iterator, _step, result;
|
|
71
70
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
72
71
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -94,6 +93,7 @@ function _testAll() {
|
|
|
94
93
|
_context.next = 16;
|
|
95
94
|
return runTests(browsersOrder, {
|
|
96
95
|
benchmark: (_args$benchmark = args.benchmark) !== null && _args$benchmark !== void 0 ? _args$benchmark : false,
|
|
96
|
+
stressTest: (_args$stressTest = args['stress-test']) !== null && _args$stressTest !== void 0 ? _args$stressTest : false,
|
|
97
97
|
catchUnhandled: (_args$catchUnhandled = args.catchUnhandled) !== null && _args$catchUnhandled !== void 0 ? _args$catchUnhandled : false,
|
|
98
98
|
gui: (_args$gui = args.gui) !== null && _args$gui !== void 0 ? _args$gui : false,
|
|
99
99
|
record: (_args$record = args.record) !== null && _args$record !== void 0 ? _args$record : false,
|
|
@@ -272,7 +272,7 @@ function runTests(_x5, _x6) {
|
|
|
272
272
|
}
|
|
273
273
|
function _runTests() {
|
|
274
274
|
_runTests = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(browsersOrder, browserOptions) {
|
|
275
|
-
var browsersCommands, _iterator3, _step3, browserOrder, browsersPromises, _i, _browsersCommands, browserCommands, resultObjects, i;
|
|
275
|
+
var browsersCommands, _iterator3, _step3, browserOrder, browsersPromises, _i, _browsersCommands, browserCommands, resultObjects, i, _browserOptions$stres, _browserOptions$bench;
|
|
276
276
|
return _regenerator["default"].wrap(function _callee4$(_context5) {
|
|
277
277
|
while (1) switch (_context5.prev = _context5.next) {
|
|
278
278
|
case 0:
|
|
@@ -312,56 +312,32 @@ function _runTests() {
|
|
|
312
312
|
i = 0;
|
|
313
313
|
case 9:
|
|
314
314
|
if (!(i < resultObjects.length)) {
|
|
315
|
-
_context5.next =
|
|
315
|
+
_context5.next = 22;
|
|
316
316
|
break;
|
|
317
317
|
}
|
|
318
318
|
_context5.next = 12;
|
|
319
|
-
return
|
|
319
|
+
return (0, _testUtils.addColumnToCsv)(resultObjects[i].csv, "browser", i);
|
|
320
320
|
case 12:
|
|
321
321
|
resultObjects[i].csv = _context5.sent;
|
|
322
|
-
|
|
322
|
+
_context5.next = 15;
|
|
323
|
+
return (0, _testUtils.addColumnToCsv)(resultObjects[i].csv, "stress_test", (_browserOptions$stres = browserOptions.stressTest) !== null && _browserOptions$stres !== void 0 ? _browserOptions$stres : false);
|
|
324
|
+
case 15:
|
|
325
|
+
resultObjects[i].csv = _context5.sent;
|
|
326
|
+
_context5.next = 18;
|
|
327
|
+
return (0, _testUtils.addColumnToCsv)(resultObjects[i].csv, "benchmark", (_browserOptions$bench = browserOptions.benchmark) !== null && _browserOptions$bench !== void 0 ? _browserOptions$bench : false);
|
|
328
|
+
case 18:
|
|
329
|
+
resultObjects[i].csv = _context5.sent;
|
|
330
|
+
case 19:
|
|
323
331
|
i++;
|
|
324
332
|
_context5.next = 9;
|
|
325
333
|
break;
|
|
326
|
-
case
|
|
334
|
+
case 22:
|
|
327
335
|
return _context5.abrupt("return", resultObjects);
|
|
328
|
-
case
|
|
336
|
+
case 23:
|
|
329
337
|
case "end":
|
|
330
338
|
return _context5.stop();
|
|
331
339
|
}
|
|
332
340
|
}, _callee4);
|
|
333
341
|
}));
|
|
334
342
|
return _runTests.apply(this, arguments);
|
|
335
|
-
}
|
|
336
|
-
function addBrowserColumn(_x7, _x8) {
|
|
337
|
-
return _addBrowserColumn.apply(this, arguments);
|
|
338
|
-
}
|
|
339
|
-
function _addBrowserColumn() {
|
|
340
|
-
_addBrowserColumn = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(csv, workerNumber) {
|
|
341
|
-
var result;
|
|
342
|
-
return _regenerator["default"].wrap(function _callee5$(_context6) {
|
|
343
|
-
while (1) switch (_context6.prev = _context6.next) {
|
|
344
|
-
case 0:
|
|
345
|
-
result = "";
|
|
346
|
-
Papa.parse(csv, {
|
|
347
|
-
header: true,
|
|
348
|
-
skipEmptyLines: true,
|
|
349
|
-
complete: function complete(results) {
|
|
350
|
-
var dataWithDefaultColumn = results.data.map(function (row) {
|
|
351
|
-
row["browser"] = workerNumber;
|
|
352
|
-
return row;
|
|
353
|
-
});
|
|
354
|
-
result = Papa.unparse(dataWithDefaultColumn, {
|
|
355
|
-
header: true
|
|
356
|
-
});
|
|
357
|
-
}
|
|
358
|
-
});
|
|
359
|
-
return _context6.abrupt("return", result);
|
|
360
|
-
case 3:
|
|
361
|
-
case "end":
|
|
362
|
-
return _context6.stop();
|
|
363
|
-
}
|
|
364
|
-
}, _callee5);
|
|
365
|
-
}));
|
|
366
|
-
return _addBrowserColumn.apply(this, arguments);
|
|
367
343
|
}
|
package/bin/commands/test.js
CHANGED
|
@@ -68,7 +68,10 @@ function _test() {
|
|
|
68
68
|
res = _context.sent;
|
|
69
69
|
if (args.csv) (0, _testUtils.saveCsvResults)([res.csv], csvReportDir);
|
|
70
70
|
(0, _testUtils.printBrowsersResult)(res, args.verbose);
|
|
71
|
-
if (res.failed)
|
|
71
|
+
if (res.failed) {
|
|
72
|
+
if (res.verboseFailed === 'Package not found') testUtils.exitWithCode(0);
|
|
73
|
+
testUtils.exitWithCode(1);
|
|
74
|
+
} else testUtils.exitWithCode(0);
|
|
72
75
|
return _context.abrupt("return", true);
|
|
73
76
|
case 20:
|
|
74
77
|
case "end":
|
|
@@ -91,7 +94,7 @@ function runTesting(_x2) {
|
|
|
91
94
|
function _runTesting() {
|
|
92
95
|
_runTesting = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(args) {
|
|
93
96
|
var _process$env$TARGET_P, _args$category;
|
|
94
|
-
var testsObj, parsed, organized, filtered, categoryRegex,
|
|
97
|
+
var loadedTests, testsObj, _iterator, _step, element, parsed, organized, filtered, categoryRegex, _iterator2, _step2, _element, testsResults, r, browserId;
|
|
95
98
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
96
99
|
while (1) switch (_context3.prev = _context3.next) {
|
|
97
100
|
case 0:
|
|
@@ -99,10 +102,51 @@ function _runTesting() {
|
|
|
99
102
|
_context3.next = 3;
|
|
100
103
|
return (0, _testUtils.loadTestsList)([(_process$env$TARGET_P = process.env.TARGET_PACKAGE) !== null && _process$env$TARGET_P !== void 0 ? _process$env$TARGET_P : ''], args.core);
|
|
101
104
|
case 3:
|
|
102
|
-
|
|
105
|
+
loadedTests = _context3.sent;
|
|
106
|
+
testsObj = [];
|
|
107
|
+
if (!(args['stress-test'] || args.benchmark)) {
|
|
108
|
+
_context3.next = 26;
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
_iterator = _createForOfIteratorHelper(loadedTests);
|
|
112
|
+
_context3.prev = 7;
|
|
113
|
+
_iterator.s();
|
|
114
|
+
case 9:
|
|
115
|
+
if ((_step = _iterator.n()).done) {
|
|
116
|
+
_context3.next = 16;
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
element = _step.value;
|
|
120
|
+
if (!(args.benchmark && !element.options.benchmark || args['stress-test'] && !element.options.stressTest)) {
|
|
121
|
+
_context3.next = 13;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
return _context3.abrupt("continue", 14);
|
|
125
|
+
case 13:
|
|
126
|
+
testsObj.push(element);
|
|
127
|
+
case 14:
|
|
128
|
+
_context3.next = 9;
|
|
129
|
+
break;
|
|
130
|
+
case 16:
|
|
131
|
+
_context3.next = 21;
|
|
132
|
+
break;
|
|
133
|
+
case 18:
|
|
134
|
+
_context3.prev = 18;
|
|
135
|
+
_context3.t0 = _context3["catch"](7);
|
|
136
|
+
_iterator.e(_context3.t0);
|
|
137
|
+
case 21:
|
|
138
|
+
_context3.prev = 21;
|
|
139
|
+
_iterator.f();
|
|
140
|
+
return _context3.finish(21);
|
|
141
|
+
case 24:
|
|
142
|
+
_context3.next = 27;
|
|
143
|
+
break;
|
|
144
|
+
case 26:
|
|
145
|
+
testsObj = loadedTests;
|
|
146
|
+
case 27:
|
|
103
147
|
parsed = (0, _orderFunctions.setAlphabeticalOrder)(testsObj, 1, 1);
|
|
104
148
|
if (!(parsed.length == 0)) {
|
|
105
|
-
_context3.next =
|
|
149
|
+
_context3.next = 30;
|
|
106
150
|
break;
|
|
107
151
|
}
|
|
108
152
|
return _context3.abrupt("return", {
|
|
@@ -115,7 +159,7 @@ function _runTesting() {
|
|
|
115
159
|
failedAmount: 0,
|
|
116
160
|
csv: ''
|
|
117
161
|
});
|
|
118
|
-
case
|
|
162
|
+
case 30:
|
|
119
163
|
organized = parsed[0].map(function (testObj) {
|
|
120
164
|
return {
|
|
121
165
|
"package": testObj.packageName,
|
|
@@ -132,18 +176,18 @@ function _runTesting() {
|
|
|
132
176
|
filtered = [];
|
|
133
177
|
categoryRegex = new RegExp("".concat((_args$category = args.category) === null || _args$category === void 0 ? void 0 : _args$category.replaceAll(' ', ''), ".*"));
|
|
134
178
|
if (args.category) {
|
|
135
|
-
|
|
179
|
+
_iterator2 = _createForOfIteratorHelper(organized);
|
|
136
180
|
try {
|
|
137
|
-
for (
|
|
138
|
-
|
|
139
|
-
if (categoryRegex.test(
|
|
140
|
-
if (
|
|
181
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
182
|
+
_element = _step2.value;
|
|
183
|
+
if (categoryRegex.test(_element.params.category.replaceAll(' ', ''))) {
|
|
184
|
+
if (_element.params.test === args.test || !args.test) filtered.push(_element);
|
|
141
185
|
}
|
|
142
186
|
}
|
|
143
187
|
} catch (err) {
|
|
144
|
-
|
|
188
|
+
_iterator2.e(err);
|
|
145
189
|
} finally {
|
|
146
|
-
|
|
190
|
+
_iterator2.f();
|
|
147
191
|
}
|
|
148
192
|
organized = filtered;
|
|
149
193
|
}
|
|
@@ -154,15 +198,16 @@ function _runTesting() {
|
|
|
154
198
|
color.info('Starting tests...');
|
|
155
199
|
testsResults = [];
|
|
156
200
|
browserId = 1;
|
|
157
|
-
_context3.next =
|
|
201
|
+
_context3.next = 40;
|
|
158
202
|
return (0, _testUtils.timeout)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
159
|
-
var _args$benchmark, _args$catchUnhandled, _args$gui, _args$record, _args$report, _args$verbose, _args$ciCd, testsLeft, testsToReproduce,
|
|
203
|
+
var _args$benchmark, _args$stressTest, _args$catchUnhandled, _args$gui, _args$record, _args$report, _args$verbose, _args$ciCd, _args$stressTest2, _args$benchmark2, testsLeft, testsToReproduce, _iterator3, _step3, testData, reproduced, _iterator4, _step4, _test2, _reproducedTest2;
|
|
160
204
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
161
205
|
while (1) switch (_context2.prev = _context2.next) {
|
|
162
206
|
case 0:
|
|
163
207
|
_context2.next = 2;
|
|
164
208
|
return (0, _testUtils.runBrowser)(organized, {
|
|
165
209
|
benchmark: (_args$benchmark = args.benchmark) !== null && _args$benchmark !== void 0 ? _args$benchmark : false,
|
|
210
|
+
stressTest: (_args$stressTest = args['stress-test']) !== null && _args$stressTest !== void 0 ? _args$stressTest : false,
|
|
166
211
|
catchUnhandled: (_args$catchUnhandled = args.catchUnhandled) !== null && _args$catchUnhandled !== void 0 ? _args$catchUnhandled : false,
|
|
167
212
|
gui: (_args$gui = args.gui) !== null && _args$gui !== void 0 ? _args$gui : false,
|
|
168
213
|
record: (_args$record = args.record) !== null && _args$record !== void 0 ? _args$record : false,
|
|
@@ -175,19 +220,19 @@ function _runTesting() {
|
|
|
175
220
|
r = _context2.sent;
|
|
176
221
|
testsLeft = [];
|
|
177
222
|
testsToReproduce = [];
|
|
178
|
-
|
|
223
|
+
_iterator3 = _createForOfIteratorHelper(organized);
|
|
179
224
|
try {
|
|
180
|
-
for (
|
|
181
|
-
testData =
|
|
225
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
226
|
+
testData = _step3.value;
|
|
182
227
|
if (!r.verbosePassed.includes("".concat(testData.params.category, ": ").concat(testData.params.test)) && !r.verboseSkipped.includes("".concat(testData.params.category, ": ").concat(testData.params.test)) && !r.verboseFailed.includes("".concat(testData.params.category, ": ").concat(testData.params.test)) && !new RegExp("".concat(testData.params.category.trim(), "[^\\n]*: (before|after)")).test(r.verboseFailed)) testsLeft.push(testData);
|
|
183
228
|
if (r.verboseFailed.includes("".concat(testData.params.category, ": ").concat(testData.params.test, " : Error:"))) {
|
|
184
229
|
testsToReproduce.push(testData);
|
|
185
230
|
}
|
|
186
231
|
}
|
|
187
232
|
} catch (err) {
|
|
188
|
-
|
|
233
|
+
_iterator3.e(err);
|
|
189
234
|
} finally {
|
|
190
|
-
|
|
235
|
+
_iterator3.f();
|
|
191
236
|
}
|
|
192
237
|
if (!(testsToReproduce.length > 0)) {
|
|
193
238
|
_context2.next = 31;
|
|
@@ -197,15 +242,15 @@ function _runTesting() {
|
|
|
197
242
|
return reproducedTest(args, testsToReproduce);
|
|
198
243
|
case 10:
|
|
199
244
|
reproduced = _context2.sent;
|
|
200
|
-
|
|
245
|
+
_iterator4 = _createForOfIteratorHelper(testsToReproduce);
|
|
201
246
|
_context2.prev = 12;
|
|
202
|
-
|
|
247
|
+
_iterator4.s();
|
|
203
248
|
case 14:
|
|
204
|
-
if ((
|
|
249
|
+
if ((_step4 = _iterator4.n()).done) {
|
|
205
250
|
_context2.next = 23;
|
|
206
251
|
break;
|
|
207
252
|
}
|
|
208
|
-
_test2 =
|
|
253
|
+
_test2 = _step4.value;
|
|
209
254
|
_reproducedTest2 = reproduced.get(_test2);
|
|
210
255
|
if (!(_reproducedTest2 && !_reproducedTest2.failed)) {
|
|
211
256
|
_context2.next = 21;
|
|
@@ -224,36 +269,49 @@ function _runTesting() {
|
|
|
224
269
|
case 25:
|
|
225
270
|
_context2.prev = 25;
|
|
226
271
|
_context2.t0 = _context2["catch"](12);
|
|
227
|
-
|
|
272
|
+
_iterator4.e(_context2.t0);
|
|
228
273
|
case 28:
|
|
229
274
|
_context2.prev = 28;
|
|
230
|
-
|
|
275
|
+
_iterator4.f();
|
|
231
276
|
return _context2.finish(28);
|
|
232
277
|
case 31:
|
|
278
|
+
_context2.next = 33;
|
|
279
|
+
return (0, _testUtils.addColumnToCsv)(r.csv, "stress_test", (_args$stressTest2 = args['stress-test']) !== null && _args$stressTest2 !== void 0 ? _args$stressTest2 : false);
|
|
280
|
+
case 33:
|
|
281
|
+
r.csv = _context2.sent;
|
|
282
|
+
_context2.next = 36;
|
|
283
|
+
return (0, _testUtils.addColumnToCsv)(r.csv, "benchmark", (_args$benchmark2 = args.benchmark) !== null && _args$benchmark2 !== void 0 ? _args$benchmark2 : false);
|
|
284
|
+
case 36:
|
|
285
|
+
r.csv = _context2.sent;
|
|
233
286
|
testsResults.push(r);
|
|
234
287
|
organized = testsLeft;
|
|
235
288
|
browserId++;
|
|
236
|
-
|
|
289
|
+
if (!(r.verboseFailed === 'Tests execution failed')) {
|
|
290
|
+
_context2.next = 42;
|
|
291
|
+
break;
|
|
292
|
+
}
|
|
293
|
+
return _context2.abrupt("break", 43);
|
|
294
|
+
case 42:
|
|
237
295
|
if (r.failed) {
|
|
238
296
|
_context2.next = 0;
|
|
239
297
|
break;
|
|
240
298
|
}
|
|
241
|
-
case
|
|
299
|
+
case 43:
|
|
242
300
|
case "end":
|
|
243
301
|
return _context2.stop();
|
|
244
302
|
}
|
|
245
303
|
}, _callee2, null, [[12, 25, 28, 31]]);
|
|
246
304
|
})), testInvocationTimeout);
|
|
247
|
-
case
|
|
248
|
-
_context3.next =
|
|
305
|
+
case 40:
|
|
306
|
+
_context3.next = 42;
|
|
249
307
|
return (0, _testUtils.mergeBrowsersResults)(testsResults);
|
|
250
|
-
case
|
|
308
|
+
case 42:
|
|
251
309
|
return _context3.abrupt("return", _context3.sent);
|
|
252
|
-
case
|
|
310
|
+
case 43:
|
|
253
311
|
case "end":
|
|
254
312
|
return _context3.stop();
|
|
255
313
|
}
|
|
256
|
-
}, _callee3);
|
|
314
|
+
}, _callee3, null, [[7, 18, 21, 24]]);
|
|
257
315
|
}));
|
|
258
316
|
return _runTesting.apply(this, arguments);
|
|
259
317
|
}
|
|
@@ -262,23 +320,23 @@ function reproducedTest(_x3, _x4) {
|
|
|
262
320
|
}
|
|
263
321
|
function _reproducedTest() {
|
|
264
322
|
_reproducedTest = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(args, testsToReproduce) {
|
|
265
|
-
var res,
|
|
323
|
+
var res, _iterator5, _step5, _args$benchmark3, _args$ciCd2, _test3, r;
|
|
266
324
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
267
325
|
while (1) switch (_context4.prev = _context4.next) {
|
|
268
326
|
case 0:
|
|
269
327
|
res = new Map();
|
|
270
|
-
|
|
328
|
+
_iterator5 = _createForOfIteratorHelper(testsToReproduce);
|
|
271
329
|
_context4.prev = 2;
|
|
272
|
-
|
|
330
|
+
_iterator5.s();
|
|
273
331
|
case 4:
|
|
274
|
-
if ((
|
|
332
|
+
if ((_step5 = _iterator5.n()).done) {
|
|
275
333
|
_context4.next = 12;
|
|
276
334
|
break;
|
|
277
335
|
}
|
|
278
|
-
_test3 =
|
|
336
|
+
_test3 = _step5.value;
|
|
279
337
|
_context4.next = 8;
|
|
280
338
|
return (0, _testUtils.runBrowser)([_test3], {
|
|
281
|
-
benchmark: (_args$
|
|
339
|
+
benchmark: (_args$benchmark3 = args.benchmark) !== null && _args$benchmark3 !== void 0 ? _args$benchmark3 : false,
|
|
282
340
|
catchUnhandled: false,
|
|
283
341
|
gui: false,
|
|
284
342
|
record: false,
|
|
@@ -300,10 +358,10 @@ function _reproducedTest() {
|
|
|
300
358
|
case 14:
|
|
301
359
|
_context4.prev = 14;
|
|
302
360
|
_context4.t0 = _context4["catch"](2);
|
|
303
|
-
|
|
361
|
+
_iterator5.e(_context4.t0);
|
|
304
362
|
case 17:
|
|
305
363
|
_context4.prev = 17;
|
|
306
|
-
|
|
364
|
+
_iterator5.f();
|
|
307
365
|
return _context4.finish(17);
|
|
308
366
|
case 20:
|
|
309
367
|
return _context4.abrupt("return", res);
|
package/bin/utils/test-utils.js
CHANGED
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.TestContext = void 0;
|
|
9
|
+
exports.addColumnToCsv = addColumnToCsv;
|
|
9
10
|
exports.addLogsToFile = addLogsToFile;
|
|
10
11
|
exports.defaultLaunchParameters = void 0;
|
|
11
12
|
exports.exitWithCode = exitWithCode;
|
|
@@ -38,6 +39,7 @@ var utils = _utils;
|
|
|
38
39
|
var _puppeteerScreenRecorder = require("puppeteer-screen-recorder");
|
|
39
40
|
var _puppeteer = _interopRequireDefault(require("puppeteer"));
|
|
40
41
|
var color = _interopRequireWildcard(require("../utils/color-utils"));
|
|
42
|
+
var _papaparse = _interopRequireDefault(require("papaparse"));
|
|
41
43
|
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); }
|
|
42
44
|
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; }
|
|
43
45
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
@@ -597,7 +599,7 @@ function printBrowsersResult(browserResult) {
|
|
|
597
599
|
console.log("Skipped amount: " + (browserResult === null || browserResult === void 0 ? void 0 : browserResult.skippedAmount));
|
|
598
600
|
console.log("Failed amount: " + (browserResult === null || browserResult === void 0 ? void 0 : browserResult.failedAmount));
|
|
599
601
|
if (browserResult.failed) {
|
|
600
|
-
color.fail('Tests failed.');
|
|
602
|
+
if (browserResult.verboseFailed === 'Package not found') color.fail('Tests not found');else color.fail('Tests failed.');
|
|
601
603
|
} else {
|
|
602
604
|
color.success('Tests passed.');
|
|
603
605
|
}
|
|
@@ -791,4 +793,36 @@ var TestContext = exports.TestContext = /*#__PURE__*/(0, _createClass2["default"
|
|
|
791
793
|
(0, _defineProperty2["default"])(this, "report", false);
|
|
792
794
|
if (catchUnhandled !== undefined) this.catchUnhandled = catchUnhandled;
|
|
793
795
|
if (report !== undefined) this.report = report;
|
|
794
|
-
});
|
|
796
|
+
});
|
|
797
|
+
function addColumnToCsv(_x22, _x23, _x24) {
|
|
798
|
+
return _addColumnToCsv.apply(this, arguments);
|
|
799
|
+
}
|
|
800
|
+
function _addColumnToCsv() {
|
|
801
|
+
_addColumnToCsv = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee12(csv, columnName, defaultValue) {
|
|
802
|
+
var result;
|
|
803
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
804
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
805
|
+
case 0:
|
|
806
|
+
result = csv;
|
|
807
|
+
_papaparse["default"].parse(csv, {
|
|
808
|
+
header: true,
|
|
809
|
+
skipEmptyLines: true,
|
|
810
|
+
complete: function complete(results) {
|
|
811
|
+
var dataWithDefaultColumn = results.data.map(function (row) {
|
|
812
|
+
row[columnName] = defaultValue;
|
|
813
|
+
return row;
|
|
814
|
+
});
|
|
815
|
+
result = _papaparse["default"].unparse(dataWithDefaultColumn, {
|
|
816
|
+
header: true
|
|
817
|
+
});
|
|
818
|
+
}
|
|
819
|
+
});
|
|
820
|
+
return _context12.abrupt("return", result);
|
|
821
|
+
case 3:
|
|
822
|
+
case "end":
|
|
823
|
+
return _context12.stop();
|
|
824
|
+
}
|
|
825
|
+
}, _callee12);
|
|
826
|
+
}));
|
|
827
|
+
return _addColumnToCsv.apply(this, arguments);
|
|
828
|
+
}
|
package/package.json
CHANGED