From 7fa478295496d16bfc99dd80858544900c7b0a4c Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Sat, 7 Nov 2020 11:34:14 -0500 Subject: [PATCH] Return an error code when promise main() functions fail (#1002) --- dev/util.js | 13 ++++++++++++- test/test-cache-map.js | 3 ++- test/test-core.js | 3 ++- test/test-database.js | 4 ++-- test/test-dictionary.js | 4 ++-- test/test-document-util.js | 3 ++- test/test-dom-text-scanner.js | 3 ++- test/test-japanese.js | 3 ++- test/test-manifest.js | 4 ++-- test/test-object-property-accessor.js | 3 ++- test/test-options-util.js | 3 ++- test/test-profile-conditions.js | 3 ++- test/test-schema.js | 3 ++- test/test-text-source-map.js | 3 ++- 14 files changed, 38 insertions(+), 17 deletions(-) diff --git a/dev/util.js b/dev/util.js index 971837af..c17cd29a 100644 --- a/dev/util.js +++ b/dev/util.js @@ -137,6 +137,16 @@ function createDictionaryArchive(dictionaryDirectory, dictionaryName) { } +async function testMain(func) { + try { + await func(); + } catch (e) { + console.log(e); + process.exit(-1); + } +} + + module.exports = { get JSZip() { return getJSZip(); }, getArgs, @@ -144,5 +154,6 @@ module.exports = { getDefaultManifest, getDefaultManifestAndVariants, createManifestString, - createDictionaryArchive + createDictionaryArchive, + testMain }; diff --git a/test/test-cache-map.js b/test/test-cache-map.js index 12367a90..a0598c18 100644 --- a/test/test-cache-map.js +++ b/test/test-cache-map.js @@ -16,6 +16,7 @@ */ const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); const vm = new VM({console}); @@ -218,4 +219,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-core.js b/test/test-core.js index b5c0683f..3e8b8414 100644 --- a/test/test-core.js +++ b/test/test-core.js @@ -17,6 +17,7 @@ const assert = require('assert'); const crypto = require('crypto'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); const vm = new VM({ @@ -166,4 +167,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-database.js b/test/test-database.js index dce89559..cbaf49dd 100644 --- a/test/test-database.js +++ b/test/test-database.js @@ -19,7 +19,7 @@ const fs = require('fs'); const url = require('url'); const path = require('path'); const assert = require('assert'); -const {JSZip, createDictionaryArchive} = require('../dev/util'); +const {JSZip, createDictionaryArchive, testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); require('fake-indexeddb/auto'); @@ -958,4 +958,4 @@ async function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-dictionary.js b/test/test-dictionary.js index e7db75eb..1a2dca68 100644 --- a/test/test-dictionary.js +++ b/test/test-dictionary.js @@ -16,7 +16,7 @@ */ const path = require('path'); -const {createDictionaryArchive} = require('../dev/util'); +const {createDictionaryArchive, testMain} = require('../dev/util'); const dictionaryValidate = require('../dev/dictionary-validate'); @@ -62,4 +62,4 @@ async function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-document-util.js b/test/test-document-util.js index 99eea3ab..63a13581 100644 --- a/test/test-document-util.js +++ b/test/test-document-util.js @@ -19,6 +19,7 @@ const fs = require('fs'); const path = require('path'); const assert = require('assert'); const {JSDOM} = require('jsdom'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); @@ -238,4 +239,4 @@ async function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-dom-text-scanner.js b/test/test-dom-text-scanner.js index b9ff6239..ef59f33e 100644 --- a/test/test-dom-text-scanner.js +++ b/test/test-dom-text-scanner.js @@ -19,6 +19,7 @@ const fs = require('fs'); const path = require('path'); const assert = require('assert'); const {JSDOM} = require('jsdom'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); @@ -180,4 +181,4 @@ async function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-japanese.js b/test/test-japanese.js index ad3084f1..54186a96 100644 --- a/test/test-japanese.js +++ b/test/test-japanese.js @@ -16,6 +16,7 @@ */ const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); const vm = new VM(); @@ -496,4 +497,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-manifest.js b/test/test-manifest.js index 230e6139..cd2413b9 100644 --- a/test/test-manifest.js +++ b/test/test-manifest.js @@ -18,7 +18,7 @@ const fs = require('fs'); const path = require('path'); const assert = require('assert'); -const {getDefaultManifest, createManifestString} = require('../dev/util'); +const {getDefaultManifest, createManifestString, testMain} = require('../dev/util'); function loadManifestString() { @@ -38,4 +38,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-object-property-accessor.js b/test/test-object-property-accessor.js index 42fa3d40..b875575a 100644 --- a/test/test-object-property-accessor.js +++ b/test/test-object-property-accessor.js @@ -16,6 +16,7 @@ */ const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); const vm = new VM({}); @@ -411,4 +412,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-options-util.js b/test/test-options-util.js index 82859dd3..135b2b2e 100644 --- a/test/test-options-util.js +++ b/test/test-options-util.js @@ -19,6 +19,7 @@ const fs = require('fs'); const url = require('url'); const path = require('path'); const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); @@ -627,4 +628,4 @@ async function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-profile-conditions.js b/test/test-profile-conditions.js index 8ef24b5a..52d2ca24 100644 --- a/test/test-profile-conditions.js +++ b/test/test-profile-conditions.js @@ -16,6 +16,7 @@ */ const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); @@ -839,4 +840,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-schema.js b/test/test-schema.js index 20f72518..34dd857a 100644 --- a/test/test-schema.js +++ b/test/test-schema.js @@ -16,6 +16,7 @@ */ const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); const vm = new VM(); @@ -613,4 +614,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); } diff --git a/test/test-text-source-map.js b/test/test-text-source-map.js index c9810d19..ef561653 100644 --- a/test/test-text-source-map.js +++ b/test/test-text-source-map.js @@ -16,6 +16,7 @@ */ const assert = require('assert'); +const {testMain} = require('../dev/util'); const {VM} = require('../dev/vm'); const vm = new VM(); @@ -230,4 +231,4 @@ function main() { } -if (require.main === module) { main(); } +if (require.main === module) { testMain(main); }