GeezerVison is showing github.com — sea: avoid dangling CLI option pointers · nodejs/node@2ba7406
File treeExpand file treeCollapse file tree Open diff view settings fixtures/sea/exec-argv-extension-cli
Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: src/node_sea.cc +3-2Lines changed: 3 additions & 2 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -308,10 +308,11 @@ std::tuple<int, char**> FixupArgsForSEA(int argc, char** argv) { | 308 | 308 | cli_extension_args.size() + 2); | 309 | 309 | new_argv.emplace_back(argv[0]); | 310 | 310 |
| | 311 | + exec_argv_storage.reserve(sea_resource.exec_argv.size() + | | 312 | + cli_extension_args.size()); | | 313 | + | 311 | 314 | // Insert exec argv from SEA config | 312 | 315 | if (!sea_resource.exec_argv.empty()) { | 313 | | - exec_argv_storage.reserve(sea_resource.exec_argv.size() + | 314 | | - cli_extension_args.size()); | 315 | 316 | for (const auto& arg : sea_resource.exec_argv) { | 316 | 317 | exec_argv_storage.emplace_back(arg); | 317 | 318 | new_argv.emplace_back(exec_argv_storage.back().data()); | |
Collapse file Copy file name to clipboardExpand all lines: test/fixtures/sea/exec-argv-extension-cli/sea-config.json -1Lines changed: 0 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
| 2 | 2 | "main": "sea.js", | 3 | 3 | "output": "sea-prep.blob", | 4 | 4 | "disableExperimentalSEAWarning": true, | 5 | | - "execArgv": ["--no-warnings"], | 6 | 5 | "execArgvExtension": "cli" | 7 | 6 | } |
Collapse file Copy file name to clipboardExpand all lines: test/fixtures/sea/exec-argv-extension-cli/sea.js +1-1Lines changed: 1 addition & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -3,7 +3,7 @@ const assert = require('assert'); | 3 | 3 | console.log('process.argv:', JSON.stringify(process.argv)); | 4 | 4 | console.log('process.execArgv:', JSON.stringify(process.execArgv)); | 5 | 5 |
| 6 | | -// Should have execArgv from SEA config + CLI --node-options | | 6 | +// Should have all options from CLI --node-options | 7 | 7 | assert.deepStrictEqual(process.execArgv, ['--no-warnings', '--max-old-space-size=1024']); | 8 | 8 |
| 9 | 9 | assert.deepStrictEqual(process.argv.slice(2), [ | |
Collapse file Copy file name to clipboardExpand all lines: test/sea/test-single-executable-application-exec-argv-extension-cli.js +5-1Lines changed: 5 additions & 1 deletion | Original file line number | Diff line number | Diff line change |
|---|
@@ -23,7 +23,11 @@ const outputFile = generateSEA(fixtures.path('sea', 'exec-argv-extension-cli')); | 23 | 23 | // Test that --node-options works with execArgvExtension: "cli" | 24 | 24 | spawnSyncAndAssert( | 25 | 25 | outputFile, | 26 | | - ['--node-options=--max-old-space-size=1024', 'user-arg1', 'user-arg2'], | | 26 | + [ | | 27 | + '--node-options=--no-warnings --max-old-space-size=1024', | | 28 | + 'user-arg1', | | 29 | + 'user-arg2', | | 30 | + ], | 27 | 31 | { | 28 | 32 | env: { | 29 | 33 | ...process.env, | |
|