Rollup merge of #127820 - Oneirical:intestellar-travel, r=jieyouxu

Rewrite and rename `issue-14698`. `issue-33329` and `issue-107094` `run-make` tests to rmake or ui

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

try-job: armhf-gnu
try-job: test-various
try-job: aarch64-apple
try-job: x86_64-msvc
This commit is contained in:
Trevor Gross 2024-07-22 11:40:20 -05:00 committed by GitHub
commit 3ba92bec0e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 50 additions and 20 deletions

View File

@ -27,10 +27,7 @@ run-make/foreign-rust-exceptions/Makefile
run-make/incr-add-rust-src-component/Makefile
run-make/incr-foreign-head-span/Makefile
run-make/interdependent-c-libraries/Makefile
run-make/issue-107094/Makefile
run-make/issue-14698/Makefile
run-make/issue-15460/Makefile
run-make/issue-33329/Makefile
run-make/issue-35164/Makefile
run-make/issue-36710/Makefile
run-make/issue-47551/Makefile

View File

@ -0,0 +1,20 @@
// When the TMP (on Windows) or TMPDIR (on Unix) variable is set to an invalid
// or non-existing directory, this used to cause an internal compiler error (ICE). After the
// addition of proper error handling in #28430, this test checks that the expected message is
// printed.
// See https://github.com/rust-lang/rust/issues/14698
use run_make_support::{is_windows, rustc};
// NOTE: This is not a UI test despite its simplicity, as the error message contains a path
// with some variability that is difficult to normalize
fn main() {
let mut rustc = rustc();
if is_windows() {
rustc.env("TMP", "fake");
} else {
rustc.env("TMPDIR", "fake");
}
rustc.input("foo.rs").run_fail().assert_stderr_contains("couldn't create a temp dir");
}

View File

@ -1,7 +0,0 @@
# needs-git-hash
include ../tools.mk
all:
$(BARE_RUSTC) --version --verbose | $(CGREP) -i -e "commit-hash: [0-9a-f]{40}" "commit-date: [0-9]{4}-[0-9]{2}-[0-9]{2}"
$(BARE_RUSTDOC) --version --verbose | $(CGREP) -i -e "commit-hash: [0-9a-f]{40}" "commit-date: [0-9]{4}-[0-9]{2}-[0-9]{2}"

View File

@ -1,4 +0,0 @@
include ../tools.mk
all:
TMP=fake TMPDIR=fake $(RUSTC) foo.rs 2>&1 | $(CGREP) "couldn't create a temp dir:"

View File

@ -1,5 +0,0 @@
include ../tools.mk
all:
$(RUSTC) --target x86_64_unknown-linux-musl main.rs 2>&1 | $(CGREP) \
"error: Error loading target specification: Could not find specification for target"

View File

@ -1 +0,0 @@
fn main() {}

View File

@ -0,0 +1,20 @@
// `--version --verbose` should display the git-commit hashes of rustc and rustdoc, but this
// functionality was lost due to #104184. After this feature was returned by #109981, this
// test ensures it will not be broken again.
// See https://github.com/rust-lang/rust/issues/107094
//@ needs-git-hash
use run_make_support::{bare_rustc, bare_rustdoc, regex};
fn main() {
let out_rustc =
bare_rustc().arg("--version").arg("--verbose").run().stdout_utf8().to_lowercase();
let out_rustdoc =
bare_rustdoc().arg("--version").arg("--verbose").run().stdout_utf8().to_lowercase();
let re =
regex::Regex::new(r#"commit-hash: [0-9a-f]{40}\ncommit-date: [0-9]{4}-[0-9]{2}-[0-9]{2}"#)
.unwrap();
assert!(re.is_match(&out_rustc));
assert!(re.is_match(&out_rustdoc));
}

View File

@ -0,0 +1,8 @@
// The attentive may note the underscores in the target triple, making it invalid. This test
// checks that such invalid target specs are rejected by the compiler.
// See https://github.com/rust-lang/rust/issues/33329
//@ needs-llvm-components: x86
//@ compile-flags: --target x86_64_unknown-linux-musl
fn main() {}

View File

@ -0,0 +1,2 @@
error: Error loading target specification: Could not find specification for target "x86_64_unknown-linux-musl". Run `rustc --print target-list` for a list of built-in targets