bootstrap: fix inverted success check in PowerShell download fallback#157879
Open
SebTardif wants to merge 1 commit into
Open
bootstrap: fix inverted success check in PowerShell download fallback#157879SebTardif wants to merge 1 commit into
SebTardif wants to merge 1 commit into
Conversation
When curl fails on Windows and bootstrap falls back to PowerShell for downloads, the success/failure check is inverted. The code returns early when PowerShell fails (`is_failure()`) and prints "spurious failure, trying again" when PowerShell succeeds, then exits with code 1 after three successful downloads. This was introduced in rust-lang#141909 (bae39b8, 2025-06-07) during the ExecutionContext refactoring. The original code used `if self.try_run(...) { return; }` which returned a bool where `true` meant success. The refactoring changed the return type to `CommandOutput` but used `is_failure()` for the early return, inverting the logic. The fix changes the check from `is_failure()` to `is_success()`, restoring the original behavior: return early when the download succeeds, retry when it fails.
Collaborator
|
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @clubby789 (or someone else) some time within the next two weeks. Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (
Why was this reviewer chosen?The reviewer was selected based on:
|
Collaborator
|
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.
When curl fails on Windows and bootstrap falls back to PowerShell for downloads, the success/failure check is inverted: the code returns early on failure (
is_failure()) and prints "spurious failure, trying again" on success, then exits with code 1 after three successful downloads.This was introduced in #141909 during the
ExecutionContextrefactoring. The original code usedself.try_run(...)which returnedbool(true = success). The refactoring changed the return type toCommandOutputbut usedis_failure()for the early-return check, inverting the logic.The fix changes the check from
is_failure()tois_success(), restoring the original behavior: return early when the download succeeds, retry when it fails.