Skip to content
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

Migrate emit-shared-files and emit-path-unhashed run-make tests to rmake #127335

Merged
merged 2 commits into from
Jul 7, 2024

Conversation

Oneirical
Copy link
Contributor

@Oneirical Oneirical commented Jul 4, 2024

Part of #121876 and the associated Google Summer of Code project.

try-job: x86_64-msvc
try-job: aarch64-apple
try-job: armhf-gnu
try-job: test-various

@rustbot
Copy link
Collaborator

rustbot commented Jul 4, 2024

r? @jieyouxu

rustbot has assigned @jieyouxu.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) labels Jul 4, 2024
@rustbot
Copy link
Collaborator

rustbot commented Jul 4, 2024

The run-make-support library was changed

cc @jieyouxu

This PR modifies tests/run-make/. If this PR is trying to port a Makefile
run-make test to use rmake.rs, please update the
run-make port tracking issue
so we can track our progress. You can either modify the tracking issue
directly, or you can comment on the tracking issue and link this PR.

cc @jieyouxu

@jieyouxu
Copy link
Member

jieyouxu commented Jul 5, 2024

I'll take a look later today, this looks like it warrants several try jobs.
@bors delegate+ (for try jobs only)

@bors
Copy link
Contributor

bors commented Jul 5, 2024

✌️ @Oneirical, you can now approve this pull request!

If @jieyouxu told you to "r=me" after making some further change, please make that change, then do @bors r=@jieyouxu

Copy link
Member

@jieyouxu jieyouxu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, the tests look very reasonable to me.

Comment on lines +1 to +7
// Specifying how rustc outputs a file can be done in different ways, such as
// the output flag or the KIND=NAME syntax. However, some of these methods used
// to result in different hashes on output files even though they yielded the
// exact same result otherwise. This was fixed in #86045, and this test checks
// that the hash is only modified when the output is made different, such as by
// adding a new output type (in this test, metadata).
// See https://github.com/rust-lang/rust/issues/86044
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remark: very helpful comment 👍

Comment on lines +28 to +31
// FIXME: this probably shouldn't have a suffix
assert!(Path::new("invocation-only/y-xxx.css").exists());
// FIXME: this is technically incorrect (see `write_shared`)
assert!(!Path::new("invocation-only/main-xxx.js").exists());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussion: I know this is pre-existing, but what is happening here lol

Copy link
Member

@jieyouxu jieyouxu Jul 6, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @GuillaumeGomez sorry for the ping, but you reviewed the original PR #83478: do you happen to know what's the status for --emit=toolchain-shared-resources --emit=invocation-specific or what this test is trying to exercise here? In particular, I don't quite understand the FIXME even though I tried to read the original PR that introduced this test.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe #83784 is relevant?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok I see. So normally, static files (like main.js) are generated with the hash of the file itself. I suppose the --resource-suffix option flag overrides this. Not sure if it's a good or bad though... Better to leave it as is.

@jieyouxu
Copy link
Member

jieyouxu commented Jul 6, 2024

r=me if the battery of try jobs come back green.

@bors try

@bors
Copy link
Contributor

bors commented Jul 6, 2024

⌛ Trying commit 4a15fe4 with merge f99a04e...

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 6, 2024
Migrate `emit-shared-files` and `emit-path-unhashed` `run-make` tests to rmake

Part of rust-lang#121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html).

try-job: x86_64-msvc
try-job: aarch64-apple
try-job: armhf-gnu
try-job: test-various
@bors
Copy link
Contributor

bors commented Jul 6, 2024

☀️ Try build successful - checks-actions
Build commit: f99a04e (f99a04e631d81ad0c54ee541f9ce7de83f49fd85)

#[track_caller]
pub fn run(&mut self) {
self.drop_bomb.defuse();
fn run_common(&self) -> (&str, &str, String, String) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be better to return a struct with named field instead of a tuple here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hum although it's a private function, so not really a big issue either...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I was also about to comment on that but I also realized that's private lol

@Oneirical
Copy link
Contributor Author

@bors r=@jieyouxu

@bors
Copy link
Contributor

bors commented Jul 6, 2024

📌 Commit 4a15fe4 has been approved by jieyouxu

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 6, 2024
@bors
Copy link
Contributor

bors commented Jul 7, 2024

⌛ Testing commit 4a15fe4 with merge 289deb9...

@bors
Copy link
Contributor

bors commented Jul 7, 2024

☀️ Test successful - checks-actions
Approved by: jieyouxu
Pushing 289deb9 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 7, 2024
@bors bors merged commit 289deb9 into rust-lang:master Jul 7, 2024
7 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jul 7, 2024
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (289deb9): comparison URL.

Overall result: ❌ regressions - no action needed

@rustbot label: -perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.5% [0.5%, 0.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary 0.7%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.9% [0.5%, 1.4%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.6% [-0.6%, -0.6%] 1
All ❌✅ (primary) - - 0

Cycles

Results (secondary 0.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.5% [0.5%, 0.7%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 700.652s -> 699.359s (-0.18%)
Artifact size: 328.40 MiB -> 328.42 MiB (0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

6 participants