-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensures make
tests run under /bin/dash (if available), like CI, and fixes a Makefile
#81734
Conversation
This seems like it would break on Windows? Maybe it's somehow magically accessible though. |
My Windows VM is powered down, so I asked in the zulip thread if anyone else could confirm if /bin/dash is there. But in the mean time, I'm bringing Windows back up, so I will check. |
@Mark-Simulacrum - I can provide some confidence this will work on Windows in a Rust-configured development environment: I have a pretty vanilla setup of Windows, set up specifically to test rustc and llvm, using the recommended steps on the rust-lang/rust README.md, and my msys2 setup has |
☔ The latest upstream changes (presumably #81688) made this pull request unmergeable. Please resolve the merge conflicts. |
make
tests run under /bin/dash, like CI, and fixes a Makefilemake
tests run under /bin/dash (if available), like CI, and fixes a Makefile
@pnkfelix - I checked this locally and it works as intended. If |
Lets give this a whirl |
@bors r+ |
📌 Commit ca3a714 has been approved by |
Ensures `make` tests run under /bin/dash (if available), like CI, and fixes a Makefile Note: This cherrypicks rust-lang#81688 (`@pnkfelix)` Updates `tools.mk` to explicitly require `SHELL := /bin/dash`, since CI uses `dash` but other environments (including developer local machines) may default to `bash`. Replaces bash-specific shell command in one Makefile with a dash-compatible alternative, and re-enables the affected Makefile test. Removes apparently redundant definition of `UNAME`. Also see: [zulip discussion thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/how.20to.20run.2Fbless.20src.2Ftest.2Frun-make-fulldeps.2Fcoverage.20.3F) r? `@pnkfelix` FYI: `@wesleywiser` `@tmandry`
Ensures `make` tests run under /bin/dash (if available), like CI, and fixes a Makefile Note: This cherrypicks rust-lang#81688 (``@pnkfelix)`` Updates `tools.mk` to explicitly require `SHELL := /bin/dash`, since CI uses `dash` but other environments (including developer local machines) may default to `bash`. Replaces bash-specific shell command in one Makefile with a dash-compatible alternative, and re-enables the affected Makefile test. Removes apparently redundant definition of `UNAME`. Also see: [zulip discussion thread](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/how.20to.20run.2Fbless.20src.2Ftest.2Frun-make-fulldeps.2Fcoverage.20.3F) r? ``@pnkfelix`` FYI: ``@wesleywiser`` ``@tmandry``
Failed in rollup: #81983 (comment) |
It looks like, since the coverage tests were recently disabled, some other change came in that SHOULD have forced re-blessing the coverage results, but since the test didn't run, it didn't fail, and coverage results were not updated. I'll rebase and hopefully get that change, re-bless the output, and if the problem is resolved, hopefully we can get this merged quickly, to avoid this happening again. Interestingly, whatever change it was seems to (at least partially) clean up a coverage discrepancy, mentioned at the bottom of the test program, with FIXME issue #79626. (I'm still not sure why there are two code regions for derived traits, but at least they are no longer inconsistent.) But (whether from the same change or an unrelated change), coverage stats no longer appear on the struct fields. I didn't actually expect coverage stats for fields until we created this test, and now I'm not sure if it's appropriate to lose this coverage, or not. But I do think it's acceptable. I'll need to change the comments in the test source to reflect these new results (assuming I can reproduce them):
|
Updates `tools.mk` to explicitly require `SHELL := /bin/dash`, since CI uses `dash` but other environments (including developer local machines) may default to `bash`. Replaces bash-specific shell command in one Makefile with a dash-compatible alternative, and re-enables the affected Makefile test. Removes apparently redundant definition of `UNAME`.
ca3a714
to
b211acf
Compare
@pnkfelix I re-blessed the tests. I'm not sure what PR introduced the change that resulted in different (and fortunately, better) coverage counts for derived traits, but it was very recent, because my original commits were tested on the latest baseline at that time, and worked then, but don't work now, without today's update. This is ready to re-submit to the bors queue. Thanks! |
r? @pnkfelix |
📌 Commit cbe6c70 has been approved by |
⌛ Testing commit cbe6c70 with merge 86d04a71a593d732fab156d5eb95e83664f16e0c... |
💥 Test timed out |
Spurious?
|
Note all CI platforms succeeded but one, which timed out |
@bors retry - spurious timeout |
⌛ Testing commit cbe6c70 with merge 916508b3169603a8f0ced72d63fbf9a4288a91e3... |
💥 Test timed out |
auto (i686-gnu-nopt, ubuntu-latest-xl):
Another spurious timeout? Same builder as last time? Every other builder completes successfully. |
Yes same builder in both cases |
@bors retry - spurious timeout |
☀️ Test successful - checks-actions |
Note: This cherrypicks #81688 (@pnkfelix)
Updates
tools.mk
to explicitly requireSHELL := /bin/dash
, since CI usesdash
but other environments (including developer local machines) may default tobash
.Replaces bash-specific shell command in one Makefile with a dash-compatible alternative, and re-enables the affected Makefile test.
Removes apparently redundant definition of
UNAME
.Also see: zulip discussion thread
r? @pnkfelix
FYI: @wesleywiser @tmandry