about summary refs log tree commit diff
path: root/tests/run-make
AgeCommit message (Collapse)AuthorLines
2024-08-18Auto merge of #129227 - jieyouxu:no-dumping, r=Kobzolbors-0/+3
Disable `dump-ice-to-disk` for i686-mingw (again) To avoid blocking full CI or `i686-mingw` try jobs (failed in https://github.com/rust-lang/rust/pull/127679#issuecomment-2295184771). At least we now have some context for why the assertion failed. Anyone with r+ can approve this.
2024-08-18tests: disable `dump-ice-to-disk` for i686-mingw许杰友 Jieyou Xu (Joe)-0/+3
To avoid blocking full CI.
2024-08-18Rollup merge of #129185 - Zalathar:validate-json, r=jieyouxu许杰友 Jieyou Xu (Joe)-10/+13
Port `run-make/libtest-json/validate_json.py` to Rust This is a trivial Python script that simply tries to parse each line of stdin (i.e. the test process output) as JSON, to verify that the overall output is JSON Lines. We can perform the same check directly in `rmake.rs` using `serde_json`. r? ````@jieyouxu````
2024-08-18Auto merge of #129115 - jieyouxu:reenable-dump-ice, r=estebankbors-5/+8
Re-enable `dump-ice-to-disk` for Windows This test was previously flakey on `i686-mingw` (reason unknown), but since some modifications (quarantining each ICE test in separate tmp dirs, adding/removing `RUSTC_ICE` env vars as suitable to prevent any kind of environmental influence), I could no longer make it fail on `i686-mingw`. I tried running this test (without the `ignore-windows` of course) a bunch of times via `i686-mingw` try jobs and it refused to fail (see #128958). I was also never able to reproduce the failure locally. In any case, if this turns out to be still flakey on `i686-mingw`, we can revert the removal of `ignore-windows` but this time we'll have way more context for why the test failed. Running the `i686-mingw` alongside some Windows jobs for basic santiy check. But the try jobs succeeding is insufficient to guarantee reproducibility. cc #129115 for backlink. try-job: x86_64-msvc try-job: x86_64-mingw try-job: i686-msvc try-job: i686-mingw
2024-08-17Auto merge of #128786 - estebank:multiple-crate-versions, r=fee1-deadbors-15/+108
Detect multiple crate versions on method not found When a type comes indirectly from one crate version but the imported trait comes from a separate crate version, the called method won't be found. We now show additional context: ``` error[E0599]: no method named `foo` found for struct `dep_2_reexport::Type` in the current scope --> multiple-dep-versions.rs:8:10 | 8 | Type.foo(); | ^^^ method not found in `Type` | note: there are multiple different versions of crate `dependency` in the dependency graph --> multiple-dep-versions.rs:4:32 | 4 | use dependency::{do_something, Trait}; | ^^^^^ `dependency` imported here doesn't correspond to the right crate version | ::: ~/rust/build/x86_64-unknown-linux-gnu/test/run-make/crate-loading/rmake_out/multiple-dep-versions-1.rs:4:1 | 4 | pub trait Trait { | --------------- this is the trait that was imported | ::: ~/rust/build/x86_64-unknown-linux-gnu/test/run-make/crate-loading/rmake_out/multiple-dep-versions-2.rs:4:1 | 4 | pub trait Trait { | --------------- this is the trait that is needed 5 | fn foo(&self); | --- the method is available for `dep_2_reexport::Type` here ``` Fix #128569, fix #110926, fix #109161, fix #81659, fix #51458, fix #32611. Follow up to #124944.
2024-08-17Port `run-make/libtest-json/validate_json.py` to RustZalathar-10/+13
This is a trivial Python script that simply tries to parse each line of stdin (i.e. the test process output) as JSON, to verify that the overall output is JSON Lines. We can perform the same check directly in `rmake.rs` using `serde_json`.
2024-08-16Auto merge of #129162 - matthiaskrgr:rollup-r0oxdev, r=matthiaskrgrbors-44/+44
Rollup of 6 pull requests Successful merges: - #128990 (Re-enable more debuginfo tests on freebsd) - #129042 (Special-case alias ty during the delayed bug emission in `try_from_lit`) - #129086 (Stabilize `is_none_or`) - #129149 (Migrate `validate_json.py` script to rust in `run-make/rustdoc-map-file` test) - #129154 (Fix wrong source location for some incorrect macro definitions) - #129161 (Stabilize std::thread::Builder::spawn_unchecked) r? `@ghost` `@rustbot` modify labels: rollup
2024-08-16Reexport `serde_json` crate from run-make-support to give it access to ↵Guillaume Gomez-39/+36
`run-make` tests
2024-08-16Migrate `validate_json.py` script to rust in `run-make/rustdoc-map-file` testGuillaume Gomez-44/+47
2024-08-16massive refactor of reproducible-build testOneirical-161/+179
2024-08-16rewrite reproducible-build to rmakeOneirical-140/+222
2024-08-15Rollup merge of #129111 - Zalathar:python-sysroot, r=jieyouxuJubilee-77/+99
Port the `sysroot-crates-are-unstable` Python script to rmake New version of #126231, and a follow-up to #129071. One major difference is that the new version no longer tries to report *all* accidentally-stable crates, because the `run_make_support` helpers tend to halt the test as soon as something goes wrong. That's unfortunate, but I think it won't matter much in practice, and preserving the old behaviour doesn't seem worth the extra effort. --- Part of #110479 (Python purge), with this being one of the non-trivial Python scripts that actually seems feasible and worthwhile to remove. This is *not* part of #121876 (Makefile purge), because the underlying test is already using rmake; this PR just modifies the existing rmake recipe to do all the work itself instead of delegating to Python. So there's no particular urgency here. r? ````@jieyouxu```` try-job: aarch64-gnu try-job: aarch64-apple try-job: test-various try-job: armhf-gnu try-job: x86_64-msvc try-job: i686-mingw
2024-08-15Rollup merge of #129037 - Zalathar:rmake-libtest, r=jieyouxuJubilee-42/+64
Port `run-make/libtest-json` and `run-make/libtest-junit` to rmake Unlike #126773, this is just a straightforward port to `rmake`, without attempting to switch to compiletest or get rid of the (trivial) Python scripts. Part of #121876. r? ````@jieyouxu```` try-job: x86_64-msvc try-job: i686-mingw try-job: test-various try-job: aarch64-gnu try-job: aarch64-apple
2024-08-15Rollup merge of #129018 - Oneirical:nmemonic-artifice, r=jieyouxuJubilee-77/+174
Migrate `rlib-format-packed-bundled-libs` and `native-link-modifier-bundle` `run-make` tests to rmake Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). Please try: // try-job: test-various (ATTEMPTED: IGNORE RESTORED) try-job: x86_64-msvc try-job: aarch64-apple try-job: aarch64-gnu try-job: x86_64-mingw try-job: i686-mingw
2024-08-15Auto merge of #128787 - Oneirical:infohazardous-deprogram, r=jieyouxubors-63/+37
Coalesce `dep-info`, `dep-info-spaces` and `dep-info-doesnt-run-much` `run-make` tests into `dep-info` rmake.rs Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). This is one of the most ancient tests in the `run-make` directory and its Makefile does some unexpected things, like creating and deleting a `done` directory over and over, sleeping at certain times (this is the [commit](https://github.com/rust-lang/rust/pull/13288/commits/0d9fd8e2a1f8aa43b4cf66272eaa3cf695bbdcd9) that added the `sleep`). I tried to preserve the intent of the test, which is smoke-testing that `dep-info` works. try-job: x86_64-msvc try-job: i686-mingw try-job: aarch64-gnu try-job: aarch64-apple try-job: test-various try-job: armhf-gnu try-job: dist-various-1
2024-08-15Rollup merge of #129122 - ↵Matthias Krüger-20/+20
GuillaumeGomez:remove-duplicated-rustdoc-output-methods, r=Kobzol Remove duplicated `Rustdoc::output` method from `run-make-support` lib I discovered recently that `--output` is deprecated in rustdoc and that `--out-dir` is doing the exact same thing. To keep things along with the current rustdoc status, I removed the `Rustdoc::output` method. cc `@jieyouxu` r? `@Kobzol`
2024-08-15rewrite native-link-modifier-bundle to rmakeOneirical-46/+101
2024-08-15rewrite rlib-format-packed-bundled-libs to rmakeOneirical-39/+81
2024-08-15coalesce dep-info-spaces and dep-info-doesnt-run-much into dep-infoOneirical-63/+37
2024-08-15Auto merge of #128936 - bjorn3:fix_thin_archive_reading, r=jieyouxubors-0/+38
Support reading thin archives in ArArchiveBuilder And switch to using ArArchiveBuilder with the LLVM backend too now that all regressions are fixed. Fixes https://github.com/rust-lang/rust/issues/107407 Fixes https://github.com/rust-lang/rust/issues/107162 https://github.com/rust-lang/rust/issues/107495 has been fixed in a previous PR already.
2024-08-15About rmake testsGuillaume Gomez-20/+20
2024-08-15tests: re-enable `dump-ice-to-disk` for Windows许杰友 Jieyou Xu (Joe)-5/+8
This test was previously flakey on `i686-mingw`, but since some modifications I could no longer make it fail on `i686-mingw`. See <https://github.com/rust-lang/rust/pull/128958> for multiple try job runs.
2024-08-15Port the `sysroot-crates-are-unstable` Python script to rmakeZalathar-77/+99
2024-08-15Rollup merge of #128963 - GuillaumeGomez:output-to-stdout, r=aDotInTheVoidMatthias Krüger-0/+26
Add possibility to generate rustdoc JSON output to stdout Fixes #127165. I think it's likely common to want to get rustdoc json output directly instead of reading it from a file so I added this option to allow it. It's unstable and only works with `--output-format=json`. r? `@aDotInTheVoid`
2024-08-14Auto merge of #128407 - Oneirical:feline-dotestication, r=jieyouxubors-46/+82
Migrate `min-global-align` and `no-alloc-shim` `run-make` tests to rmake Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). Please try: try-job: aarch64-apple try-job: test-various try-job: armhf-gnu try-job: aarch64-gnu try-job: aarch64-gnu
2024-08-14Apply some suggestions to the test rmake filebjorn3-8/+3
2024-08-14rewrite no-alloc-shim to rmakeOneirical-26/+57
2024-08-14rewrite min-global-align to rmakeOneirical-22/+27
2024-08-14Rollup merge of #129071 - Zalathar:sysroot-unstable, r=jieyouxu许杰友 Jieyou Xu (Joe)-2/+5
Port `run-make/sysroot-crates-are-unstable` to rmake I already have a more elaborate draft at #126231 that tries to port the underlying Python script to rmake, but there's no need for the removal of Makefiles to be held up on complex tasks like that, so this PR simply takes the trivial Makefile and converts it into a trivial rmake recipe. Part of #121876. r? ``@jieyouxu``
2024-08-14Rollup merge of #128410 - Oneirical:dwarf-fortestress, r=jieyouxuMatthias Krüger-112/+202
Migrate `remap-path-prefix-dwarf` `run-make` test to rmake Part of #121876 and the associated [Google Summer of Code project](https://blog.rust-lang.org/2024/05/01/gsoc-2024-selected-projects.html). Possibly my proudest branch name yet. try-job: aarch64-apple try-job: armhf-gnu try-job: test-various try-job: x86_64-gnu-llvm-18
2024-08-14Port `run-make/sysroot-crates-are-unstable` to rmakeZalathar-2/+5
2024-08-13Ignore cross compile check for `tests/run-make/doctests-keep-binaries-2024` testGuillaume Gomez-0/+2
2024-08-13Update `tests/run-make/doctests-keep-binaries-2024/rmake.rs` test to new ↵Guillaume Gomez-6/+5
run-make API
2024-08-13Run fmtGuillaume Gomez-2/+4
2024-08-13Add new `run-make` tests for doctestsGuillaume Gomez-0/+171
2024-08-13Port `run-make/libtest-junit` to rmakeZalathar-20/+31
2024-08-13Port `run-make/libtest-json` to rmakeZalathar-22/+33
2024-08-12Rollup merge of #129013 - Kobzol:remove-unused-git-clone-sha-file, r=jieyouxuMatthias Krüger-23/+0
Remove unused script from run-make tests Its last usage was removed in https://github.com/rust-lang/rust/pull/128636. Tracking issue: https://github.com/rust-lang/rust/issues/121876 r? jieyouxu
2024-08-12Properly differentiate between methods and assoc fnsEsteban Küber-1/+1
2024-08-12Rework suggestion methodEsteban Küber-10/+79
Make checking slightly cheaper (by restricting to the right item only). Add tests.
2024-08-12reword messageEsteban Küber-1/+1
2024-08-12Detect multiple crate versions on method not foundEsteban Küber-10/+34
When a type comes indirectly from one crate version but the imported trait comes from a separate crate version, the called method won't be found. We now show additional context: ``` error[E0599]: no method named `foo` found for struct `dep_2_reexport::Type` in the current scope --> multiple-dep-versions.rs:8:10 | 8 | Type.foo(); | ^^^ method not found in `Type` | note: you have multiple different versions of crate `dependency` in your dependency graph --> multiple-dep-versions.rs:4:32 | 4 | use dependency::{do_something, Trait}; | ^^^^^ `dependency` imported here doesn't correspond to the right crate version | ::: ~/rust/build/x86_64-unknown-linux-gnu/test/run-make/crate-loading/rmake_out/multiple-dep-versions-1.rs:4:1 | 4 | pub trait Trait { | --------------- this is the trait that was imported | ::: ~/rust/build/x86_64-unknown-linux-gnu/test/run-make/crate-loading/rmake_out/multiple-dep-versions-2.rs:4:1 | 4 | pub trait Trait { | --------------- this is the trait that is needed 5 | fn foo(&self); | --- the method is available for `dep_2_reexport::Type` here ```
2024-08-12Remove unused script from run-make testsJakub Beránek-23/+0
2024-08-12Rollup merge of #128937 - lqd:clean-rmake-tests, r=jieyouxuGuillaume Gomez-83/+49
Fix warnings in rmake tests on `x86_64-unknown-linux-gnu` r? `@jieyouxu` This PR fixes some warnings I saw in rmake tests. I didn't deny more warnings in this PR until `@jieyouxu` gives their opinion, but maybe we should actually deny all warnings in `rmake.rs` files? I've also only looked at non-ignored tests on `x86_64-unknown-linux-gnu`, and denying warnings would require a try build for all targets 😓.
2024-08-12rewrite remap-path-prefix-dwarf to rmakeOneirical-112/+202
2024-08-12Add `run-make` test for `-` for `-o` optionGuillaume Gomez-0/+26
2024-08-11tests: ignore `dump-ice-to-disk` on windows许杰友 Jieyou Xu (Joe)-3/+4
2024-08-11Fix review comments and other improvementsbjorn3-18/+30
2024-08-11use `rfs` in rustdoc io rmake testRémy Rakic-7/+5
2024-08-11tests: tidy up `dump-ice-to-disk` and make assertion failures extremely verbose许杰友 Jieyou Xu (Joe)-113/+172