about summary refs log tree commit diff
diff options
context:
space:
mode:
author许杰友 Jieyou Xu (Joe) <39484203+jieyouxu@users.noreply.github.com>2024-07-08 13:04:33 +0800
committerGitHub <noreply@github.com>2024-07-08 13:04:33 +0800
commit033283456ad7f77d13c0447bee121de301ff9927 (patch)
treec23d0f48f13ec0ab05a2c4191dec12bf37159069
parentffb93361b4a6fbb63622082614f4d76b8614e605 (diff)
parent39bb14e34a5670603386a7e6d4029b5e6699de6c (diff)
downloadrust-033283456ad7f77d13c0447bee121de301ff9927.tar.gz
rust-033283456ad7f77d13c0447bee121de301ff9927.zip
Rollup merge of #127451 - GuillaumeGomez:improve-output-type-permutations, r=kobzol
Improve `run-make/output-type-permutations` code and improve `filename_not_in_denylist` API

r? ``@Kobzol``
-rw-r--r--src/tools/run-make-support/src/lib.rs3
-rw-r--r--tests/run-make/output-type-permutations/rmake.rs5
2 files changed, 4 insertions, 4 deletions
diff --git a/src/tools/run-make-support/src/lib.rs b/src/tools/run-make-support/src/lib.rs
index 7bb89106de1..f464a109e77 100644
--- a/src/tools/run-make-support/src/lib.rs
+++ b/src/tools/run-make-support/src/lib.rs
@@ -296,7 +296,8 @@ pub fn not_contains<P: AsRef<Path>>(path: P, expected: &str) -> bool {
 }
 
 /// Returns true if the filename at `path` is not in `expected`.
-pub fn filename_not_in_denylist<P: AsRef<Path>>(path: P, expected: &[String]) -> bool {
+pub fn filename_not_in_denylist<P: AsRef<Path>, V: AsRef<[String]>>(path: P, expected: V) -> bool {
+    let expected = expected.as_ref();
     path.as_ref()
         .file_name()
         .is_some_and(|name| !expected.contains(&name.to_str().unwrap().to_owned()))
diff --git a/tests/run-make/output-type-permutations/rmake.rs b/tests/run-make/output-type-permutations/rmake.rs
index 30036dc7eea..1d1637a744e 100644
--- a/tests/run-make/output-type-permutations/rmake.rs
+++ b/tests/run-make/output-type-permutations/rmake.rs
@@ -17,9 +17,8 @@ use std::path::PathBuf;
 // `rustc_invocation`: the rustc command being tested
 // Any unexpected output files not listed in `must_exist` or `can_exist` will cause a failure.
 fn assert_expected_output_files(expectations: Expectations, rustc_invocation: impl Fn()) {
-    let must_exist = expectations.expected_files;
-    let can_exist = expectations.allowed_files;
-    let dir = expectations.test_dir;
+    let Expectations { expected_files: must_exist, allowed_files: can_exist, test_dir: dir } =
+        expectations;
 
     fs_wrapper::create_dir(&dir);
     rustc_invocation();