Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
--sourcepasses the make executable and its--jobs/--load-averagearguments through a shell. Paths containing spaces fail to execute, and shell syntax in option values is interpreted instead of reaching make as an argument.Quote the executable and each generated option with the existing
_quotehelper for both build and install. The regression invokes real stub configure/make executables, records argv, and checks that shell payloads do not create files. It covers ordinary, empty, and omitted options, paths with spaces and special characters, semicolons, and command substitution. Its argument fixture specifies the Node version so it also works with the current upstream source-build version checks.Validation on macOS / Python 3.13.12:
python -m pytest tests/test_source_build.py -q— all 15 focused cases passed; the original shell-quoting implementation failed 12 cases.24ca78c(including fix: do not require python2 to build node from source #429), then ranpython -m pytest -m 'not integration' tests -q: 412 passed, 10 skipped, 5 deselected, 2 expected failures, and 1 unrelated failure. The failure istest_mirror_credentials_stay_out_of_error_messagesreceiving HTTP 503 in this environment; running that test on unchanged upstream24ca78creproduces the same failure. All 15 quoting regressions pass in the combined tree.tests/test_source_build.pyandgit diff --check— passed.The merged-tree check validates compatibility without adding an upstream merge commit to this branch. Actual Node compilation and Windows runtime behavior were not tested locally.
Closes #430.