build: run node tests
This commit is contained in:
parent
637cfdd9a0
commit
1d06f67672
6 changed files with 433 additions and 9 deletions
|
@ -923,6 +923,21 @@ steps-test-nan: &steps-test-nan
|
|||
export ELECTRON_OUT_DIR=Default
|
||||
node electron/script/nan-spec-runner.js
|
||||
|
||||
steps-test-node: &steps-test-node
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: .
|
||||
- *step-depot-tools-add-to-path
|
||||
- *step-electron-dist-unzip
|
||||
- *step-setup-linux-for-headless-testing
|
||||
- *step-fix-known-hosts-linux
|
||||
- run:
|
||||
name: Run Node Tests
|
||||
command: |
|
||||
cd src
|
||||
export ELECTRON_OUT_DIR=Default
|
||||
node electron/script/node-spec-runner.js
|
||||
|
||||
chromium-upgrade-branches: &chromium-upgrade-branches
|
||||
/chromium\-upgrade\/[0-9]+/
|
||||
|
||||
|
@ -1369,6 +1384,14 @@ jobs:
|
|||
<<: *env-stack-dumping
|
||||
<<: *steps-test-nan
|
||||
|
||||
linux-x64-testing-node:
|
||||
<<: *machine-linux-medium
|
||||
environment:
|
||||
<<: *env-linux-medium
|
||||
<<: *env-headless-testing
|
||||
<<: *env-stack-dumping
|
||||
<<: *steps-test-node
|
||||
|
||||
linux-x64-release-tests:
|
||||
<<: *machine-linux-medium
|
||||
environment:
|
||||
|
@ -1411,6 +1434,15 @@ jobs:
|
|||
<<: *env-stack-dumping
|
||||
<<: *steps-test-nan
|
||||
|
||||
linux-ia32-testing-node:
|
||||
<<: *machine-linux-medium
|
||||
environment:
|
||||
<<: *env-linux-medium
|
||||
<<: *env-ia32
|
||||
<<: *env-headless-testing
|
||||
<<: *env-stack-dumping
|
||||
<<: *steps-test-node
|
||||
|
||||
linux-ia32-release-tests:
|
||||
<<: *machine-linux-medium
|
||||
environment:
|
||||
|
@ -1605,6 +1637,9 @@ workflows:
|
|||
- linux-x64-testing-nan:
|
||||
requires:
|
||||
- linux-x64-testing
|
||||
- linux-x64-testing-node:
|
||||
requires:
|
||||
- linux-x64-testing
|
||||
|
||||
- linux-ia32-debug:
|
||||
requires:
|
||||
|
@ -1618,6 +1653,9 @@ workflows:
|
|||
- linux-ia32-testing-nan:
|
||||
requires:
|
||||
- linux-ia32-testing
|
||||
- linux-ia32-testing-node:
|
||||
requires:
|
||||
- linux-ia32-testing
|
||||
|
||||
- linux-arm-debug:
|
||||
requires:
|
||||
|
|
|
@ -39,3 +39,4 @@ src_expose_maybeinitializecontext_to_allow_existing_contexts.patch
|
|||
fix_extern_the_nativemoduleenv_and_options_parser_for_debug_builds.patch
|
||||
chore_read_nobrowserglobals_from_global_not_process.patch
|
||||
chore_split_createenvironment_into_createenvironment_and.patch
|
||||
chore_handle_default_configuration_not_being_set_in_the_electron_env.patch
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Attard <sattard@slack-corp.com>
|
||||
Date: Tue, 23 Jul 2019 11:36:48 -0700
|
||||
Subject: chore: handle default_configuration not being set in the electron env
|
||||
|
||||
|
||||
diff --git a/test/common/index.js b/test/common/index.js
|
||||
index bbb74e2b988517bddc610084a9ee959eda6912e5..c8487ad94c9f4a9603cee0f2c368a4e119f92bcd 100644
|
||||
--- a/test/common/index.js
|
||||
+++ b/test/common/index.js
|
||||
@@ -118,7 +118,7 @@ const enoughTestCpu = Array.isArray(cpus) &&
|
||||
|
||||
const rootDir = isWindows ? 'c:\\' : '/';
|
||||
|
||||
-const buildType = process.config.target_defaults.default_configuration;
|
||||
+const buildType = process.config.target_defaults ? process.config.target_defaults.default_configuration : 'Release';
|
||||
|
||||
|
||||
// If env var is set then enable async_hook hooks for all tests.
|
330
script/node-disabled-tests.json
Normal file
330
script/node-disabled-tests.json
Normal file
|
@ -0,0 +1,330 @@
|
|||
[
|
||||
"parallel/test-async-hooks-close-during-destroy",
|
||||
"parallel/test-async-hooks-promise",
|
||||
"parallel/test-async-hooks-promise-triggerid",
|
||||
"parallel/test-async-hooks-top-level-clearimmediate",
|
||||
"parallel/test-bootstrap-modules",
|
||||
"parallel/test-buffer-backing-arraybuffer",
|
||||
"parallel/test-buffer-constructor-node-modules-paths",
|
||||
"parallel/test-child-process-exec-maxbuf",
|
||||
"parallel/test-child-process-execfilesync-maxbuf",
|
||||
"parallel/test-child-process-execfile-maxbuf",
|
||||
"parallel/test-child-process-execsync-maxbuf",
|
||||
"parallel/test-child-process-fork-exec-path",
|
||||
"parallel/test-child-process-promisified",
|
||||
"parallel/test-child-process-spawnsync-maxbuf",
|
||||
"parallel/test-child-process-spawnsync-input",
|
||||
"parallel/test-cli-bad-options",
|
||||
"parallel/test-cli-node-print-help",
|
||||
"parallel/test-child-process-windows-hide",
|
||||
"parallel/test-cli-eval",
|
||||
"parallel/test-cli-syntax-eval",
|
||||
"parallel/test-cli-node-options",
|
||||
"parallel/test-cli-syntax-piped-good",
|
||||
"parallel/test-cli-syntax-piped-bad",
|
||||
"parallel/test-code-cache",
|
||||
"parallel/test-common-gc",
|
||||
"parallel/test-crypto-aes-wrap",
|
||||
"parallel/test-crypto",
|
||||
"parallel/test-crypto-authenticated",
|
||||
"parallel/test-crypto-des3-wrap",
|
||||
"parallel/test-crypto-binary-default",
|
||||
"parallel/test-crypto-certificate",
|
||||
"parallel/test-crypto-cipher-decipher",
|
||||
"parallel/test-crypto-cipheriv-decipheriv",
|
||||
"parallel/test-crypto-ecb",
|
||||
"parallel/test-crypto-ecdh-convert-key",
|
||||
"parallel/test-crypto-classes",
|
||||
"parallel/test-crypto-engine",
|
||||
"parallel/test-crypto-dh",
|
||||
"parallel/test-crypto-hash-stream-pipe",
|
||||
"parallel/test-crypto-key-objects",
|
||||
"parallel/test-crypto-keygen",
|
||||
"parallel/test-crypto-padding",
|
||||
"parallel/test-crypto-padding-aes256",
|
||||
"parallel/test-crypto-sign-verify",
|
||||
"parallel/test-crypto-rsa-dsa",
|
||||
"parallel/test-crypto-stream",
|
||||
"parallel/test-debugger-pid",
|
||||
"parallel/test-crypto-scrypt",
|
||||
"parallel/test-debug-usage",
|
||||
"parallel/test-domain-async-id-map-leak",
|
||||
"parallel/test-domain-abort-on-uncaught",
|
||||
"parallel/test-dummy-stdio",
|
||||
"parallel/test-domain-with-abort-on-uncaught-exception",
|
||||
"parallel/test-freeze-intrinsics",
|
||||
"parallel/test-fs-write-sigxfsz",
|
||||
"parallel/test-http-client-readable",
|
||||
"parallel/test-gc-tls-external-memory",
|
||||
"parallel/test-http-generic-streams",
|
||||
"parallel/test-http-pipeline-requests-connection-leak",
|
||||
"parallel/test-http2-compat-serverrequest-settimeout",
|
||||
"parallel/test-http2-compat-serverresponse-settimeout",
|
||||
"parallel/test-https-agent-session-reuse",
|
||||
"parallel/test-https-options-boolean-check",
|
||||
"parallel/test-inspector-port-zero-cluster",
|
||||
"parallel/test-inspector-vm-global-accessors-getter-sideeffect",
|
||||
"parallel/test-inspector-vm-global-accessors-sideeffects",
|
||||
"parallel/test-internal-util-weakreference",
|
||||
"parallel/test-inspector-heap-allocation-tracker",
|
||||
"parallel/test-module-loading-globalpaths",
|
||||
"parallel/test-module-version",
|
||||
"parallel/test-openssl-ca-options",
|
||||
"parallel/test-preload-print-process-argv",
|
||||
"parallel/test-process-env-allowed-flags-are-documented",
|
||||
"parallel/test-process-env-sideeffects",
|
||||
"parallel/test-process-exception-capture",
|
||||
"parallel/test-process-exception-capture-should-abort-on-uncaught",
|
||||
"parallel/test-process-exception-capture-should-abort-on-uncaught-setflagsfromstring",
|
||||
"parallel/test-process-exec-argv",
|
||||
"parallel/test-process-external-stdio-close",
|
||||
"parallel/test-process-external-stdio-close-spawn",
|
||||
"parallel/test-process-uptime",
|
||||
"parallel/test-process-versions",
|
||||
"parallel/test-readline-interface",
|
||||
"parallel/test-inspector-esm",
|
||||
"parallel/test-repl-harmony",
|
||||
"parallel/test-inspector-tracing-domain",
|
||||
"parallel/test-repl",
|
||||
"parallel/test-repl-require-after-write",
|
||||
"parallel/test-repl-pretty-custom-stack",
|
||||
"parallel/test-repl-pretty-stack",
|
||||
"parallel/test-repl-uncaught-exception",
|
||||
"parallel/test-repl-unexpected-token-recoverable",
|
||||
"parallel/test-repl-underscore",
|
||||
"parallel/test-signal-handler",
|
||||
"parallel/test-security-revert-unknown",
|
||||
"parallel/test-stdout-close-catch",
|
||||
"parallel/test-policy-integrity",
|
||||
"parallel/test-repl-tab-complete",
|
||||
"parallel/test-tls-cert-chains-concat",
|
||||
"parallel/test-tls-cert-chains-in-ca",
|
||||
"parallel/test-tls-client-getephemeralkeyinfo",
|
||||
"parallel/test-tls-client-mindhsize",
|
||||
"parallel/test-tls-cli-min-version-1.3",
|
||||
"parallel/test-tls-cli-max-version-1.2",
|
||||
"parallel/test-tls-cli-max-version-1.3",
|
||||
"parallel/test-tls-client-auth",
|
||||
"parallel/test-tls-cli-min-version-1.1",
|
||||
"parallel/test-tls-cli-min-version-1.2",
|
||||
"parallel/test-tls-client-reject",
|
||||
"parallel/test-tls-client-renegotiation-13",
|
||||
"parallel/test-tls-disable-renegotiation",
|
||||
"parallel/test-tls-empty-sni-context",
|
||||
"parallel/test-tls-handshake-error",
|
||||
"parallel/test-tls-generic-stream",
|
||||
"parallel/test-tls-getcipher",
|
||||
"parallel/test-tls-finished",
|
||||
"parallel/test-tls-env-bad-extra-ca",
|
||||
"parallel/test-tls-honorcipherorder",
|
||||
"parallel/test-tls-env-extra-ca",
|
||||
"parallel/test-tls-key-mismatch",
|
||||
"parallel/test-tls-junk-server",
|
||||
"parallel/test-tls-max-send-fragment",
|
||||
"parallel/test-tls-multi-key",
|
||||
"parallel/test-tls-multi-pfx",
|
||||
"parallel/test-tls-no-cert-required",
|
||||
"parallel/test-tls-min-max-version",
|
||||
"parallel/test-tls-options-boolean-check",
|
||||
"parallel/test-tls-passphrase",
|
||||
"parallel/test-tls-peer-certificate",
|
||||
"parallel/test-tls-pfx-authorizationerror",
|
||||
"parallel/test-tls-server-failed-handshake-emits-clienterror",
|
||||
"parallel/test-tls-set-ciphers-error",
|
||||
"parallel/test-tls-set-ciphers",
|
||||
"parallel/test-tls-socket-failed-handshake-emits-error",
|
||||
"parallel/test-tls-ticket",
|
||||
"parallel/test-trace-events-api-worker-disabled",
|
||||
"parallel/test-tls-ticket-cluster",
|
||||
"parallel/test-trace-events-dynamic-enable",
|
||||
"parallel/test-trace-events-dynamic-enable-workers-disabled",
|
||||
"parallel/test-trace-events-all",
|
||||
"parallel/test-trace-events-binding",
|
||||
"parallel/test-trace-events-async-hooks",
|
||||
"parallel/test-trace-events-category-used",
|
||||
"parallel/test-trace-events-fs-sync",
|
||||
"parallel/test-trace-events-bootstrap",
|
||||
"parallel/test-trace-events-console",
|
||||
"parallel/test-trace-events-process-exit",
|
||||
"parallel/test-trace-events-environment",
|
||||
"parallel/test-trace-events-file-pattern",
|
||||
"parallel/test-trace-events-perf",
|
||||
"parallel/test-trace-events-promises",
|
||||
"parallel/test-trace-events-metadata",
|
||||
"parallel/test-trace-events-none",
|
||||
"parallel/test-trace-events-vm",
|
||||
"parallel/test-trace-events-v8",
|
||||
"parallel/test-trace-events-worker-metadata",
|
||||
"parallel/test-v8-flags",
|
||||
"parallel/test-v8-coverage",
|
||||
"parallel/test-vm-basic",
|
||||
"parallel/test-vm-codegen",
|
||||
"parallel/test-vm-parse-abort-on-uncaught-exception",
|
||||
"parallel/test-vm-syntax-error-message",
|
||||
"parallel/test-warn-sigprof",
|
||||
"parallel/test-whatwg-encoding-custom-textdecoder",
|
||||
"parallel/test-worker",
|
||||
"parallel/test-worker-abort-on-uncaught-exception-terminate",
|
||||
"parallel/test-worker-cleanexit-with-js",
|
||||
"parallel/test-worker-cleanexit-with-moduleload",
|
||||
"parallel/test-worker-cleanup-handles",
|
||||
"parallel/test-worker-console-listeners",
|
||||
"parallel/test-worker-dns-terminate",
|
||||
"parallel/test-worker-error-stack-getter-throws",
|
||||
"parallel/test-worker-esm-missing-main",
|
||||
"parallel/test-worker-debug",
|
||||
"parallel/test-worker-dns-terminate-during-query",
|
||||
"parallel/test-worker-esm-exit",
|
||||
"parallel/test-worker-esmodule",
|
||||
"parallel/test-worker-exit-from-uncaught-exception",
|
||||
"parallel/test-worker-exit-code",
|
||||
"parallel/test-worker-execargv",
|
||||
"parallel/test-worker-fs-stat-watcher",
|
||||
"parallel/test-worker-message-channel",
|
||||
"parallel/test-worker-memory",
|
||||
"parallel/test-worker-http2-generic-streams-terminate",
|
||||
"parallel/test-worker-message-channel-sharedarraybuffer",
|
||||
"parallel/test-worker-message-not-serializable",
|
||||
"parallel/test-worker-message-port-drain",
|
||||
"parallel/test-worker-message-port-message-before-close",
|
||||
"parallel/test-worker-message-port-transfer-duplicate",
|
||||
"parallel/test-worker-message-port-transfer-target",
|
||||
"parallel/test-worker-message-port-transfer-terminate",
|
||||
"parallel/test-worker-message-port-wasm-module",
|
||||
"parallel/test-worker-message-port-wasm-threads",
|
||||
"parallel/test-worker-mjs-workerdata",
|
||||
"parallel/test-worker-process-env-shared",
|
||||
"parallel/test-worker-onmessage",
|
||||
"parallel/test-worker-parent-port-ref",
|
||||
"parallel/test-worker-nexttick-terminate",
|
||||
"parallel/test-worker-no-stdin-stdout-interaction",
|
||||
"parallel/test-worker-onmessage-not-a-function",
|
||||
"parallel/test-worker-process-cwd",
|
||||
"parallel/test-worker-process-env",
|
||||
"parallel/test-worker-ref",
|
||||
"parallel/test-worker-ref-onexit",
|
||||
"parallel/test-worker-relative-path",
|
||||
"parallel/test-worker-relative-path-double-dot",
|
||||
"parallel/test-worker-safe-getters",
|
||||
"parallel/test-worker-message-type-unknown",
|
||||
"parallel/test-worker-stack-overflow",
|
||||
"parallel/test-worker-uncaught-exception",
|
||||
"parallel/test-worker-syntax-error",
|
||||
"parallel/test-worker-terminate-microtask-loop",
|
||||
"parallel/test-worker-vm-context-terminate",
|
||||
"parallel/test-worker-stdio",
|
||||
"parallel/test-worker-syntax-error-file",
|
||||
"parallel/test-worker-terminate-timers",
|
||||
"parallel/test-worker-terminate-http2-respond-with-file",
|
||||
"parallel/test-worker-unsupported-things",
|
||||
"parallel/test-worker-uncaught-exception-async",
|
||||
"parallel/test-worker-workerdata-sharedarraybuffer",
|
||||
"async-hooks/test-crypto-randomBytes",
|
||||
"async-hooks/test-fseventwrap",
|
||||
"async-hooks/test-fsreqcallback-readFile",
|
||||
"async-hooks/test-getaddrinforeqwrap",
|
||||
"async-hooks/test-emit-after-on-destroyed",
|
||||
"async-hooks/test-emit-before-after",
|
||||
"async-hooks/test-emit-before-on-destroyed",
|
||||
"async-hooks/test-getnameinforeqwrap",
|
||||
"async-hooks/test-emit-init",
|
||||
"async-hooks/test-graph.signal",
|
||||
"async-hooks/test-crypto-pbkdf2",
|
||||
"async-hooks/test-nexttick-default-trigger",
|
||||
"async-hooks/test-promise",
|
||||
"async-hooks/test-improper-order",
|
||||
"async-hooks/test-pipewrap",
|
||||
"async-hooks/test-queue-microtask",
|
||||
"async-hooks/test-signalwrap",
|
||||
"async-hooks/test-statwatcher",
|
||||
"async-hooks/test-timers.setInterval",
|
||||
"es-module/test-esm-cjs-main",
|
||||
"es-module/test-esm-json-cache",
|
||||
"es-module/test-esm-snapshot",
|
||||
"es-module/test-esm-no-extension",
|
||||
"report/test-report-config",
|
||||
"report/test-report-getreport",
|
||||
"report/test-report-signal",
|
||||
"es-module/test-esm-specifiers",
|
||||
"report/test-report-uncaught-exception",
|
||||
"es-module/test-esm-type-flag",
|
||||
"report/test-report-writereport",
|
||||
"abort/test-abort-backtrace",
|
||||
"abort/test-worker-abort-uncaught-exception",
|
||||
"sequential/test-child-process-execsync",
|
||||
"sequential/test-cli-syntax-bad",
|
||||
"sequential/test-cli-syntax-good",
|
||||
"sequential/test-cli-syntax-require",
|
||||
"sequential/test-cpu-prof-default",
|
||||
"sequential/test-cpu-prof-dir-absolute",
|
||||
"sequential/test-cpu-prof-dir-and-name",
|
||||
"sequential/test-cpu-prof-dir-relative",
|
||||
"sequential/test-cpu-prof-dir-worker",
|
||||
"sequential/test-cpu-prof-drained",
|
||||
"sequential/test-cpu-prof-exit",
|
||||
"sequential/test-cpu-prof-invalid-options",
|
||||
"sequential/test-cpu-prof-kill",
|
||||
"sequential/test-cpu-prof-name",
|
||||
"sequential/test-cpu-prof-worker-argv",
|
||||
"sequential/test-deprecation-flags",
|
||||
"sequential/test-fs-watch",
|
||||
"sequential/test-heap-prof",
|
||||
"sequential/test-heapdump",
|
||||
"sequential/test-heapdump-flag",
|
||||
"sequential/test-inspector",
|
||||
"sequential/test-inspector-async-call-stack-abort",
|
||||
"sequential/test-inspector-break-when-eval",
|
||||
"sequential/test-inspector-console",
|
||||
"sequential/test-inspector-contexts",
|
||||
"sequential/test-inspector-port-zero",
|
||||
"sequential/test-inspector-resource-name-to-url",
|
||||
"sequential/test-inspector-stress-http",
|
||||
"sequential/test-perf-hooks",
|
||||
"sequential/test-process-warnings",
|
||||
"sequential/test-tls-connect",
|
||||
"parallel/test-vm-module-basic",
|
||||
"parallel/test-repl-sigint-nested-eval",
|
||||
"parallel/test-repl-sigint",
|
||||
"sequential/test-vm-timeout-rethrow",
|
||||
"parallel/test-vm-sigint",
|
||||
"parallel/test-vm-timeout",
|
||||
"parallel/test-vm-sigint-existing-handler",
|
||||
"message/assert_throws_stack",
|
||||
"message/async_error_eval_esm",
|
||||
"message/async_error_sync_esm",
|
||||
"message/console",
|
||||
"message/core_line_numbers",
|
||||
"message/error_exit",
|
||||
"message/esm_display_syntax_error",
|
||||
"message/esm_display_syntax_error_import",
|
||||
"message/esm_display_syntax_error_import_module",
|
||||
"message/esm_display_syntax_error_module",
|
||||
"message/eval_messages",
|
||||
"message/events_unhandled_error_common_trace",
|
||||
"message/events_unhandled_error_nexttick",
|
||||
"message/events_unhandled_error_sameline",
|
||||
"message/if-error-has-good-stack",
|
||||
"message/internal_assert",
|
||||
"message/internal_assert_fail",
|
||||
"message/promise_always_throw_unhandled",
|
||||
"message/stdin_messages",
|
||||
"message/undefined_reference_in_new_context",
|
||||
"message/unhandled_promise_trace_warnings",
|
||||
"message/util_inspect_error",
|
||||
"message/v8_warning",
|
||||
"message/vm_display_runtime_error",
|
||||
"message/vm_display_syntax_error",
|
||||
"message/vm_dont_display_runtime_error",
|
||||
"message/vm_dont_display_syntax_error",
|
||||
"pseudo-tty/console_colors",
|
||||
"pseudo-tty/ref_keeps_node_running",
|
||||
"pseudo-tty/test-async-wrap-getasyncid-tty",
|
||||
"pseudo-tty/test-fatal-error",
|
||||
"pseudo-tty/test-handle-wrap-isrefed-tty",
|
||||
"pseudo-tty/test-set-raw-mode-reset",
|
||||
"pseudo-tty/test-set-raw-mode-reset-process-exit",
|
||||
"pseudo-tty/test-set-raw-mode-reset-signal",
|
||||
"pseudo-tty/test-tty-color-support",
|
||||
"pseudo-tty/test-tty-window-size",
|
||||
"pseudo-tty/test-tty-wrap"
|
||||
]
|
35
script/node-spec-runner.js
Normal file
35
script/node-spec-runner.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
const cp = require('child_process')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const BASE = path.resolve(__dirname, '../..')
|
||||
const NODE_DIR = path.resolve(BASE, 'third_party', 'electron_node')
|
||||
const NPX_CMD = process.platform === 'win32' ? 'npx.cmd' : 'npx'
|
||||
|
||||
const utils = require('./lib/utils')
|
||||
const { YARN_VERSION } = require('./yarn')
|
||||
|
||||
if (!process.mainModule) {
|
||||
throw new Error('Must call the node spec runner directly')
|
||||
}
|
||||
|
||||
async function main () {
|
||||
const DISABLED_TESTS = require('./node-disabled-tests.json')
|
||||
|
||||
const testChild = cp.spawn('python', ['tools/test.py', '--verbose', '-p', 'tap', '--logfile', 'test.tap', '--mode=debug', 'default', `--skip-tests=${DISABLED_TESTS.join(',')}`, '--shell', utils.getAbsoluteElectronExec(), '-J'], {
|
||||
env: {
|
||||
...process.env,
|
||||
ELECTRON_RUN_AS_NODE: 'true'
|
||||
},
|
||||
cwd: NODE_DIR,
|
||||
stdio: 'inherit'
|
||||
})
|
||||
testChild.on('exit', (testCode) => {
|
||||
process.exit(testCode)
|
||||
})
|
||||
}
|
||||
|
||||
main().catch((err) => {
|
||||
console.error('An unhandled error occurred in the node spec runner', err)
|
||||
process.exit(1)
|
||||
})
|
|
@ -47,15 +47,6 @@ int NodeMain(int argc, char* argv[]) {
|
|||
feature_list->InitializeFromCommandLine("", "");
|
||||
base::FeatureList::SetInstance(std::move(feature_list));
|
||||
|
||||
gin::V8Initializer::LoadV8Snapshot(
|
||||
gin::V8Initializer::V8SnapshotFileType::kWithAdditionalContext);
|
||||
gin::V8Initializer::LoadV8Natives();
|
||||
|
||||
// V8 requires a task scheduler apparently
|
||||
base::ThreadPoolInstance::CreateAndStartWithDefaultParams("Electron");
|
||||
|
||||
// Initialize gin::IsolateHolder.
|
||||
JavascriptEnvironment gin_env(loop);
|
||||
#if defined(_WIN64)
|
||||
crash_reporter::CrashReporterWin::SetUnhandledExceptionFilter();
|
||||
#endif
|
||||
|
@ -67,6 +58,16 @@ int NodeMain(int argc, char* argv[]) {
|
|||
const char** exec_argv;
|
||||
node::Init(&argc, const_cast<const char**>(argv), &exec_argc, &exec_argv);
|
||||
|
||||
gin::V8Initializer::LoadV8Snapshot(
|
||||
gin::V8Initializer::V8SnapshotFileType::kWithAdditionalContext);
|
||||
gin::V8Initializer::LoadV8Natives();
|
||||
|
||||
// V8 requires a task scheduler apparently
|
||||
base::ThreadPoolInstance::CreateAndStartWithDefaultParams("Electron");
|
||||
|
||||
// Initialize gin::IsolateHolder.
|
||||
JavascriptEnvironment gin_env(loop);
|
||||
|
||||
node::Environment* env = node::CreateEnvironment(
|
||||
node::CreateIsolateData(gin_env.isolate(), loop, gin_env.platform()),
|
||||
gin_env.context(), argc, argv, exec_argc, exec_argv);
|
||||
|
|
Loading…
Reference in a new issue