Commit graph

46 commits

Author SHA1 Message Date
Oneirical
81f7e54962 Port issue-11908 to rmake 2024-05-14 18:15:37 -04:00
Michael Goulet
844c7e826e
Rollup merge of #125047 - Oneirical:test5, r=jieyouxu
Migrate `run-make/issue-14500` to new `rmake.rs` format

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

Note: I find suspicious that `libbar.a` is hardcoded and is not using the `STATICLIB` call to adapt to Windows platforms. Is this intentional? If not, this will need to be changed.
2024-05-14 09:55:28 -04:00
Oneirical
45b50d303c lto function, static_library call, rename 2024-05-13 22:56:21 -04:00
Guillaume Gomez
4057a7b1e3 Add library_search_path to Rustdoc 2024-05-13 15:21:12 +02:00
Guillaume Gomez
eea00ca354 Add target method to Rustdoc type 2024-05-13 15:04:10 +02:00
Oneirical
f2de5fb2ae rewrite issue-14500 to rmake 2024-05-12 14:00:09 -04:00
Guillaume Gomez
114e25761f Migrate rustdoc-scrape-examples-ordering to rmake 2024-05-12 11:30:52 +02:00
Guillaume Gomez
0712ae865f Add extern_ method to Rustdoc 2024-05-11 21:09:00 +02:00
Guillaume Gomez
0761802e50 Add python_command and source_path functions 2024-05-11 21:09:00 +02:00
Guillaume Gomez
4a00debfef Add crate_name method to Rustdoc and Rustc 2024-05-11 21:09:00 +02:00
Guillaume Gomez
23e965eb68 Add crate_type method to Rustdoc 2024-05-11 21:09:00 +02:00
Guillaume Gomez
823b423d4c Add new output method to Rustc and Rustdoc types 2024-05-06 09:16:35 +02:00
Guillaume Gomez
c04d09a76b Rename run-make-support library output method to command_output 2024-05-05 16:53:57 +02:00
Guillaume Gomez
a56ba918d2 Implement edition method on Rustdoc type as well 2024-05-05 16:53:57 +02:00
Guillaume Gomez
cc29dfa785 Add Rustdoc::current_dir method to run-make-support 2024-05-03 21:27:13 +02:00
Matthias Krüger
c27d3d5d2a
Rollup merge of #124612 - Urgau:run-make-stdin, r=jieyouxu
Add support for inputing via stdin with run-make-support

This PR adds the facility to set a input bytes that will be passed via the standard input.

This is useful for testing `rustc -` (and soon `rustdoc -`).

In #124611 took the approach of having a dedicated `run` method but it is not very convenient to use and would necessitate many functions, one for success, one for fail, ...

Instead this PR takes a different approach and allows setting the input bytes as if it were a parameter and when calling the (now custom) `output` function, we write the input bytes into stdin. I think this gives us maximum flexibility in the implementation and a simple interface for users.

To test this new logic I ported `tests/run-make/stdin-non-utf8/` to an `rmake.rs` one.

r? `@jieyouxu`
2024-05-03 15:26:10 +02:00
Urgau
0a03b0961a run-make-support: add support for stdin input with rustc/rustdoc 2024-05-02 20:54:22 +02:00
许杰友 Jieyou Xu (Joe)
42ecde4e5f run-make-support: preserve tooks.mk behavior for EXTRACXXFLAGS 2024-05-02 01:08:39 +00:00
许杰友 Jieyou Xu (Joe)
7350a7fa4f
Rollup merge of #124561 - GuillaumeGomez:run-make-normalize, r=jieyouxu
Add `normalize()` in run-make `Diff` type

I need it to do the same as:

```
//@ normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
```

in doctests.

I need it in particular for the https://github.com/rust-lang/rust/pull/123974 PR (which contains this commit until this PR current PR is merged).

cc `@Urgau`
r? `@jieyouxu`
2024-04-30 19:29:52 +01:00
许杰友 Jieyou Xu (Joe)
ce18639b92
Rollup merge of #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](aca749eefc/tests/run-make/wasm-symbols-not-exported/rmake.rs (L34)) that this will fix).

Tracking issue: #121876
2024-04-30 19:29:51 +01:00
beetrees
c2fd6ed235
Port repr128-dwarf run-make test to rmake 2024-04-30 17:50:49 +01:00
Guillaume Gomez
e0ec71f154 Add normalize() in run-make Diff type 2024-04-30 18:06:48 +02:00
Jover Zhang
f3530cf003 Rewrite no-input-file.stderr test in Rust and support diff 2024-04-25 09:10:10 +08:00
许杰友 Jieyou Xu (Joe)
255bee1777 run-make-support: add clang and llvm-readobj command wrappers 2024-04-17 16:28:49 +00:00
Rémy Rakic
af887d3c42 mention json target specs in run_make_support 2024-04-15 19:47:38 +00:00
Rémy Rakic
8acfe9a138 add link_arg helper to run_make_support
and use it in the `rust-lld` tests
2024-04-15 18:08:55 +00:00
Rémy Rakic
682535e777 add regex to run_make_support
note: version more recent than 1.8 depend on memchr 2.6, which creates
conflicts as memchr 2.5.0 is pinned elsewhere in the workspace
2024-04-15 17:23:16 +00:00
许杰友 Jieyou Xu (Joe)
a67a119424 run-make-support: add some top-level docs 2024-04-13 14:50:07 +00:00
许杰友 Jieyou Xu (Joe)
3d115b9cc9 run-make-support: use macro to implement common methods
Removes the manual copy-pasta'd implementation of common methods.
2024-04-13 14:50:07 +00:00
许杰友 Jieyou Xu (Joe)
b22099d4e0 run-make-support: introduce macro for common methods to avoid repetition
Add a helper macro for adding common methods to command wrappers. Common
methods include helpers that delegate to `Command` and running methods.

- `arg` and `args` (delegates to `Command`)
- `env`, `env_remove` and `env_clear` (delegates to `Command`)
- `output`, `run` and `run_fail`

This helps to avoid needing to copy-pasta / reimplement these common
methods on a new command wrapper, which hopefully reduces the friction
for run-make test writers wanting to introduce new command wrappers.
2024-04-13 14:49:44 +00:00
许杰友 Jieyou Xu (Joe)
e994534242 run-make-support: make handle_failed_output take a &Command 2024-04-13 14:48:20 +00:00
Matthias Krüger
a510cbdead
Rollup merge of #123763 - cuviper:host-rpath-run-make-v2, r=jieyouxu
Set the host library path in run-make v2

When the build is configured with `[rust] rpath = false`, we need to set
`LD_LIBRARY_PATH` (or equivalent) to what would have been the `RPATH`,
so the compiler can find its own libraries. The old `tools.mk` code has
this environment prefixed in the `$(BARE_RUSTC)` variable, so we just
need to wire up something similar for run-make v2.

This is now set while building each `rmake.rs` itself, as well as in the
`rust-make-support` helpers for `rustc` and `rustdoc` commands. This is
also available in a `set_host_rpath` function for manual commands, like
in the `compiler-builtins` test.
2024-04-12 04:38:21 +02:00
Josh Stone
8a5409bbdb Set the host library path in run-make v2
When the build is configured with `[rust] rpath = false`, we need to set
`LD_LIBRARY_PATH` (or equivalent) to what would have been the `RPATH`,
so the compiler can find its own libraries. The old `tools.mk` code has
this environment prefixed in the `$(BARE_RUSTC)` variable, so we just
need to wire up something similar for run-make v2.

This is now set while building each `rmake.rs` itself, as well as in the
`rust-make-support` helpers for `rustc` and `rustdoc` commands. This is
also available in a `set_host_rpath` function for manual commands, like
in the `compiler-builtins` test.
2024-04-10 17:25:10 -07:00
Matthias Krüger
2ddf984594
Rollup merge of #123612 - kxxt:riscv-target-abi, r=jieyouxu,nikic,DianQK
Set target-abi module flag for RISC-V targets

Fixes cross-language LTO on RISC-V targets (Fixes #121924)
2024-04-10 04:27:40 +02:00
5225225
de79a6c084
run-make: make arg take AsRef<OsStr> instead of str 2024-04-09 19:55:06 +01:00
kxxt
adec1a2e84 Convert tests/run-make/cross-lang-lto-riscv-abi to rmake 2024-04-09 05:25:51 +02:00
5225225
65df93bbb4
move exit-code to rmake 2024-04-08 14:41:16 +01:00
Michael Baikov
914e43a664 extend run-make test runner with some helper functions 2024-04-06 10:16:50 -04:00
许杰友 Jieyou Xu (Joe)
142d02d472
Modify compiletest and run-make-support to support CC invocations in rmake.rs 2024-04-01 17:07:49 +01:00
beetrees
0bbaa2505b
Fix error message for env! when env var is not valid Unicode 2024-04-01 05:44:45 +01:00
Oneirical
e477488267 Rewrite core-no-fp-fmt-parse in Rust
Rewrite core-no-fp-fmt-parse in Rust

fix: missing import

fix: tidiness check

more tidy checks

remove tidy line length ignore

new helper functions + arg_path generic

fix: remove unused import

delete arg_path, change arg_path to input
2024-03-30 19:40:18 -04:00
许杰友 Jieyou Xu (Joe)
1f2178b9e7
Rework rmake support library to have a weakly-typed API with helper methods 2024-03-24 15:37:24 +00:00
Guillaume Gomez
5fab0162cc Add Rustdoc into run-make-support 2024-03-23 20:13:14 +01:00
Ben Kimock
2f6fb234de Add a test 2024-03-20 23:36:05 -04:00
Alex Crichton
7141379559 Convert some WebAssembly run-make tests to Rust
This commit rewrites a number of `run-make` tests centered around wasm
to instead use `rmake.rs` and additionally use the `wasm32-wasip1`
target instead of `wasm32-unknown-unknown`. Testing no longer requires
Node.js and additionally uses the `wasmparser` crate from crates.io to
parse outputs and power assertions.
2024-03-11 09:36:35 -07:00
许杰友 Jieyou Xu (Joe)
48e9f92ce2
Add supporting infrastructure for run-make V2 tests 2024-02-29 16:30:38 +00:00