tape-six 1.5.0 → 1.5.1

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/README.md CHANGED
@@ -380,6 +380,7 @@ Test output can be controlled by flags. See [Supported flags](https://github.com
380
380
 
381
381
  The most recent releases:
382
382
 
383
+ - 1.5.1 _Better support for stopping parallel tests, better support for "failed to load" errors._
383
384
  - 1.5.0 _Internal refactoring (moved state to reporters), added type identification of values in the DOM and TTY reporters, multiple minor fixes._
384
385
  - 1.4.5 _Internal: added flags support for custom test runners._
385
386
  - 1.4.4 _Refreshed the lock file._
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tape-six",
3
- "version": "1.5.0",
4
- "description": "TAP the test harness for the modern JavaScript (ES6).",
3
+ "version": "1.5.1",
4
+ "description": "The test harness for the modern JavaScript and TypeScript.",
5
5
  "type": "module",
6
6
  "main": "index.js",
7
7
  "module": "index.js",
@@ -37,16 +37,20 @@ export default class TestWorker extends EventServer {
37
37
  name: 'fail to load: ' + (error.message || 'Worker error'),
38
38
  test: 0
39
39
  });
40
- this.report(id, {
41
- name: String(error),
42
- test: 0,
43
- marker: new Error(),
44
- operator: 'error',
45
- fail: true,
46
- data: {
47
- actual: error
48
- }
49
- });
40
+ try {
41
+ this.report(id, {
42
+ name: String(error),
43
+ test: 0,
44
+ marker: new Error(),
45
+ operator: 'error',
46
+ fail: true,
47
+ data: {
48
+ actual: error
49
+ }
50
+ });
51
+ } catch (error) {
52
+ if (!isStopTest(error)) throw error;
53
+ }
50
54
  this.close(id);
51
55
  });
52
56
  worker.addEventListener('messageerror', error => {
@@ -55,16 +59,20 @@ export default class TestWorker extends EventServer {
55
59
  name: 'fail to load: ' + (error.message || 'Worker error'),
56
60
  test: 0
57
61
  });
58
- this.report(id, {
59
- name: String(error),
60
- test: 0,
61
- marker: new Error(),
62
- operator: 'error',
63
- fail: true,
64
- data: {
65
- actual: error
66
- }
67
- });
62
+ try {
63
+ this.report(id, {
64
+ name: String(error),
65
+ test: 0,
66
+ marker: new Error(),
67
+ operator: 'error',
68
+ fail: true,
69
+ data: {
70
+ actual: error
71
+ }
72
+ });
73
+ } catch (error) {
74
+ if (!isStopTest(error)) throw error;
75
+ }
68
76
  this.close(id);
69
77
  });
70
78
  worker.postMessage({
@@ -39,16 +39,20 @@ export default class TestWorker extends EventServer {
39
39
  name: 'fail to load: ' + (error.message || 'Worker error'),
40
40
  test: 0
41
41
  });
42
- this.report(id, {
43
- name: String(error),
44
- test: 0,
45
- marker: new Error(),
46
- operator: 'error',
47
- fail: true,
48
- data: {
49
- actual: error
50
- }
51
- });
42
+ try {
43
+ this.report(id, {
44
+ name: String(error),
45
+ test: 0,
46
+ marker: new Error(),
47
+ operator: 'error',
48
+ fail: true,
49
+ data: {
50
+ actual: error
51
+ }
52
+ });
53
+ } catch (error) {
54
+ if (!isStopTest(error)) throw error;
55
+ }
52
56
  this.close(id);
53
57
  });
54
58
  worker.postMessage({
@@ -39,16 +39,20 @@ export default class TestWorker extends EventServer {
39
39
  name: 'fail to load: ' + (error.message || 'Worker error'),
40
40
  test: 0
41
41
  });
42
- this.report(id, {
43
- name: String(error),
44
- test: 0,
45
- marker: new Error(),
46
- operator: 'error',
47
- fail: true,
48
- data: {
49
- actual: error
50
- }
51
- });
42
+ try {
43
+ this.report(id, {
44
+ name: String(error),
45
+ test: 0,
46
+ marker: new Error(),
47
+ operator: 'error',
48
+ fail: true,
49
+ data: {
50
+ actual: error
51
+ }
52
+ });
53
+ } catch (error) {
54
+ if (!isStopTest(error)) throw error;
55
+ }
52
56
  this.close(id);
53
57
  });
54
58
  worker.on('messageerror', error => {
@@ -57,16 +61,20 @@ export default class TestWorker extends EventServer {
57
61
  name: 'fail to load: ' + (error.message || 'Worker error'),
58
62
  test: 0
59
63
  });
60
- this.report(id, {
61
- name: String(error),
62
- test: 0,
63
- marker: new Error(),
64
- operator: 'error',
65
- fail: true,
66
- data: {
67
- actual: error
68
- }
69
- });
64
+ try {
65
+ this.report(id, {
66
+ name: String(error),
67
+ test: 0,
68
+ marker: new Error(),
69
+ operator: 'error',
70
+ fail: true,
71
+ data: {
72
+ actual: error
73
+ }
74
+ });
75
+ } catch (error) {
76
+ if (!isStopTest(error)) throw error;
77
+ }
70
78
  this.close(id);
71
79
  });
72
80
  worker.postMessage({
@@ -29,9 +29,13 @@ export default class EventServer {
29
29
  this.finalized[id] = 1;
30
30
  --this.totalTasks;
31
31
  if (this.fileQueue.length) {
32
- ++this.totalTasks;
33
- const nextFile = this.fileQueue.shift();
34
- defer(() => this.makeTask(nextFile));
32
+ if (this.reporter.state?.stopTest) {
33
+ this.fileQueue = [];
34
+ } else {
35
+ ++this.totalTasks;
36
+ const nextFile = this.fileQueue.shift();
37
+ defer(() => this.makeTask(nextFile));
38
+ }
35
39
  }
36
40
  if (this.passThroughId === id) {
37
41
  this.passThroughId = null;
@@ -66,6 +70,7 @@ export default class EventServer {
66
70
  }
67
71
  }
68
72
  createTask(fileName) {
73
+ if (this.reporter.state?.stopTest) return;
69
74
  if (this.totalTasks < this.numberOfTasks) {
70
75
  ++this.totalTasks;
71
76
  this.makeTask(fileName);
@@ -1,4 +1,5 @@
1
1
  import EventServer from '../src/utils/EventServer.js';
2
+ import {isStopTest} from '../src/State.js';
2
3
 
3
4
  export default class TestWorker extends EventServer {
4
5
  constructor(reporter, numberOfTasks, options) {
@@ -20,16 +21,20 @@ export default class TestWorker extends EventServer {
20
21
  name: 'fail to load: ' + (error.message || 'Worker error'),
21
22
  test: 0
22
23
  });
23
- this.report(id, {
24
- name: String(error),
25
- test: 0,
26
- marker: new Error(),
27
- operator: 'error',
28
- fail: true,
29
- data: {
30
- actual: error
31
- }
32
- });
24
+ try {
25
+ this.report(id, {
26
+ name: String(error),
27
+ test: 0,
28
+ marker: new Error(),
29
+ operator: 'error',
30
+ fail: true,
31
+ data: {
32
+ actual: error
33
+ }
34
+ });
35
+ } catch (error) {
36
+ if (!isStopTest(error)) throw error;
37
+ }
33
38
  }
34
39
  this.close(id);
35
40
  };