datagrok-tools 4.14.63 → 4.14.65

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.
@@ -60,7 +60,10 @@ async function testAll(args) {
60
60
  }));
61
61
  utils.setHost(args.host, config);
62
62
  let packagesToRun = await testUtils.loadPackages(curDir, args.packages, args.host, args['skip-publish'], args['skip-build']);
63
- let testsObj = await (0, _testUtils.loadTestsList)(packagesToRun, args.core);
63
+ console.log('Loading tests');
64
+ let start = Date.now();
65
+ let testsObj = await (0, _testUtils.loadTestsList)(packagesToRun, args.core ?? false, args.record ?? false);
66
+ console.log(`Loaded tests in ${Date.now() - start} ms`);
64
67
  let filteredTests = await filterTests(testsObj, (args.tags ?? "").split(" "), args['stress-test'], args.benchmark);
65
68
  let browsersOrder = await setBrowsersOrder(filteredTests, getEnumOrder(args.order ?? ''), args['browsers-count'], args.testRepeat);
66
69
  let testsResults = await runTests(browsersOrder, {
@@ -184,10 +184,10 @@ const recorderConfig = exports.recorderConfig = {
184
184
  async function loadPackages(packagesDir, packagesToLoad, host, skipPublish, skipBuild, linkPackage, release) {
185
185
  const packagesToRun = new Map();
186
186
  const hostString = host === undefined ? `` : `${host}`;
187
- if (packagesToLoad !== 'all') {
188
- for (const pacakgeName of (packagesToLoad ?? '').split(' ')) {
189
- if ((pacakgeName ?? '').length !== 0) packagesToRun.set((0, _utils.spaceToCamelCase)(pacakgeName).toLocaleLowerCase(), false);
190
- }
187
+ if (packagesToLoad && packagesToLoad !== 'all') {
188
+ const packageNames = packagesToLoad.split(' ').map(p => p.trim()).filter(p => p.length > 0);
189
+ if (skipPublish && skipBuild && !linkPackage) return packageNames;
190
+ for (const name of packageNames) packagesToRun.set((0, _utils.spaceToCamelCase)(name).toLowerCase(), false);
191
191
  }
192
192
  for (const dirName of _fs.default.readdirSync(packagesDir)) {
193
193
  const packageDir = _path.default.join(packagesDir, dirName);
@@ -218,16 +218,33 @@ async function loadPackages(packagesDir, packagesToLoad, host, skipPublish, skip
218
218
  }
219
219
  }
220
220
  console.log();
221
- return Array.from(packagesToRun).filter(([key, value]) => value === true).map(([key]) => key);
222
- ;
221
+ return Array.from(packagesToRun).filter(([_, value]) => value).map(([key, _]) => key);
223
222
  }
224
- async function loadTestsList(packages, core = false) {
223
+ async function loadTestsList(packages, core = false, record = false) {
225
224
  const packageTestsData = await timeout(async () => {
226
225
  const params = Object.assign({}, defaultLaunchParameters);
227
- // params['headless'] = false;
228
226
  const out = await getBrowserPage(_puppeteer.default, params);
229
227
  const browser = out.browser;
230
228
  const page = out.page;
229
+ let recorder = null;
230
+ if (record) {
231
+ const suffix = process.env.BACKUP_SIZE && process.env.WORKER_ID && process.env.TOTAL_WORKERS ? `_${process.env.BACKUP_SIZE}_${process.env.WORKER_ID}_${process.env.TOTAL_WORKERS}` : '';
232
+ const logsDir = `./load-test-console-output${suffix}.log`;
233
+ const recordDir = `./load-test-record${suffix}.mp4`;
234
+ recorder = new _puppeteerScreenRecorder.PuppeteerScreenRecorder(page, recorderConfig);
235
+ await recorder.start(recordDir);
236
+ await page.exposeFunction('addLogsToFile', addLogsToFile);
237
+ _fs.default.writeFileSync(logsDir, ``);
238
+ page.on('console', msg => {
239
+ addLogsToFile(logsDir, `CONSOLE LOG ENTRY: ${msg.text()}\n`);
240
+ });
241
+ page.on('pageerror', error => {
242
+ addLogsToFile(logsDir, `CONSOLE LOG ERROR: ${error.message}\n`);
243
+ });
244
+ page.on('response', response => {
245
+ addLogsToFile(logsDir, `CONSOLE LOG REQUEST: ${response.status()}, ${response.url()}\n`);
246
+ });
247
+ }
231
248
  const r = await page.evaluate((packages, coreTests) => {
232
249
  return new Promise((resolve, reject) => {
233
250
  const promises = [];
@@ -268,7 +285,8 @@ async function loadTestsList(packages, core = false) {
268
285
  });
269
286
  });
270
287
  }, packages, core);
271
- if (browser != null) await browser.close();
288
+ await recorder?.stop();
289
+ await browser?.close();
272
290
  return r;
273
291
  }, testCollectionTimeout);
274
292
  const testsList = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datagrok-tools",
3
- "version": "4.14.63",
3
+ "version": "4.14.65",
4
4
  "description": "Utility to upload and publish packages to Datagrok",
5
5
  "homepage": "https://github.com/datagrok-ai/public/tree/master/tools#readme",
6
6
  "dependencies": {