qunitx 0.4.0 → 0.4.2

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.
@@ -119,7 +119,9 @@ function buildFilteredTests(filteredTests, outputPath) {
119
119
 
120
120
  async function runTestInsideHTMLFile(filePath, { page, server }, config) {
121
121
  let QUNIT_RESULT;
122
+ let targetError;
122
123
  try {
124
+ await wait(350);
123
125
  console.log('#', kleur.blue(`QUnitX running: http://localhost:${server.config.port}${filePath}`));
124
126
  await page.goto(`http://localhost:${server.config.port}${filePath}`, { timeout: 0 });
125
127
  await page.evaluate(() => {
@@ -129,16 +131,19 @@ async function runTestInsideHTMLFile(filePath, { page, server }, config) {
129
131
 
130
132
  QUNIT_RESULT = await page.evaluate(() => window.QUNIT_RESULT);
131
133
  } catch(error) {
134
+ targetError = error;
132
135
  console.log(error);
133
136
  console.error(error);
134
137
  }
135
138
 
136
139
  if (!QUNIT_RESULT || QUNIT_RESULT.totalTests === 0) {
140
+ console.log(targetError);
137
141
  console.log('BROWSER: runtime error thrown during executing tests');
138
142
  console.error('BROWSER: runtime error thrown during executing tests');
139
143
 
140
144
  await failOnNonWatchMode(config.watch);
141
145
  } else if (QUNIT_RESULT.totalTests > QUNIT_RESULT.finishedTests) {
146
+ console.log(targetError);
142
147
  console.log(`BROWSER: TEST TIMED OUT: ${QUNIT_RESULT.currentTest}`);
143
148
  console.error(`BROWSER: TEST TIMED OUT: ${QUNIT_RESULT.currentTest}`);
144
149
 
@@ -151,3 +156,7 @@ async function failOnNonWatchMode(watchMode = false) {
151
156
  await new Promise((resolve, reject) => setTimeout(() => resolve(process.exit(1)), 100));
152
157
  }
153
158
  }
159
+
160
+ function wait(duration) {
161
+ return new Promise((resolve) => setTimeout(() => { resolve() }, duration));
162
+ }
@@ -194,14 +194,29 @@ function testRuntimeToInject(port, config) {
194
194
  });
195
195
  window.QUnit.done((details) => {
196
196
  if (window.IS_PUPPETEER) {
197
- window.socket.send(JSON.stringify({ event: 'done', details: details, abort: window.abortQUnit }));
197
+ window.setTimeout(() => {
198
+ window.socket.send(JSON.stringify({ event: 'done', details: details, abort: window.abortQUnit }))
199
+ }, 50);
198
200
  }
199
201
  window.setTimeout(() => {
200
202
  window.testTimeout = ${config.timeout};
201
203
  }, 75);
202
204
  });
203
205
 
204
- window.setTimeout(() => window.QUnit.start(), 10);
206
+ if ([1, 3].includes(window.socket.readyState)) {
207
+ return window.setTimeout(() => window.QUnit.start(), 10);
208
+ } else {
209
+ let connectionTrialCount = 0;
210
+ let connectionInterval = window.setInterval(() => {
211
+ if ([1, 3].includes(window.socket.readyState) || connectionTrialCount > 10) {
212
+ window.clearInterval(connectionInterval);
213
+
214
+ return window.setTimeout(() => window.QUnit.start(), 10);
215
+ }
216
+
217
+ connectionTrialCount = connectionTrialCount + 1;
218
+ }, 10);
219
+ }
205
220
  }
206
221
 
207
222
  setupQUnit();
package/lol.js ADDED
@@ -0,0 +1,4 @@
1
+ import fs from 'node:fs/promises';
2
+
3
+ console.log(await fs.lstat('./test-output.log'));
4
+
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "qunitx",
3
3
  "type": "module",
4
- "version": "0.4.0",
4
+ "version": "0.4.2",
5
5
  "description": "Experimental improvements, suggestions for qunit CLI",
6
6
  "author": "Izel Nakri",
7
7
  "license": "MIT",
@@ -9,6 +9,9 @@
9
9
  "qunit",
10
10
  "qunit-plugin"
11
11
  ],
12
+ "engines": {
13
+ "node": ">=20.1.0"
14
+ },
12
15
  "main": "index.js",
13
16
  "bin": {
14
17
  "qunitx": "cli.js"
@@ -28,7 +31,7 @@
28
31
  "release:alpha": "node_modules/.bin/release-it --preRelease=alpha --no-git.requireUpstream",
29
32
  "release:beta": "node_modules/.bin/release-it --preRelease=beta --no-git.requireUpstream",
30
33
  "release": "node_modules/.bin/release-it",
31
- "test": "node --test test/index.js",
34
+ "test": "node --test test/index.js | tee test-output.log",
32
35
  "test:old": "node_modules/.bin/mocha --require test/setup.js --bail --exit --check-leaks test/inputs test/commands test/flags/after-test.js test/flags/before-test.js -t=20000",
33
36
  "test:sanity-first": "./cli.js test/helpers/failing-tests.js test/helpers/failing-tests.ts",
34
37
  "test:sanity-second": "./cli.js test/helpers/passing-tests.js test/helpers/passing-tests.ts"
@@ -37,12 +40,12 @@
37
40
  "@nanoexpress/middleware-static-serve": "^1.0.4",
38
41
  "cheerio": "^1.0.0-rc.10",
39
42
  "chokidar": "^3.5.3",
40
- "esbuild": "^0.17.18",
43
+ "esbuild": "^0.17.19",
41
44
  "js-yaml": "^4.1.0",
42
45
  "kleur": "^4.1.5",
43
46
  "nanoexpress": "^6.2.1",
44
47
  "picomatch": "^2.3.1",
45
- "puppeteer": "20.1.2",
48
+ "puppeteer": "20.2.0",
46
49
  "recursive-lookup": "1.1.0",
47
50
  "ts-node": "^10.7.0"
48
51
  },
@@ -9,7 +9,9 @@ export default {
9
9
  false: assert.false,
10
10
  notDeepEqual: assert.notDeepStrictEqual,
11
11
  notEqual: assert.notEqual,
12
- notOk: assert.notOk,
12
+ notOk(state, message) {
13
+ return assert.ok(!state, message);
14
+ },
13
15
  notPropContains: assert.notPropContains,
14
16
  notPropEqual: assert.notPropEqual,
15
17
  notStrictEqual: assert.notStrictEqual,
package/shims/nodejs.js CHANGED
@@ -1,44 +1,34 @@
1
1
  import { run, describe, it, before, after, beforeEach, afterEach } from 'node:test';
2
2
  import assert from './nodejs-assert.js';
3
3
 
4
- export const module = async function(moduleName, _hooks, moduleContent) {
5
- let targetModuleContent = moduleContent ? moduleContent : _hooks;
6
- let targetHooks = moduleContent ? _hooks : undefined;
4
+ export const module = async function(moduleName, runtimeOptions, moduleContent) {
5
+ let targetRuntimeOptions = moduleContent ? runtimeOptions : {};
6
+ let targetModuleContent = moduleContent ? moduleContent : runtimeOptions;
7
7
 
8
- const hooks = targetHooks || { before: undefined, after: undefined, beforeEach: undefined, afterEach: undefined};
9
- const { before: _before, after: _after, beforeEach: _beforeEach, afterEach: _afterEach } = hooks;
10
-
11
- // NOTE: add { concurrency: true }
12
- return describe(moduleName, async function() {
13
- if (_before) {
14
- before(_before);
15
- }
16
-
17
- if (_after) {
18
- after(_after);
19
- }
20
-
21
- if (_beforeEach) {
22
- beforeEach(_beforeEach);
23
- }
24
-
25
- if (_afterEach) {
26
- afterEach(_afterEach);
27
- }
28
-
29
- return await targetModuleContent(hooks);
8
+ return describe(moduleName, assignDefaultValues(targetRuntimeOptions, { concurrency: true }), async function() {
9
+ return await targetModuleContent({ before, after, beforeEach, afterEach }, {
10
+ moduleName,
11
+ options: runtimeOptions
12
+ });
30
13
  });
31
14
  }
32
15
 
33
- export const test = async function(testName, testContent) {
34
- // return it(testName, { concurrency: true }, async function() {
35
- // NOTE: also add timeout here!! then changable when QUnit implemented correctly
36
- // NOTE: add { concurrency: true }
37
- return it(testName, async function() {
38
- return await testContent(assert);
16
+ export const test = async function(testName, runtimeOptions, testContent) {
17
+ let targetRuntimeOptions = testContent ? runtimeOptions : {};
18
+ let targetTestContent = testContent ? testContent : runtimeOptions;
19
+
20
+ return it(testName, assignDefaultValues(targetRuntimeOptions, { concurrency: true }), async function() {
21
+ return await targetTestContent(assert, { testName, options: runtimeOptions });
39
22
  });
40
23
  }
41
24
 
25
+ function assignDefaultValues(options, defaultValues) {
26
+ for (let key in defaultValues) {
27
+ if (options[key] === undefined) {
28
+ options[key] = defaultValues[key];
29
+ }
30
+ }
31
+ }
42
32
 
43
33
  // NOTE: later maybe expose these as well:
44
34
 
@@ -0,0 +1,1109 @@
1
+ TAP version 13
2
+ # [qunitx v0.4.0] Usage: qunitx [targets] --$flags
3
+ # Input options:
4
+ # - File: $ qunitx test/foo.js
5
+ # - Folder: $ qunitx test/login
6
+ # - Globs: $ qunitx test/**/*-test.js
7
+ # - Combination: $ qunitx test/foo.js test/bar.js test/*-test.js test/logout
8
+ # Optional flags:
9
+ # --browser : run qunit tests in chromium with puppeteer instead of node.js(which is the default)
10
+ # --debug : print console output when tests run in browser
11
+ # --watch : run the target file or folders, watch them for continuous run and expose http server under localhost
12
+ # --timeout : change default timeout per test case
13
+ # --output : folder to distribute built qunitx html and js that a webservers can run[default: tmp]
14
+ # --failFast : run the target file or folders with immediate abort if a single test fails
15
+ # --before : run a script before the tests(i.e start a new web server before tests)
16
+ # --after : run a script after the tests(i.e save test results to a file)
17
+ # Example: $ qunitx test/foo.ts app/e2e --browser --debug --watch --before=scripts/start-new-webserver.js --after=scripts/write-test-results.js
18
+ # Commands:
19
+ # $ qunitx init \# Bootstraps qunitx base html and add qunitx config to package.json if needed
20
+ # $ qunitx new $testFileName \# Creates a qunitx test file
21
+ # Subtest: Commands | Help tests
22
+ # Subtest: $ qunitx -> prints help text
23
+ ok 1 - $ qunitx -> prints help text
24
+ ---
25
+ duration_ms: 786.20008
26
+ ...
27
+ # Subtest: $ qunitx print -> prints help text
28
+ ok 2 - $ qunitx print -> prints help text
29
+ ---
30
+ duration_ms: 530.633588
31
+ ...
32
+ # Subtest: $ qunitx p -> prints help text
33
+ ok 3 - $ qunitx p -> prints help text
34
+ ---
35
+ duration_ms: 612.423907
36
+ ...
37
+ # Subtest: $ qunitx help -> prints help text
38
+ ok 4 - $ qunitx help -> prints help text
39
+ ---
40
+ duration_ms: 606.219447
41
+ ...
42
+ # Subtest: $ qunitx h -> prints help text
43
+ ok 5 - $ qunitx h -> prints help text
44
+ ---
45
+ duration_ms: 539.144137
46
+ ...
47
+ 1..5
48
+ ok 1 - Commands | Help tests
49
+ ---
50
+ duration_ms: 3077.161616
51
+ type: 'suite'
52
+ ...
53
+ # Trace:
54
+ # TEST NAME: --after script tests | --after works when it doesnt need to be awaited
55
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js --after=test/helpers/after-script-basic.js
56
+ # 0: \# QUnitX running: /home/izelnakri/Github/qunitx/test/helpers/passing-tests.js
57
+ # 1: TAP version 13
58
+ # 2: calling assert true test case
59
+ # 3: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
60
+ # 4: resolving async test
61
+ # 5: {
62
+ # 6: moduleName: 'called resolved async test with object',
63
+ # 7: placeholder: 1000,
64
+ # 8: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
65
+ # 9: }
66
+ # 10: ok 2 {{moduleName}} Passing Tests | async test finishes \# (57 ms)
67
+ # 11: calling deepEqual test case
68
+ # 12: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
69
+ # 13:
70
+ # 14: 1
71
+ # 15: \# tests 3
72
+ # 16: \# pass 3
73
+ # 17: \# skip 0
74
+ # 18: \# fail 0
75
+ # 19: \# duration 64
76
+ # 20:
77
+ # 21: This is running from after script!!
78
+ # 22:
79
+ #
80
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
81
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
82
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/after-test.js:7:24
83
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
84
+ # at async Test.run (node:internal/test_runner/test:569:9)
85
+ # at async Promise.all (index 0)
86
+ # at async Suite.run (node:internal/test_runner/test:801:7)
87
+ # at async startSubtest (node:internal/test_runner/harness:203:3)
88
+ # Subtest: --after script tests
89
+ # Subtest: --after works when it doesnt need to be awaited
90
+ ok 1 - --after works when it doesnt need to be awaited
91
+ ---
92
+ duration_ms: 853.882898
93
+ ...
94
+ # Trace:
95
+ # TEST NAME: --after script tests | --after works for --browser mode when it doesnt need to be awaited
96
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js --browser --after=test/helpers/after-script-basic.js
97
+ # 0: \# QUnitX running: http://localhost:1234/
98
+ # 1: TAP version 13
99
+ # 2: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
100
+ # 3: ok 2 {{moduleName}} Passing Tests | async test finishes \# (62 ms)
101
+ # 4: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
102
+ # 5:
103
+ # 6: 1
104
+ # 7: \# tests 3
105
+ # 8: \# pass 3
106
+ # 9: \# skip 0
107
+ # 10: \# fail 0
108
+ # 11: \# duration 792
109
+ # 12:
110
+ # 13: This is running from after script!!
111
+ # 14:
112
+ #
113
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
114
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/after-test.js:15:24
115
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
116
+ # at async Test.run (node:internal/test_runner/test:569:9)
117
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
118
+ # Subtest: --after works for --browser mode when it doesnt need to be awaited
119
+ ok 2 - --after works for --browser mode when it doesnt need to be awaited
120
+ ---
121
+ duration_ms: 1898.388421
122
+ ...
123
+ # Trace:
124
+ # TEST NAME: --after script tests | --after works it needs to be awaited
125
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js --after=test/helpers/after-script-async.js
126
+ # 0: \# QUnitX running: /home/izelnakri/Github/qunitx/test/helpers/passing-tests.js
127
+ # 1: TAP version 13
128
+ # 2: calling assert true test case
129
+ # 3: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
130
+ # 4: resolving async test
131
+ # 5: {
132
+ # 6: moduleName: 'called resolved async test with object',
133
+ # 7: placeholder: 1000,
134
+ # 8: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
135
+ # 9: }
136
+ # 10: ok 2 {{moduleName}} Passing Tests | async test finishes \# (55 ms)
137
+ # 11: calling deepEqual test case
138
+ # 12: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
139
+ # 13:
140
+ # 14: 1
141
+ # 15: \# tests 3
142
+ # 16: \# pass 3
143
+ # 17: \# skip 0
144
+ # 18: \# fail 0
145
+ # 19: \# duration 58
146
+ # 20:
147
+ # 21: This is running from after script!!
148
+ # 22: After script result is written:
149
+ # 23: {
150
+ # 24: "testCount": 3,
151
+ # 25: "failCount": 0,
152
+ # 26: "skipCount": 0,
153
+ # 27: "passCount": 3
154
+ # 28: }
155
+ # 29:
156
+ #
157
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
158
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
159
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/after-test.js:23:24
160
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
161
+ # at async Test.run (node:internal/test_runner/test:569:9)
162
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
163
+ # Subtest: --after works it needs to be awaited
164
+ ok 3 - --after works it needs to be awaited
165
+ ---
166
+ duration_ms: 553.421575
167
+ ...
168
+ # Trace:
169
+ # TEST NAME: --after script tests | --after works for --browser mode it needs to be awaited
170
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js --browser --after=test/helpers/after-script-async.js
171
+ # 0: \# QUnitX running: http://localhost:1235/
172
+ # 1: TAP version 13
173
+ # 2: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
174
+ # 3: ok 2 {{moduleName}} Passing Tests | async test finishes \# (51 ms)
175
+ # 4: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
176
+ # 5:
177
+ # 6: 1
178
+ # 7: \# tests 3
179
+ # 8: \# pass 3
180
+ # 9: \# skip 0
181
+ # 10: \# fail 0
182
+ # 11: \# duration 566
183
+ # 12:
184
+ # 13: This is running from after script!!
185
+ # 14: After script result is written:
186
+ # 15: {
187
+ # 16: "testCount": 3,
188
+ # 17: "failCount": 0,
189
+ # 18: "skipCount": 0,
190
+ # 19: "passCount": 3
191
+ # 20: }
192
+ # 21:
193
+ #
194
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
195
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/after-test.js:33:24
196
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
197
+ # at async Test.run (node:internal/test_runner/test:569:9)
198
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
199
+ # Subtest: --after works for --browser mode it needs to be awaited
200
+ ok 4 - --after works for --browser mode it needs to be awaited
201
+ ---
202
+ duration_ms: 1571.150719
203
+ ...
204
+ 1..4
205
+ ok 2 - --after script tests
206
+ ---
207
+ duration_ms: 4881.36348
208
+ type: 'suite'
209
+ ...
210
+ # Trace:
211
+ # TEST NAME: --before script tests | --before works when it doesnt need to be awaited
212
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js --before=test/helpers/before-script-basic.js
213
+ # 0: This is running from before script!!
214
+ # 1: \# QUnitX running: /home/izelnakri/Github/qunitx/test/helpers/passing-tests.js
215
+ # 2: TAP version 13
216
+ # 3: calling assert true test case
217
+ # 4: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
218
+ # 5: resolving async test
219
+ # 6: {
220
+ # 7: moduleName: 'called resolved async test with object',
221
+ # 8: placeholder: 1000,
222
+ # 9: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
223
+ # 10: }
224
+ # 11: ok 2 {{moduleName}} Passing Tests | async test finishes \# (54 ms)
225
+ # 12: calling deepEqual test case
226
+ # 13: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
227
+ # 14:
228
+ # 15: 1
229
+ # 16: \# tests 3
230
+ # 17: \# pass 3
231
+ # 18: \# skip 0
232
+ # 19: \# fail 0
233
+ # 20: \# duration 57
234
+ # 21:
235
+ # 22:
236
+ #
237
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
238
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
239
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/before-test.js:7:24
240
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
241
+ # at async Test.run (node:internal/test_runner/test:569:9)
242
+ # at async Promise.all (index 0)
243
+ # at async Suite.run (node:internal/test_runner/test:801:7)
244
+ # at async Test.processPendingSubtests (node:internal/test_runner/test:315:7)
245
+ # Subtest: --before script tests
246
+ # Subtest: --before works when it doesnt need to be awaited
247
+ ok 1 - --before works when it doesnt need to be awaited
248
+ ---
249
+ duration_ms: 400.056453
250
+ ...
251
+ # Trace:
252
+ # TEST NAME: --before script tests | --before works for --browser mode when it doesnt need to be awaited
253
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js --browser --before=test/helpers/before-script-basic.js
254
+ # 0: This is running from before script!!
255
+ # 1: \# QUnitX running: http://localhost:1235/
256
+ # 2: ok 1 {{moduleName}} Passing Tests | async test finishes \# (113 ms)
257
+ # 3: ok 2 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
258
+ # 4:
259
+ # 5: 1
260
+ # 6: \# tests 2
261
+ # 7: \# pass 2
262
+ # 8: \# skip 0
263
+ # 9: \# fail 0
264
+ # 10: \# duration 735
265
+ # 11:
266
+ # 12:
267
+ #
268
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
269
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/before-test.js:15:24
270
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
271
+ # at async Test.run (node:internal/test_runner/test:569:9)
272
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
273
+ # Subtest: --before works for --browser mode when it doesnt need to be awaited
274
+ not ok 2 - --before works for --browser mode when it doesnt need to be awaited
275
+ ---
276
+ duration_ms: 1905.444457
277
+ failureType: 'testCodeFailure'
278
+ error: 'false == true'
279
+ code: 'ERR_ASSERTION'
280
+ name: 'AssertionError'
281
+ expected: true
282
+ actual: false
283
+ operator: '=='
284
+ stack: |-
285
+ assertTAPResult (file:///home/izelnakri/Github/qunitx/test/helpers/assert-stdout.js:102:10)
286
+ file:///home/izelnakri/Github/qunitx/test/flags/before-test.js:19:5
287
+ async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
288
+ async Test.run (node:internal/test_runner/test:569:9)
289
+ async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
290
+ ...
291
+ # Trace:
292
+ # TEST NAME: --before script tests | --before works it needs to be awaited
293
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js test/helpers/before-script-web-server-tests.js --before=test/helpers/before-script-async.js
294
+ # 0: This is running from before script!!
295
+ # 1: Starting before script with:
296
+ # 2: DOESNT HAVE SERVER RUNNING
297
+ # 3: \# HTTPServer [Server]: started successfully at [localhost:1235] in [6ms]
298
+ # 4: Web server started on port 1235
299
+ # 5: \# QUnitX running: /home/izelnakri/Github/qunitx/test/helpers/passing-tests.js, /home/izelnakri/Github/qunitx/test/helpers/before-script-web-server-tests.js
300
+ # 6: TAP version 13
301
+ # 7: calling assert true test case
302
+ # 8: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
303
+ # 9: resolving async test
304
+ # 10: {
305
+ # 11: moduleName: 'called resolved async test with object',
306
+ # 12: placeholder: 1000,
307
+ # 13: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
308
+ # 14: }
309
+ # 15: ok 2 {{moduleName}} Passing Tests | async test finishes \# (52 ms)
310
+ # 16: calling deepEqual test case
311
+ # 17: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (0 ms)
312
+ # 18: req received
313
+ # 19: ok 4 {{moduleName}} Before script web server tests | assert true works \# (340 ms)
314
+ # 20:
315
+ # 21: 1
316
+ # 22: \# tests 4
317
+ # 23: \# pass 4
318
+ # 24: \# skip 0
319
+ # 25: \# fail 0
320
+ # 26: \# duration 397
321
+ # 27:
322
+ # 28:
323
+ #
324
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
325
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
326
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/before-test.js:23:24
327
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
328
+ # at async Test.run (node:internal/test_runner/test:569:9)
329
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
330
+ # Subtest: --before works it needs to be awaited
331
+ ok 3 - --before works it needs to be awaited
332
+ ---
333
+ duration_ms: 1365.461136
334
+ ...
335
+ # Trace:
336
+ # TEST NAME: --before script tests | --before works for --browser mode it needs to be awaited
337
+ # TEST COMMAND: node cli.js test/helpers/passing-tests.js test/helpers/before-script-web-server-tests.js --browser --before=test/helpers/before-script-async.js
338
+ # 0: This is running from before script!!
339
+ # 1: Starting before script with:
340
+ # 2: \# QUnitX running: http://localhost:1234/
341
+ # 3: TAP version 13
342
+ # 4: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
343
+ # 5: ok 2 {{moduleName}} Passing Tests | async test finishes \# (61 ms)
344
+ # 6: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
345
+ # 7: req received
346
+ # 8: ok 4 {{moduleName}} Before script web server tests | assert true works \# (254 ms)
347
+ # 9:
348
+ # 10: 1
349
+ # 11: \# tests 4
350
+ # 12: \# pass 4
351
+ # 13: \# skip 0
352
+ # 14: \# fail 0
353
+ # 15: \# duration 843
354
+ # 16:
355
+ # 17:
356
+ #
357
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
358
+ # at async file:///home/izelnakri/Github/qunitx/test/flags/before-test.js:33:24
359
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
360
+ # at async Test.run (node:internal/test_runner/test:569:9)
361
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
362
+ # Subtest: --before works for --browser mode it needs to be awaited
363
+ ok 4 - --before works for --browser mode it needs to be awaited
364
+ ---
365
+ duration_ms: 2882.614762
366
+ ...
367
+ 1..4
368
+ not ok 3 - --before script tests
369
+ ---
370
+ duration_ms: 6556.975029
371
+ type: 'suite'
372
+ failureType: 'subtestsFailed'
373
+ error: '1 subtest failed'
374
+ code: 'ERR_TEST_FAILURE'
375
+ ...
376
+ # Subtest: Advanced HTML Input Tests
377
+ # Subtest: testing with specific html without content works
378
+ ok 1 - testing with specific html without content works
379
+ ---
380
+ duration_ms: 1.919472
381
+ ...
382
+ 1..1
383
+ ok 4 - Advanced HTML Input Tests
384
+ ---
385
+ duration_ms: 12.473361
386
+ type: 'suite'
387
+ ...
388
+ # Subtest: Advanced Error Edge Cases Tests
389
+ # Subtest: todo
390
+ ok 1 - todo
391
+ ---
392
+ duration_ms: 0.665773
393
+ ...
394
+ 1..1
395
+ ok 5 - Advanced Error Edge Cases Tests
396
+ ---
397
+ duration_ms: 1.110483
398
+ type: 'suite'
399
+ ...
400
+ # Subtest: File and Folder Combination Tests
401
+ # Subtest: todo
402
+ ok 1 - todo
403
+ ---
404
+ duration_ms: 0.277764
405
+ ...
406
+ 1..1
407
+ ok 6 - File and Folder Combination Tests
408
+ ---
409
+ duration_ms: 0.507111
410
+ type: 'suite'
411
+ ...
412
+ # Trace:
413
+ # TEST NAME: File Input Tests | testing a single passing js file works
414
+ # TEST COMMAND: node cli.js tmp/test/passing-tests.js
415
+ # 0: \# QUnitX running: /home/izelnakri/Github/qunitx/tmp/test/passing-tests.js
416
+ # 1: TAP version 13
417
+ # 2: calling assert true test case
418
+ # 3: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
419
+ # 4: resolving async test
420
+ # 5: {
421
+ # 6: moduleName: 'called resolved async test with object',
422
+ # 7: placeholder: 1000,
423
+ # 8: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
424
+ # 9: }
425
+ # 10: ok 2 {{moduleName}} Passing Tests | async test finishes \# (58 ms)
426
+ # 11: calling deepEqual test case
427
+ # 12: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
428
+ # 13:
429
+ # 14: 1
430
+ # 15: \# tests 3
431
+ # 16: \# pass 3
432
+ # 17: \# skip 0
433
+ # 18: \# fail 0
434
+ # 19: \# duration 64
435
+ # 20:
436
+ # 21:
437
+ #
438
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
439
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
440
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:7:24
441
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
442
+ # at async Test.run (node:internal/test_runner/test:569:9)
443
+ # at async Promise.all (index 0)
444
+ # at async Suite.run (node:internal/test_runner/test:801:7)
445
+ # at async Test.processPendingSubtests (node:internal/test_runner/test:315:7)
446
+ # Subtest: File Input Tests
447
+ # Subtest: testing a single passing js file works
448
+ ok 1 - testing a single passing js file works
449
+ ---
450
+ duration_ms: 713.888088
451
+ ...
452
+ # Trace:
453
+ # ERROR TEST Name: File Input Tests | testing a single failing js file works
454
+ # ERROR TEST COMMAND: node cli.js tmp/test/failing-tests.js
455
+ # Error: Command failed: node cli.js tmp/test/failing-tests.js
456
+ #
457
+ #
458
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
459
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
460
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:15:7
461
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
462
+ # at async Test.run (node:internal/test_runner/test:569:9)
463
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
464
+ # Subtest: testing a single failing js file works
465
+ ok 2 - testing a single failing js file works
466
+ ---
467
+ duration_ms: 684.679829
468
+ ...
469
+ # Trace:
470
+ # TEST NAME: File Input Tests | testing a single passing js file with --browser works, console output supressed
471
+ # TEST COMMAND: node cli.js tmp/test/passing-tests.js --browser
472
+ # 0: \# QUnitX running: http://localhost:1235/
473
+ # 1: TAP version 13
474
+ # 2: ok 1 {{moduleName}} Passing Tests | assert true works \# (2 ms)
475
+ # 3: ok 2 {{moduleName}} Passing Tests | async test finishes \# (53 ms)
476
+ # 4: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
477
+ # 5:
478
+ # 6: 1
479
+ # 7: \# tests 3
480
+ # 8: \# pass 3
481
+ # 9: \# skip 0
482
+ # 10: \# fail 0
483
+ # 11: \# duration 599
484
+ # 12:
485
+ # 13:
486
+ #
487
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
488
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:97:24
489
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
490
+ # at async Test.run (node:internal/test_runner/test:569:9)
491
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
492
+ # Subtest: testing a single passing js file with --browser works, console output supressed
493
+ ok 3 - testing a single passing js file with --browser works, console output supressed
494
+ ---
495
+ duration_ms: 1852.834303
496
+ ...
497
+ # Trace:
498
+ # TEST NAME: File Input Tests | testing a single passing js file with --browser --debug works
499
+ # TEST COMMAND: node cli.js tmp/test/passing-tests.js --browser --debug
500
+ # 0: \# HTTPServer [Server]: started successfully at [localhost:1234] in [228ms]
501
+ # 1: \# QUnitX running: http://localhost:1234/
502
+ # 2: \# [HTTPServer] GET /favicon.ico
503
+ # 3: TAP version 13
504
+ # 4: calling assert true test case
505
+ # 5: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
506
+ # 6: resolving async test
507
+ # 7: ok 2 {{moduleName}} Passing Tests | async test finishes \# (53 ms)
508
+ # 8: calling deepEqual test case
509
+ # 9: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
510
+ # 10: {
511
+ # 11: moduleName: 'called resolved async test with object',
512
+ # 12: placeholder: 1000,
513
+ # 13: anotherObject: { firstName: 'Izel', createdAt: {} }
514
+ # 14: }
515
+ # 15:
516
+ # 16: 1
517
+ # 17: \# tests 3
518
+ # 18: \# pass 3
519
+ # 19: \# skip 0
520
+ # 20: \# fail 0
521
+ # 21: \# duration 642
522
+ # 22:
523
+ # 23: \# HTTPServer [Server]: stopped successfully
524
+ # 24:
525
+ #
526
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
527
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:104:24
528
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
529
+ # at async Test.run (node:internal/test_runner/test:569:9)
530
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
531
+ # Subtest: testing a single passing js file with --browser --debug works
532
+ ok 4 - testing a single passing js file with --browser --debug works
533
+ ---
534
+ duration_ms: 1588.300407
535
+ ...
536
+ # Trace:
537
+ # ERROR TEST Name: File Input Tests | testing a single failing js with --browser file works
538
+ # ERROR TEST COMMAND: node cli.js tmp/test/failing-tests.js --browser
539
+ # Error: Command failed: node cli.js tmp/test/failing-tests.js --browser
540
+ #
541
+ #
542
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
543
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:114:24
544
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
545
+ # at async Test.run (node:internal/test_runner/test:569:9)
546
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
547
+ # Subtest: testing a single failing js with --browser file works
548
+ ok 5 - testing a single failing js with --browser file works
549
+ ---
550
+ duration_ms: 1714.33759
551
+ ...
552
+ # Trace:
553
+ # ERROR TEST Name: File Input Tests | testing a single failing js file with --browser --debug works
554
+ # ERROR TEST COMMAND: node cli.js tmp/test/failing-tests.js --browser --debug
555
+ # Error: Command failed: node cli.js tmp/test/failing-tests.js --browser --debug
556
+ #
557
+ #
558
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
559
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:124:7
560
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
561
+ # at async Test.run (node:internal/test_runner/test:569:9)
562
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
563
+ # Subtest: testing a single failing js file with --browser --debug works
564
+ ok 6 - testing a single failing js file with --browser --debug works
565
+ ---
566
+ duration_ms: 2419.954083
567
+ ...
568
+ # Trace:
569
+ # TEST NAME: File Input Tests | testing a single passing ts file with --browser works, console output supressed
570
+ # TEST COMMAND: node cli.js tmp/test/passing-tests.ts --browser
571
+ # 0: \# QUnitX running: http://localhost:1235/
572
+ # 1: TAP version 13
573
+ # 2: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
574
+ # 3: ok 2 {{moduleName}} Passing Tests | async test finishes \# (63 ms)
575
+ # 4: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (0 ms)
576
+ # 5:
577
+ # 6: 1
578
+ # 7: \# tests 3
579
+ # 8: \# pass 3
580
+ # 9: \# skip 0
581
+ # 10: \# fail 0
582
+ # 11: \# duration 618
583
+ # 12:
584
+ # 13:
585
+ #
586
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
587
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:133:24
588
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
589
+ # at async Test.run (node:internal/test_runner/test:569:9)
590
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
591
+ # Subtest: testing a single passing ts file with --browser works, console output supressed
592
+ ok 7 - testing a single passing ts file with --browser works, console output supressed
593
+ ---
594
+ duration_ms: 2444.373212
595
+ ...
596
+ # Trace:
597
+ # TEST NAME: File Input Tests | testing a single passing ts file with --browser --debug works
598
+ # TEST COMMAND: node cli.js tmp/test/passing-tests.ts --browser --debug
599
+ # 0: \# HTTPServer [Server]: started successfully at [localhost:1234] in [239ms]
600
+ # 1: \# QUnitX running: http://localhost:1234/
601
+ # 2: \# [HTTPServer] GET /favicon.ico
602
+ # 3: TAP version 13
603
+ # 4: calling assert true test case
604
+ # 5: ok 1 {{moduleName}} Passing Tests | assert true works \# (1 ms)
605
+ # 6: resolving async test
606
+ # 7: ok 2 {{moduleName}} Passing Tests | async test finishes \# (51 ms)
607
+ # 8: calling deepEqual test case
608
+ # 9: ok 3 {{moduleName}} Passing Tests | deepEqual true works \# (1 ms)
609
+ # 10: {
610
+ # 11: moduleName: 'called resolved async test with object',
611
+ # 12: placeholder: 1000,
612
+ # 13: anotherObject: { firstName: 'Izel', createdAt: {} }
613
+ # 14: }
614
+ # 15:
615
+ # 16: 1
616
+ # 17: \# tests 3
617
+ # 18: \# pass 3
618
+ # 19: \# skip 0
619
+ # 20: \# fail 0
620
+ # 21: \# duration 593
621
+ # 22:
622
+ # 23: \# HTTPServer [Server]: stopped successfully
623
+ # 24:
624
+ #
625
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
626
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:141:24
627
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
628
+ # at async Test.run (node:internal/test_runner/test:569:9)
629
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
630
+ # Subtest: testing a single passing ts file with --browser --debug works
631
+ ok 8 - testing a single passing ts file with --browser --debug works
632
+ ---
633
+ duration_ms: 1587.761664
634
+ ...
635
+ # Trace:
636
+ # ERROR TEST Name: File Input Tests | testing a single failing ts with --browser file works
637
+ # ERROR TEST COMMAND: node cli.js tmp/test/failing-tests.ts --browser
638
+ # Error: Command failed: node cli.js tmp/test/failing-tests.ts --browser
639
+ #
640
+ #
641
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
642
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:152:7
643
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
644
+ # at async Test.run (node:internal/test_runner/test:569:9)
645
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
646
+ # Subtest: testing a single failing ts with --browser file works
647
+ ok 9 - testing a single failing ts with --browser file works
648
+ ---
649
+ duration_ms: 1941.109901
650
+ ...
651
+ # Trace:
652
+ # ERROR TEST Name: File Input Tests | testing a single failing ts file with --browser --debug works
653
+ # ERROR TEST COMMAND: node cli.js tmp/test/failing-tests.ts --browser --debug
654
+ # Error: Command failed: node cli.js tmp/test/failing-tests.ts --browser --debug
655
+ #
656
+ #
657
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
658
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/file-test.js:162:7
659
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
660
+ # at async Test.run (node:internal/test_runner/test:569:9)
661
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
662
+ # Subtest: testing a single failing ts file with --browser --debug works
663
+ ok 10 - testing a single failing ts file with --browser --debug works
664
+ ---
665
+ duration_ms: 1466.629487
666
+ ...
667
+ 1..10
668
+ ok 7 - File Input Tests
669
+ ---
670
+ duration_ms: 16415.537522
671
+ type: 'suite'
672
+ ...
673
+ # Trace:
674
+ # TEST NAME: Folder Input Tests | works for a single folder input with all passing tests
675
+ # TEST COMMAND: node cli.js tmp/28fd8385-f751-4e89-a525-6c3f20bfdd3d
676
+ # 0: \# QUnitX running: /home/izelnakri/Github/qunitx/tmp/28fd8385-f751-4e89-a525-6c3f20bfdd3d/first-module-pass.js, /home/izelnakri/Github/qunitx/tmp/28fd8385-f751-4e89-a525-6c3f20bfdd3d/second-module-pass.js
677
+ # 1: TAP version 13
678
+ # 2: calling assert true test case
679
+ # 3: ok 1 28fd8385-f751-4e89-a525-6c3f20bfdd3d | first-module-pass Passing Tests | assert true works \# (0 ms)
680
+ # 4: resolving async test
681
+ # 5: {
682
+ # 6: moduleName: 'called resolved async test with object',
683
+ # 7: placeholder: 1000,
684
+ # 8: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
685
+ # 9: }
686
+ # 10: ok 2 28fd8385-f751-4e89-a525-6c3f20bfdd3d | first-module-pass Passing Tests | async test finishes \# (54 ms)
687
+ # 11: calling deepEqual test case
688
+ # 12: ok 3 28fd8385-f751-4e89-a525-6c3f20bfdd3d | first-module-pass Passing Tests | deepEqual true works \# (0 ms)
689
+ # 13: calling assert true test case
690
+ # 14: ok 4 28fd8385-f751-4e89-a525-6c3f20bfdd3d | second-module-pass Passing Tests | assert true works \# (0 ms)
691
+ # 15: resolving async test
692
+ # 16: {
693
+ # 17: moduleName: 'called resolved async test with object',
694
+ # 18: placeholder: 1000,
695
+ # 19: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
696
+ # 20: }
697
+ # 21: ok 5 28fd8385-f751-4e89-a525-6c3f20bfdd3d | second-module-pass Passing Tests | async test finishes \# (53 ms)
698
+ # 22: calling deepEqual test case
699
+ # 23: ok 6 28fd8385-f751-4e89-a525-6c3f20bfdd3d | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
700
+ # 24:
701
+ # 25: 1
702
+ # 26: \# tests 6
703
+ # 27: \# pass 6
704
+ # 28: \# skip 0
705
+ # 29: \# fail 0
706
+ # 30: \# duration 113
707
+ # 31:
708
+ # 32:
709
+ #
710
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
711
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
712
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:11:24
713
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
714
+ # at async Test.run (node:internal/test_runner/test:569:9)
715
+ # at async Promise.all (index 0)
716
+ # at async Suite.run (node:internal/test_runner/test:801:7)
717
+ # at async Test.processPendingSubtests (node:internal/test_runner/test:315:7)
718
+ # Subtest: Folder Input Tests
719
+ # Subtest: works for a single folder input with all passing tests
720
+ ok 1 - works for a single folder input with all passing tests
721
+ ---
722
+ duration_ms: 721.917836
723
+ ...
724
+ # Trace:
725
+ # ERROR TEST Name: Folder Input Tests | works for a single folder input with few failing tests
726
+ # ERROR TEST COMMAND: node cli.js tmp/8cbd3930-a473-43e5-9458-3eb274c9393e
727
+ # Error: Command failed: node cli.js tmp/8cbd3930-a473-43e5-9458-3eb274c9393e
728
+ #
729
+ #
730
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
731
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
732
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:22:7
733
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
734
+ # at async Test.run (node:internal/test_runner/test:569:9)
735
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
736
+ # Subtest: works for a single folder input with few failing tests
737
+ ok 2 - works for a single folder input with few failing tests
738
+ ---
739
+ duration_ms: 719.385245
740
+ ...
741
+ # Trace:
742
+ # TEST NAME: Folder Input Tests |
743
+ # TEST COMMAND: node cli.js tmp/6a554b6e-b6e7-4fd1-b7b7-353c3456d015 tmp/f4ceff00-6fed-44f2-8470-2b9491be71cc
744
+ # 0: \# QUnitX running: /home/izelnakri/Github/qunitx/tmp/f4ceff00-6fed-44f2-8470-2b9491be71cc/first-module-pass.js, /home/izelnakri/Github/qunitx/tmp/f4ceff00-6fed-44f2-8470-2b9491be71cc/second-module-pass.js, /home/izelnakri/Github/qunitx/tmp/6a554b6e-b6e7-4fd1-b7b7-353c3456d015/first-module-pass.js, /home/izelnakri/Github/qunitx/tmp/6a554b6e-b6e7-4fd1-b7b7-353c3456d015/second-module-pass.js
745
+ # 1: TAP version 13
746
+ # 2: calling assert true test case
747
+ # 3: ok 1 f4ceff00-6fed-44f2-8470-2b9491be71cc | first-module-pass Passing Tests | assert true works \# (1 ms)
748
+ # 4: resolving async test
749
+ # 5: {
750
+ # 6: moduleName: 'called resolved async test with object',
751
+ # 7: placeholder: 1000,
752
+ # 8: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
753
+ # 9: }
754
+ # 10: ok 2 f4ceff00-6fed-44f2-8470-2b9491be71cc | first-module-pass Passing Tests | async test finishes \# (59 ms)
755
+ # 11: calling deepEqual test case
756
+ # 12: ok 3 f4ceff00-6fed-44f2-8470-2b9491be71cc | first-module-pass Passing Tests | deepEqual true works \# (1 ms)
757
+ # 13: calling assert true test case
758
+ # 14: ok 4 f4ceff00-6fed-44f2-8470-2b9491be71cc | second-module-pass Passing Tests | assert true works \# (1 ms)
759
+ # 15: resolving async test
760
+ # 16: {
761
+ # 17: moduleName: 'called resolved async test with object',
762
+ # 18: placeholder: 1000,
763
+ # 19: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
764
+ # 20: }
765
+ # 21: ok 5 f4ceff00-6fed-44f2-8470-2b9491be71cc | second-module-pass Passing Tests | async test finishes \# (54 ms)
766
+ # 22: calling deepEqual test case
767
+ # 23: ok 6 f4ceff00-6fed-44f2-8470-2b9491be71cc | second-module-pass Passing Tests | deepEqual true works \# (0 ms)
768
+ # 24: calling assert true test case
769
+ # 25: ok 7 6a554b6e-b6e7-4fd1-b7b7-353c3456d015 | first-module-pass Passing Tests | assert true works \# (0 ms)
770
+ # 26: resolving async test
771
+ # 27: {
772
+ # 28: moduleName: 'called resolved async test with object',
773
+ # 29: placeholder: 1000,
774
+ # 30: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
775
+ # 31: }
776
+ # 32: ok 8 6a554b6e-b6e7-4fd1-b7b7-353c3456d015 | first-module-pass Passing Tests | async test finishes \# (53 ms)
777
+ # 33: calling deepEqual test case
778
+ # 34: ok 9 6a554b6e-b6e7-4fd1-b7b7-353c3456d015 | first-module-pass Passing Tests | deepEqual true works \# (0 ms)
779
+ # 35: calling assert true test case
780
+ # 36: ok 10 6a554b6e-b6e7-4fd1-b7b7-353c3456d015 | second-module-pass Passing Tests | assert true works \# (0 ms)
781
+ # 37: resolving async test
782
+ # 38: {
783
+ # 39: moduleName: 'called resolved async test with object',
784
+ # 40: placeholder: 1000,
785
+ # 41: anotherObject: { firstName: 'Izel', createdAt: 2021-03-06T00:00:00.000Z }
786
+ # 42: }
787
+ # 43: ok 11 6a554b6e-b6e7-4fd1-b7b7-353c3456d015 | second-module-pass Passing Tests | async test finishes \# (52 ms)
788
+ # 44: calling deepEqual test case
789
+ # 45: ok 12 6a554b6e-b6e7-4fd1-b7b7-353c3456d015 | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
790
+ # 46:
791
+ # 47: 1
792
+ # 48: \# tests 12
793
+ # 49: \# pass 12
794
+ # 50: \# skip 0
795
+ # 51: \# fail 0
796
+ # 52: \# duration 228
797
+ # 53:
798
+ # 54:
799
+ #
800
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
801
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
802
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:37:24
803
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
804
+ # at async Test.run (node:internal/test_runner/test:569:9)
805
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
806
+ # Subtest: works for a multiple folders input with all passing tests
807
+ ok 3 - works for a multiple folders input with all passing tests
808
+ ---
809
+ duration_ms: 584.326714
810
+ ...
811
+ # Trace:
812
+ # ERROR TEST Name: Folder Input Tests |
813
+ # ERROR TEST COMMAND: node cli.js tmp/7c051a28-a348-428e-b079-567a466ea926 tmp/a620a107-13a6-4dc1-affc-8d4c3bfe208d
814
+ # Error: Command failed: node cli.js tmp/7c051a28-a348-428e-b079-567a466ea926 tmp/a620a107-13a6-4dc1-affc-8d4c3bfe208d
815
+ #
816
+ #
817
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
818
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
819
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:52:7
820
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
821
+ # at async Test.run (node:internal/test_runner/test:569:9)
822
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
823
+ # Subtest: works for a multiple folders input with few failing tests
824
+ ok 4 - works for a multiple folders input with few failing tests
825
+ ---
826
+ duration_ms: 836.68261
827
+ ...
828
+ # Trace:
829
+ # TEST NAME: Folder Input Tests | works for a single folder input in browser mode with all passing tests
830
+ # TEST COMMAND: node cli.js tmp/fa7ad556-ba72-4ef0-84c1-214cb4e6a23c --browser
831
+ # 0: \# QUnitX running: http://localhost:1234/
832
+ # 1: TAP version 13
833
+ # 2: ok 1 fa7ad556-ba72-4ef0-84c1-214cb4e6a23c | first-module-pass Passing Tests | assert true works \# (1 ms)
834
+ # 3: ok 2 fa7ad556-ba72-4ef0-84c1-214cb4e6a23c | first-module-pass Passing Tests | async test finishes \# (56 ms)
835
+ # 4: ok 3 fa7ad556-ba72-4ef0-84c1-214cb4e6a23c | first-module-pass Passing Tests | deepEqual true works \# (0 ms)
836
+ # 5: ok 4 fa7ad556-ba72-4ef0-84c1-214cb4e6a23c | second-module-pass Passing Tests | assert true works \# (0 ms)
837
+ # 6: ok 5 fa7ad556-ba72-4ef0-84c1-214cb4e6a23c | second-module-pass Passing Tests | async test finishes \# (53 ms)
838
+ # 7: ok 6 fa7ad556-ba72-4ef0-84c1-214cb4e6a23c | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
839
+ # 8:
840
+ # 9: 1
841
+ # 10: \# tests 6
842
+ # 11: \# pass 6
843
+ # 12: \# skip 0
844
+ # 13: \# fail 0
845
+ # 14: \# duration 768
846
+ # 15:
847
+ # 16:
848
+ #
849
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
850
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:73:24
851
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
852
+ # at async Test.run (node:internal/test_runner/test:569:9)
853
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
854
+ # Subtest: works for a single folder input in browser mode with all passing tests
855
+ ok 5 - works for a single folder input in browser mode with all passing tests
856
+ ---
857
+ duration_ms: 1402.395791
858
+ ...
859
+ # Trace:
860
+ # ERROR TEST Name: Folder Input Tests | works for a single folder input in browser mode with few failing tests
861
+ # ERROR TEST COMMAND: node cli.js tmp/50d03ddc-455e-4b60-8ea1-8553803c27ef --browser
862
+ # Error: Command failed: node cli.js tmp/50d03ddc-455e-4b60-8ea1-8553803c27ef --browser
863
+ #
864
+ #
865
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
866
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:84:7
867
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
868
+ # at async Test.run (node:internal/test_runner/test:569:9)
869
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
870
+ # Subtest: works for a single folder input in browser mode with few failing tests
871
+ ok 6 - works for a single folder input in browser mode with few failing tests
872
+ ---
873
+ duration_ms: 1575.458936
874
+ ...
875
+ # Trace:
876
+ # TEST NAME: Folder Input Tests | works for a multiple folders input in browser mode with all passing tests
877
+ # TEST COMMAND: node cli.js tmp/213f65f9-276a-4c2d-bf40-34ec55e32dea tmp/d26146f4-4944-4a0a-b29b-3203ade8d46a --browser
878
+ # 0: \# QUnitX running: http://localhost:1234/
879
+ # 1: TAP version 13
880
+ # 2: ok 1 213f65f9-276a-4c2d-bf40-34ec55e32dea | first-module-pass Passing Tests | assert true works \# (2 ms)
881
+ # 3: ok 2 213f65f9-276a-4c2d-bf40-34ec55e32dea | first-module-pass Passing Tests | async test finishes \# (52 ms)
882
+ # 4: ok 3 213f65f9-276a-4c2d-bf40-34ec55e32dea | first-module-pass Passing Tests | deepEqual true works \# (1 ms)
883
+ # 5: ok 4 213f65f9-276a-4c2d-bf40-34ec55e32dea | second-module-pass Passing Tests | assert true works \# (1 ms)
884
+ # 6: ok 5 213f65f9-276a-4c2d-bf40-34ec55e32dea | second-module-pass Passing Tests | async test finishes \# (59 ms)
885
+ # 7: ok 6 213f65f9-276a-4c2d-bf40-34ec55e32dea | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
886
+ # 8: ok 7 d26146f4-4944-4a0a-b29b-3203ade8d46a | first-module-pass Passing Tests | assert true works \# (1 ms)
887
+ # 9: ok 8 d26146f4-4944-4a0a-b29b-3203ade8d46a | first-module-pass Passing Tests | async test finishes \# (64 ms)
888
+ # 10: ok 9 d26146f4-4944-4a0a-b29b-3203ade8d46a | first-module-pass Passing Tests | deepEqual true works \# (1 ms)
889
+ # 11: ok 10 d26146f4-4944-4a0a-b29b-3203ade8d46a | second-module-pass Passing Tests | assert true works \# (2 ms)
890
+ # 12: ok 11 d26146f4-4944-4a0a-b29b-3203ade8d46a | second-module-pass Passing Tests | async test finishes \# (56 ms)
891
+ # 13: ok 12 d26146f4-4944-4a0a-b29b-3203ade8d46a | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
892
+ # 14:
893
+ # 15: 1
894
+ # 16: \# tests 12
895
+ # 17: \# pass 12
896
+ # 18: \# skip 0
897
+ # 19: \# fail 0
898
+ # 20: \# duration 865
899
+ # 21:
900
+ # 22:
901
+ #
902
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
903
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:99:24
904
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
905
+ # at async Test.run (node:internal/test_runner/test:569:9)
906
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
907
+ # Subtest: works for a multiple folders input in browser mode with all passing tests
908
+ ok 7 - works for a multiple folders input in browser mode with all passing tests
909
+ ---
910
+ duration_ms: 1763.037347
911
+ ...
912
+ # Trace:
913
+ # ERROR TEST Name: Folder Input Tests | works for a multiple folders input in browser mode with few failing tests
914
+ # ERROR TEST COMMAND: node cli.js tmp/f576b4a2-69f1-4bc3-ad4f-d44b1929cf05 tmp/183f01ae-18f2-4e24-a471-88399f79f962 --browser
915
+ # Error: Command failed: node cli.js tmp/f576b4a2-69f1-4bc3-ad4f-d44b1929cf05 tmp/183f01ae-18f2-4e24-a471-88399f79f962 --browser
916
+ #
917
+ #
918
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
919
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:114:7
920
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
921
+ # at async Test.run (node:internal/test_runner/test:569:9)
922
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
923
+ # Subtest: works for a multiple folders input in browser mode with few failing tests
924
+ ok 8 - works for a multiple folders input in browser mode with few failing tests
925
+ ---
926
+ duration_ms: 2302.067171
927
+ ...
928
+ # Trace:
929
+ # TEST NAME: Folder Input Tests | works for a single folder input in browser mode with debug and all passing tests
930
+ # TEST COMMAND: node cli.js tmp/92179d29-bd13-4d26-ad82-23feb32674f9 --browser --debug
931
+ # 0: \# HTTPServer [Server]: started successfully at [localhost:1234] in [289ms]
932
+ # 1: \# QUnitX running: http://localhost:1234/
933
+ # 2: \# [HTTPServer] GET /favicon.ico
934
+ # 3: TAP version 13
935
+ # 4: calling assert true test case
936
+ # 5: ok 1 92179d29-bd13-4d26-ad82-23feb32674f9 | first-module-pass Passing Tests | assert true works \# (2 ms)
937
+ # 6: ok 2 92179d29-bd13-4d26-ad82-23feb32674f9 | first-module-pass Passing Tests | async test finishes \# (106 ms)
938
+ # 7: resolving async test
939
+ # 8: calling deepEqual test case
940
+ # 9: ok 3 92179d29-bd13-4d26-ad82-23feb32674f9 | first-module-pass Passing Tests | deepEqual true works \# (16 ms)
941
+ # 10: ok 4 92179d29-bd13-4d26-ad82-23feb32674f9 | second-module-pass Passing Tests | assert true works \# (1 ms)
942
+ # 11: calling assert true test case
943
+ # 12: {
944
+ # 13: moduleName: 'called resolved async test with object',
945
+ # 14: placeholder: 1000,
946
+ # 15: anotherObject: { firstName: 'Izel', createdAt: {} }
947
+ # 16: }
948
+ # 17: ok 5 92179d29-bd13-4d26-ad82-23feb32674f9 | second-module-pass Passing Tests | async test finishes \# (53 ms)
949
+ # 18: ok 6 92179d29-bd13-4d26-ad82-23feb32674f9 | second-module-pass Passing Tests | deepEqual true works \# (2 ms)
950
+ # 19: resolving async test
951
+ # 20: calling deepEqual test case
952
+ # 21: {
953
+ # 22: moduleName: 'called resolved async test with object',
954
+ # 23: placeholder: 1000,
955
+ # 24: anotherObject: { firstName: 'Izel', createdAt: {} }
956
+ # 25: }
957
+ # 26:
958
+ # 27: 1
959
+ # 28: \# tests 6
960
+ # 29: \# pass 6
961
+ # 30: \# skip 0
962
+ # 31: \# fail 0
963
+ # 32: \# duration 932
964
+ # 33:
965
+ # 34: \# HTTPServer [Server]: stopped successfully
966
+ # 35:
967
+ #
968
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
969
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:135:24
970
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
971
+ # at async Test.run (node:internal/test_runner/test:569:9)
972
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
973
+ # Subtest: works for a single folder input in browser mode with debug and all passing tests
974
+ ok 9 - works for a single folder input in browser mode with debug and all passing tests
975
+ ---
976
+ duration_ms: 2244.64355
977
+ ...
978
+ # Trace:
979
+ # ERROR TEST Name: Folder Input Tests | works for a single folder input in browser mode with debug and few failing tests
980
+ # ERROR TEST COMMAND: node cli.js tmp/31012d7e-1d7c-460e-81ed-9e42f774b6b6 --browser --debug
981
+ # Error: Command failed: node cli.js tmp/31012d7e-1d7c-460e-81ed-9e42f774b6b6 --browser --debug
982
+ #
983
+ #
984
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
985
+ # at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
986
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:146:7
987
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
988
+ # at async Test.run (node:internal/test_runner/test:569:9)
989
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
990
+ # Subtest: works for a single folder input in browser mode with debug and few failing tests
991
+ ok 10 - works for a single folder input in browser mode with debug and few failing tests
992
+ ---
993
+ duration_ms: 2509.226922
994
+ ...
995
+ # Trace:
996
+ # TEST NAME: Folder Input Tests | works for a multiple folders input in browser mode with debug and all passing tests
997
+ # TEST COMMAND: node cli.js tmp/44e4354a-73e9-4890-8120-8b45620704cc tmp/36e40270-10a6-4a01-9ff9-07ace042c88e --browser --debug
998
+ # 0: \# HTTPServer [Server]: started successfully at [localhost:1234] in [576ms]
999
+ # 1: \# QUnitX running: http://localhost:1234/
1000
+ # 2: \# [HTTPServer] GET /favicon.ico
1001
+ # 3: TAP version 13
1002
+ # 4: ok 1 44e4354a-73e9-4890-8120-8b45620704cc | first-module-pass Passing Tests | assert true works \# (2 ms)
1003
+ # 5: calling assert true test case
1004
+ # 6: resolving async test
1005
+ # 7: ok 2 44e4354a-73e9-4890-8120-8b45620704cc | first-module-pass Passing Tests | async test finishes \# (74 ms)
1006
+ # 8: calling deepEqual test case
1007
+ # 9: ok 3 44e4354a-73e9-4890-8120-8b45620704cc | first-module-pass Passing Tests | deepEqual true works \# (1 ms)
1008
+ # 10: calling assert true test case
1009
+ # 11: ok 4 44e4354a-73e9-4890-8120-8b45620704cc | second-module-pass Passing Tests | assert true works \# (1 ms)
1010
+ # 12: {
1011
+ # 13: moduleName: 'called resolved async test with object',
1012
+ # 14: placeholder: 1000,
1013
+ # 15: anotherObject: { firstName: 'Izel', createdAt: {} }
1014
+ # 16: }
1015
+ # 17: ok 5 44e4354a-73e9-4890-8120-8b45620704cc | second-module-pass Passing Tests | async test finishes \# (52 ms)
1016
+ # 18: ok 6 44e4354a-73e9-4890-8120-8b45620704cc | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
1017
+ # 19: ok 7 36e40270-10a6-4a01-9ff9-07ace042c88e | first-module-pass Passing Tests | assert true works \# (0 ms)
1018
+ # 20: resolving async test
1019
+ # 21: calling deepEqual test case
1020
+ # 22: calling assert true test case
1021
+ # 23: {
1022
+ # 24: moduleName: 'called resolved async test with object',
1023
+ # 25: placeholder: 1000,
1024
+ # 26: anotherObject: { firstName: 'Izel', createdAt: {} }
1025
+ # 27: }
1026
+ # 28: resolving async test
1027
+ # 29: ok 8 36e40270-10a6-4a01-9ff9-07ace042c88e | first-module-pass Passing Tests | async test finishes \# (56 ms)
1028
+ # 30: calling deepEqual test case
1029
+ # 31: ok 9 36e40270-10a6-4a01-9ff9-07ace042c88e | first-module-pass Passing Tests | deepEqual true works \# (1 ms)
1030
+ # 32: calling assert true test case
1031
+ # 33: ok 10 36e40270-10a6-4a01-9ff9-07ace042c88e | second-module-pass Passing Tests | assert true works \# (1 ms)
1032
+ # 34: {
1033
+ # 35: moduleName: 'called resolved async test with object',
1034
+ # 36: placeholder: 1000,
1035
+ # 37: anotherObject: { firstName: 'Izel', createdAt: {} }
1036
+ # 38: }
1037
+ # 39: ok 11 36e40270-10a6-4a01-9ff9-07ace042c88e | second-module-pass Passing Tests | async test finishes \# (51 ms)
1038
+ # 40: resolving async test
1039
+ # 41: calling deepEqual test case
1040
+ # 42: ok 12 36e40270-10a6-4a01-9ff9-07ace042c88e | second-module-pass Passing Tests | deepEqual true works \# (1 ms)
1041
+ # 43: {
1042
+ # 44: moduleName: 'called resolved async test with object',
1043
+ # 45: placeholder: 1000,
1044
+ # 46: anotherObject: { firstName: 'Izel', createdAt: {} }
1045
+ # 47: }
1046
+ # 48:
1047
+ # 49: 1
1048
+ # 50: \# tests 12
1049
+ # 51: \# pass 12
1050
+ # 52: \# skip 0
1051
+ # 53: \# fail 0
1052
+ # 54: \# duration 922
1053
+ # 55:
1054
+ # 56: \# HTTPServer [Server]: stopped successfully
1055
+ # 57:
1056
+ #
1057
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:11:13)
1058
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:161:24
1059
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
1060
+ # at async Test.run (node:internal/test_runner/test:569:9)
1061
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
1062
+ # Subtest: works for a multiple folders input in browser mode with debug and all passing tests
1063
+ ok 11 - works for a multiple folders input in browser mode with debug and all passing tests
1064
+ ---
1065
+ duration_ms: 3088.002408
1066
+ ...
1067
+ # Trace:
1068
+ # ERROR TEST Name: Folder Input Tests | works for a multiple folders input in browser mode with debug and few failing tests
1069
+ # ERROR TEST COMMAND: node cli.js tmp/5eae46f6-7975-475e-b752-b57b91c0ddb3 tmp/a21670c1-cca0-47c9-9197-3fb57313b2bf --browser --debug
1070
+ # Error: Command failed: node cli.js tmp/5eae46f6-7975-475e-b752-b57b91c0ddb3 tmp/a21670c1-cca0-47c9-9197-3fb57313b2bf --browser --debug
1071
+ #
1072
+ #
1073
+ # at execute (file:///home/izelnakri/Github/qunitx/test/helpers/shell.js:27:13)
1074
+ # at async file:///home/izelnakri/Github/qunitx/test/inputs/folder-test.js:176:7
1075
+ # at async TestContext.<anonymous> (file:///home/izelnakri/Github/qunitx/shims/nodejs.js:21:12)
1076
+ # at async Test.run (node:internal/test_runner/test:569:9)
1077
+ # at async Suite.processPendingSubtests (node:internal/test_runner/test:315:7)
1078
+ # Subtest: works for a multiple folders input in browser mode with debug and few failing tests
1079
+ ok 12 - works for a multiple folders input in browser mode with debug and few failing tests
1080
+ ---
1081
+ duration_ms: 2069.898139
1082
+ ...
1083
+ 1..12
1084
+ ok 8 - Folder Input Tests
1085
+ ---
1086
+ duration_ms: 19819.356211
1087
+ type: 'suite'
1088
+ ...
1089
+ # Subtest: Setup | glob(*) input tests | test-file-paths tests
1090
+ # Subtest: setupTestFilePaths() works correctly on different inputs
1091
+ ok 1 - setupTestFilePaths() works correctly on different inputs
1092
+ ---
1093
+ duration_ms: 28.019468
1094
+ ...
1095
+ 1..1
1096
+ ok 9 - Setup | glob(*) input tests | test-file-paths tests
1097
+ ---
1098
+ duration_ms: 32.040321
1099
+ type: 'suite'
1100
+ ...
1101
+ 1..9
1102
+ # tests 39
1103
+ # suites 9
1104
+ # pass 38
1105
+ # fail 1
1106
+ # cancelled 0
1107
+ # skipped 0
1108
+ # todo 0
1109
+ # duration_ms 36527.965792