GeezerVison is showing github.com — sea: avoid dangling CLI option pointers · nodejs/node@f32a863
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 |
|---|
@@ -325,10 +325,11 @@ std::tuple<int, char**> FixupArgsForSEA(int argc, | 325 | 325 | cli_extension_args.size() + 2); | 326 | 326 | new_argv.emplace_back(argv[0]); | 327 | 327 |
| | 328 | + exec_argv_storage.reserve(sea_resource.exec_argv.size() + | | 329 | + cli_extension_args.size()); | | 330 | + | 328 | 331 | // Insert exec argv from SEA config | 329 | 332 | if (!sea_resource.exec_argv.empty()) { | 330 | | - exec_argv_storage.reserve(sea_resource.exec_argv.size() + | 331 | | - cli_extension_args.size()); | 332 | 333 | for (const auto& arg : sea_resource.exec_argv) { | 333 | 334 | exec_argv_storage.emplace_back(arg); | 334 | 335 | 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 |
|---|
@@ -30,7 +30,11 @@ const env = { | 30 | 30 | // Test that --node-options works with execArgvExtension: "cli" | 31 | 31 | spawnSyncAndAssert( | 32 | 32 | outputFile, | 33 | | - ['--node-options=--max-old-space-size=1024', 'user-arg1', 'user-arg2'], | | 33 | + [ | | 34 | + '--node-options=--no-warnings --max-old-space-size=1024', | | 35 | + 'user-arg1', | | 36 | + 'user-arg2', | | 37 | + ], | 34 | 38 | { | 35 | 39 | env, | 36 | 40 | }, | |
|