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
Tracking Issue for porting run-make
tests to use Rust
#121876
Labels
A-testsuite
Area: The testsuite used to check the correctness of rustc
C-tracking-issue
Category: A tracking issue for an RFC or an unstable feature.
E-help-wanted
Call for participation: Help is requested to fix this issue.
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
Comments
jieyouxu
added
A-testsuite
Area: The testsuite used to check the correctness of rustc
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
E-help-wanted
Call for participation: Help is requested to fix this issue.
C-tracking-issue
Category: A tracking issue for an RFC or an unstable feature.
labels
Mar 1, 2024
4 tasks
claiming exit-code, looks simple enough |
claiming the alloc tests (no oom handling, no rc, no sync) |
claiming the hir-tree |
claiming archive-duplicate-names |
Hi, I want to claim the |
workingjubilee
added
the
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
label
Mar 22, 2024
5 tasks
Claimed |
Claimed |
workingjubilee
added a commit
to workingjubilee/rustc
that referenced
this issue
Mar 31, 2024
Rewrite `core-no-fp-fmt-parse` test in Rust Claiming the simple "core-no-fp-fmt-parse" test from rust-lang#121876. `run_make_support` was altered with `arg_path` written in rust-lang#121918 by `@abhay-51,` with additional doc comment. Preliminary GSoC contribution for the project proposal mentored by `@jieyouxu.`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Mar 31, 2024
Rollup merge of rust-lang#123180 - Oneirical:master, r=Mark-Simulacrum Rewrite `core-no-fp-fmt-parse` test in Rust Claiming the simple "core-no-fp-fmt-parse" test from rust-lang#121876. `run_make_support` was altered with `arg_path` written in rust-lang#121918 by `@abhay-51,` with additional doc comment. Preliminary GSoC contribution for the project proposal mentored by `@jieyouxu.`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Apr 4, 2024
Port hir-tree run-make test to ui test As part of rust-lang#121876 cc `@jieyouxu`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 4, 2024
Rollup merge of rust-lang#122448 - high-cloud:move-hir-tree, r=oli-obk Port hir-tree run-make test to ui test As part of rust-lang#121876 cc `@jieyouxu`
GuillaumeGomez
added a commit
to GuillaumeGomez/rust
that referenced
this issue
Apr 5, 2024
…e-enum, r=Mark-Simulacrum Port argument-non-c-like-enum to Rust Part of rust-lang#121876.
GuillaumeGomez
added a commit
to GuillaumeGomez/rust
that referenced
this issue
Apr 5, 2024
…imulacrum Port `run-make/issue-7349` to a codegen test The test does not need to be a run-make test, it can use the codegen test infrastructure. Also took the opportunity to rename the test to `no-redundant-item-monomorphization` so it's not just some opaque issue number. Part of rust-lang#121876.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 5, 2024
Rollup merge of rust-lang#123474 - jieyouxu:issue-7349-port, r=Mark-Simulacrum Port `run-make/issue-7349` to a codegen test The test does not need to be a run-make test, it can use the codegen test infrastructure. Also took the opportunity to rename the test to `no-redundant-item-monomorphization` so it's not just some opaque issue number. Part of rust-lang#121876.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 5, 2024
Rollup merge of rust-lang#123149 - jieyouxu:rmake-arguments-non-c-like-enum, r=Mark-Simulacrum Port argument-non-c-like-enum to Rust Part of rust-lang#121876.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Apr 25, 2024
Rewrite the `no-input-file.stderr` test in Rust and support diff Rewrite the `no-input-file.stderr` test from rust-lang#121876. Use the `similar` lib to replace the `diff` command.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Apr 25, 2024
Rewrite the `no-input-file.stderr` test in Rust and support diff Rewrite the `no-input-file.stderr` test from rust-lang#121876. Use the `similar` lib to replace the `diff` command.
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 25, 2024
Rollup merge of rust-lang#124257 - JoverZhang:rmake-diff, r=jieyouxu Rewrite the `no-input-file.stderr` test in Rust and support diff Rewrite the `no-input-file.stderr` test from rust-lang#121876. Use the `similar` lib to replace the `diff` command.
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Apr 26, 2024
…s, r=jieyouxu Port run-make `--print=native-static-libs` to rmake.rs This PR port the run-make `--print=native-static-libs` test to rmake.rs The dedup was really awful in the `Makefile`, I'm glad to finally have a proper dedup detection for this. Related to rust-lang#121876 r? `@jieyouxu`
jhpratt
added a commit
to jhpratt/rust
that referenced
this issue
Apr 26, 2024
…s, r=jieyouxu Port run-make `--print=native-static-libs` to rmake.rs This PR port the run-make `--print=native-static-libs` test to rmake.rs The dedup was really awful in the `Makefile`, I'm glad to finally have a proper dedup detection for this. Related to rust-lang#121876 r? `@jieyouxu`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 27, 2024
Rollup merge of rust-lang#124383 - Urgau:port-print-native-static-libs, r=jieyouxu Port run-make `--print=native-static-libs` to rmake.rs This PR port the run-make `--print=native-static-libs` test to rmake.rs The dedup was really awful in the `Makefile`, I'm glad to finally have a proper dedup detection for this. Related to rust-lang#121876 r? `@jieyouxu`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Apr 28, 2024
Port `print-cfg` run-make test to Rust-based rmake.rs This PR port the `print-cfg` run-make test to Rust-based rmake.rs tests. The actual test is now split in two: - the first part for the `--print=cfg` part - and the second part for the `=PATH` part of `--print` Part of rust-lang#121876. r? `@jieyouxu`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 28, 2024
Rollup merge of rust-lang#124473 - Urgau:port-print-cfg, r=jieyouxu Port `print-cfg` run-make test to Rust-based rmake.rs This PR port the `print-cfg` run-make test to Rust-based rmake.rs tests. The actual test is now split in two: - the first part for the `--print=cfg` part - and the second part for the `=PATH` part of `--print` Part of rust-lang#121876. r? `@jieyouxu`
jieyouxu
added a commit
to jieyouxu/rust
that referenced
this issue
Apr 30, 2024
…youxu Port repr128-dwarf run-make test to rmake This PR ports the repr128-dwarf run-make test to rmake, using the `gimli` crate instead of the `llvm-dwarfdump` command. Note that this PR changes `rmake.rs` files to be compiled with the 2021 edition (previously no edition was passed to `rustc`, meaning they were compiled with the 2015 edition). This means that `panic!("{variable}")` will now work as expected in `rmake.rs` files (there's already a usage in the [wasm-symbols-not-exported test](https://github.com/rust-lang/rust/blob/aca749eefceaed0cda19a7ec5e472fce9387bc00/tests/run-make/wasm-symbols-not-exported/rmake.rs#L34) that this will fix). Tracking issue: rust-lang#121876
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
Apr 30, 2024
Rollup merge of rust-lang#124280 - beetrees:repr128-test-rmake, r=jieyouxu Port repr128-dwarf run-make test to rmake This PR ports the repr128-dwarf run-make test to rmake, using the `gimli` crate instead of the `llvm-dwarfdump` command. Note that this PR changes `rmake.rs` files to be compiled with the 2021 edition (previously no edition was passed to `rustc`, meaning they were compiled with the 2015 edition). This means that `panic!("{variable}")` will now work as expected in `rmake.rs` files (there's already a usage in the [wasm-symbols-not-exported test](https://github.com/rust-lang/rust/blob/aca749eefceaed0cda19a7ec5e472fce9387bc00/tests/run-make/wasm-symbols-not-exported/rmake.rs#L34) that this will fix). Tracking issue: rust-lang#121876
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
May 4, 2024
…m, r=jieyouxu Rewrite `rustdoc-determinism` test in Rust Rewrite the `rustdoc-determinism` test from rust-lang#121876. r? `@jieyouxu`
This was referenced May 4, 2024
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
May 4, 2024
Rollup merge of rust-lang#124698 - JoverZhang:test-rustdoc-determinism, r=jieyouxu Rewrite `rustdoc-determinism` test in Rust Rewrite the `rustdoc-determinism` test from rust-lang#121876. r? `@jieyouxu`
fmease
added a commit
to fmease/rust
that referenced
this issue
May 5, 2024
…ntool, r=jieyouxu Migrate `run-make/doctests-runtool` to rmake Part of rust-lang#121876. The first commit is making the `edition` method common to `Rustc` and `Rustdoc` as I'll need it for the doctest in rust-lang#123974. r? `@jieyouxu`
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
May 5, 2024
…ool, r=jieyouxu Migrate `run-make/doctests-runtool` to rmake Part of rust-lang#121876. The first commit is making the `edition` method common to `Rustc` and `Rustdoc` as I'll need it for the doctest in rust-lang#123974. r? `@jieyouxu`
fmease
added a commit
to fmease/rust
that referenced
this issue
May 5, 2024
…erminism, r=jieyouxu Migrate `run-make/rustdoc-error-lines` to new `rmake.rs` Part of rust-lang#121876. There was a weird naming inconsistency with `input`/`output`. A few tests write `.arg("-o").arg(path)` and the `output` method was actually the command output. So instead, I renamed the original `output` into `command_output` so that I could create the `output` method with the expected effect (and updated the tests to use it too). EDIT: The first two commits come from rust-lang#124711. Some weird things happened recently pparently. ^^' r? `@jieyouxu`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
May 6, 2024
…erminism, r=jieyouxu Migrate `run-make/rustdoc-error-lines` to new `rmake.rs` Part of rust-lang#121876. There was a weird naming inconsistency with `input`/`output`. A few tests write `.arg("-o").arg(path)` and the `output` method was actually the command output. So instead, I renamed the original `output` into `command_output` so that I could create the `output` method with the expected effect (and updated the tests to use it too). EDIT: The first two commits come from rust-lang#124711. Some weird things happened recently pparently. ^^' r? ``@jieyouxu``
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
May 6, 2024
…minism, r=jieyouxu Migrate `run-make/rustdoc-error-lines` to new `rmake.rs` Part of rust-lang#121876. There was a weird naming inconsistency with `input`/`output`. A few tests write `.arg("-o").arg(path)` and the `output` method was actually the command output. So instead, I renamed the original `output` into `command_output` so that I could create the `output` method with the expected effect (and updated the tests to use it too). EDIT: The first two commits come from rust-lang#124711. Some weird things happened recently pparently. ^^' r? `@jieyouxu`
This was referenced May 6, 2024
bors
added a commit
to rust-lang-ci/rust
that referenced
this issue
May 8, 2024
…ror, r=<try> Migrate `run-make/rustdoc-io-error` to `rmake.rs` Part of rust-lang#121876. r? `@jieyouxu`
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
May 9, 2024
…-file, r=jieyouxu Migrate `run-make/rustdoc-map-file` to rmake Part of rust-lang#121876. r? `@jieyouxu`
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this issue
May 9, 2024
Rollup merge of rust-lang#124837 - GuillaumeGomez:migrate-rustdoc-map-file, r=jieyouxu Migrate `run-make/rustdoc-map-file` to rmake Part of rust-lang#121876. r? `@jieyouxu`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-testsuite
Area: The testsuite used to check the correctness of rustc
C-tracking-issue
Category: A tracking issue for an RFC or an unstable feature.
E-help-wanted
Call for participation: Help is requested to fix this issue.
E-mentor
Call for participation: This issue has a mentor. Use #t-compiler/help on Zulip for discussion.
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
We want to stop
run-make
tests from relying onmake
, and improve therun-make
tests so thatthey are more accessible to rustc contributors by allowing the tests to be written in Rust (see
#40713 for context). PR #113026 was merged to address this, and now we are able to write
run-make
tests in Rust recipes. We would like your help to port over existing
run-make
tests still usingMakefiles to use Rust recipes instead.
If you would like to work on porting one of the
run-make
tests, please link to this issue in yourPR and leave a comment to claim the test (or multiple tests). If you are stuck, please don't hesitate to open a thread
on Rust's Zulip.
run-make
is the most flexible fallback test kind, but somerun-make
tests could be migrated to become e.g. ui tests instead. Please check if you can convert therun-make
test into other test kinds before porting!When you try to port a test, also consider:
Context: Rust recipes?
PR #113026 adds basic infrastructure support to write
run-make
tests using small Rust programs,called recipes.
We aim to eliminate the dependency on make and Makefiles for building
run-make
-style tests.Makefiles are replaced by recipes (
rmake.rs
). The PR implements runningrun-make
recipes in3 steps:
run_make_support
which thermake.rs
recipes depend on as a toollib.
rmake.rs
and link in the support library.rmake.rs
is basically a replacement forMakefile
, and allows running arbitrary Rust code. Thesupport library is built using cargo, and so can depend on external crates if desired.
The infrastructure implemented by the PR is very barebones, and is the minimally required
infrastructure needed to build, run and pass the two example run-make tests ported over to the new
infrastructure:
You likely will find that you would need to improve the API of the support library, and extend
the functionality of the support library.
Common traps and pitfalls, and tips and tricks
$PATH
uses;
on Windows and:
for *nixes. Usestd::env::{join,split}_paths
to properlyhandle
$PATH
.PathBuf
operations not stringpaths if possible.
tests/
are not (currently) formatted by rustfmt.and envs are passed to various executables or libraries. May have to triple check on those.
test-various
andx86_64-msvc
are good targets to include if you do this, for example.Tests that need porting
run-make/doctests-keep-binaries
to new rmake.rs format #124658)run-make/doctests-runtool
to rmake #124711)rustdoc-determinism
test in Rust #124698)The text was updated successfully, but these errors were encountered: