@brillout/test-e2e 0.4.7 → 0.4.9

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/dist/setup.js CHANGED
@@ -314,22 +314,32 @@ function execRunScript({ onStdout, onFailure, onExit, }) {
314
314
  });
315
315
  proc.stdout.on('data', (chunk) => {
316
316
  const data = String(chunk);
317
- assertNotExited(data);
318
- (0, utils_2.assert)(getRunInfo().cmd === cmd);
319
317
  Logs_1.Logs.add({
320
318
  logSource: 'stdout',
321
319
  logText: data,
322
320
  });
321
+ /* These assertions sometimes fails, see comments in assertNotExited()
322
+ assertNotExited(data)
323
+ assert(getRunInfo().cmd === cmd)
324
+ /*/
325
+ if (procExited)
326
+ return undefined;
327
+ //*/
323
328
  onStdout?.(data);
324
329
  });
325
330
  proc.stderr.on('data', async (chunk) => {
326
331
  const data = String(chunk);
327
- assertNotExited(data);
328
- (0, utils_2.assert)(getRunInfo().cmd === cmd);
329
332
  Logs_1.Logs.add({
330
333
  logSource: 'stderr',
331
334
  logText: data,
332
335
  });
336
+ /* These assertions sometimes fails, see comments in assertNotExited()
337
+ assertNotExited(data)
338
+ assert(getRunInfo().cmd === cmd)
339
+ /*/
340
+ if (procExited)
341
+ return undefined;
342
+ //*/
333
343
  if (data.includes('EADDRINUSE')) {
334
344
  await exitAndFail(new Error('Port conflict? Port already in use EADDRINUSE.'));
335
345
  }
@@ -359,14 +369,15 @@ function execRunScript({ onStdout, onFailure, onExit, }) {
359
369
  exitPromiseResolve();
360
370
  });
361
371
  return { terminate, processHasExited };
362
- function assertNotExited(data) {
363
- if (!procExited)
364
- return;
365
- // Sometimes, a single white space is emitted after 'exit' has been emitted.
366
- if (data.trim().length === 0)
367
- return;
368
- (0, utils_2.assert)(false, { data: data, dataLength: data.length });
372
+ /* Node.js seems to occasionally emit 'data' events after having the emitted 'exit' event, for example:
373
+ * - `{"data":"[0] npm run serve:cdn exited with code SIGTERM\n","dataLength":48}`.
374
+ function assertNotExited(data: string) {
375
+ if (!procExited) return
376
+ // Sometimes, a single white space is emitted after 'exit' has been emitted.
377
+ if (data.trim().length === 0) return
378
+ assert(false, { data, dataLength: data.length })
369
379
  }
380
+ */
370
381
  function processHasExited() {
371
382
  return procExited;
372
383
  }
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.projectErrorPrefix = exports.getProjectError = exports.assertInfo = exports.assertWarning = exports.assertUsage = exports.assert = void 0;
4
4
  const runTests_1 = require("../runTests");
5
- const createErrorWithCleanStackTrace_1 = require("./createErrorWithCleanStackTrace");
6
5
  const projectInfo_1 = require("./projectInfo");
7
6
  const Logs_1 = require("../Logs");
8
7
  const getCurrentTest_1 = require("../getCurrentTest");
@@ -26,13 +25,13 @@ function assert(condition, debugInfo) {
26
25
  const debugInfoSerialized = typeof debugInfo === 'string' ? debugInfo : '`' + JSON.stringify(debugInfo) + '`';
27
26
  return `Debug info (this is for the ${projectInfo_1.projectInfo.projectName} maintainers; you can ignore this): ${debugInfoSerialized}.`;
28
27
  })();
29
- const internalError = (0, createErrorWithCleanStackTrace_1.createErrorWithCleanStackTrace)([
28
+ const internalError = new Error([
30
29
  `${internalErrorPrefix} You stumbled upon a bug in ${projectInfo_1.projectInfo.projectName}'s source code.`,
31
30
  `Reach out at ${projectInfo_1.projectInfo.githubRepository}/issues/new and include this error stack (the error stack is usually enough to fix the problem).`,
32
31
  'A maintainer will fix the bug (usually under 24 hours).',
33
32
  `Do not hesitate to reach out as it makes ${projectInfo_1.projectInfo.projectName} more robust.`,
34
33
  debugStr,
35
- ].join(' '), numberOfStackTraceLinesToRemove);
34
+ ].join(' '));
36
35
  (0, runTests_1.logFailure)('a bug occurred in @brillout/test-e2e');
37
36
  (0, logError_1.logError)(internalError, 'BUG');
38
37
  logDebugInfo();
@@ -46,13 +45,12 @@ function assertUsage(condition, errorMessage) {
46
45
  return;
47
46
  }
48
47
  const whiteSpace = errorMessage.startsWith('[') ? '' : ' ';
49
- const usageError = (0, createErrorWithCleanStackTrace_1.createErrorWithCleanStackTrace)(`${usageErrorPrefix}${whiteSpace}${errorMessage}`, numberOfStackTraceLinesToRemove);
50
- throw usageError;
48
+ throw new Error(`${usageErrorPrefix}${whiteSpace}${errorMessage}`);
51
49
  }
52
50
  exports.assertUsage = assertUsage;
53
51
  function getProjectError(errorMessage) {
54
- const pluginError = (0, createErrorWithCleanStackTrace_1.createErrorWithCleanStackTrace)(`${errorPrefix} ${errorMessage}`, numberOfStackTraceLinesToRemove);
55
- return pluginError;
52
+ const projectError = new Error(`${errorPrefix} ${errorMessage}`);
53
+ return projectError;
56
54
  }
57
55
  exports.getProjectError = getProjectError;
58
56
  let loggedWarnings = new Set();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brillout/test-e2e",
3
- "version": "0.4.7",
3
+ "version": "0.4.9",
4
4
  "bin": "./bin.js",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -1,2 +0,0 @@
1
- export { createErrorWithCleanStackTrace };
2
- declare function createErrorWithCleanStackTrace(errorMessage: string, numberOfStackTraceLinesToRemove: number): Error;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createErrorWithCleanStackTrace = void 0;
4
- function createErrorWithCleanStackTrace(errorMessage, numberOfStackTraceLinesToRemove) {
5
- let err;
6
- {
7
- var stackTraceLimit__original = Error.stackTraceLimit;
8
- Error.stackTraceLimit = Infinity;
9
- err = new Error(errorMessage);
10
- Error.stackTraceLimit = stackTraceLimit__original;
11
- }
12
- err.stack = clean(err.stack, numberOfStackTraceLinesToRemove);
13
- return err;
14
- }
15
- exports.createErrorWithCleanStackTrace = createErrorWithCleanStackTrace;
16
- function clean(errStack, numberOfStackTraceLinesToRemove) {
17
- if (!errStack) {
18
- return errStack;
19
- }
20
- const stackLines = splitByLine(errStack);
21
- let linesRemoved = 0;
22
- const stackLine__cleaned = stackLines
23
- .filter((line) => {
24
- // Remove internal stack traces
25
- if (line.includes(' (internal/') || line.includes(' (node:internal')) {
26
- return false;
27
- }
28
- if (linesRemoved < numberOfStackTraceLinesToRemove && isStackTraceLine(line)) {
29
- linesRemoved++;
30
- return false;
31
- }
32
- return true;
33
- })
34
- .join('\n');
35
- return stackLine__cleaned;
36
- }
37
- function isStackTraceLine(line) {
38
- return line.startsWith(' at ');
39
- }
40
- function splitByLine(str) {
41
- // https://stackoverflow.com/questions/21895233/how-in-node-to-split-string-by-newline-n
42
- return str.split(/\r?\n/);
43
- }