about summary refs log tree commit diff
path: root/tests/run-make
diff options
context:
space:
mode:
authorOneirical <manchot@videotron.ca>2024-06-09 14:24:36 -0400
committerOneirical <manchot@videotron.ca>2024-06-11 15:39:54 -0400
commit8a6bc13cfe2fe90237f76c58933d10d76fc8a29c (patch)
tree3741f76f7ebbebf90b739646956fcea59fa1e3d0 /tests/run-make
parentf88c647cdab91b7f82de2d68fb7ec0f4d00f86b8 (diff)
downloadrust-8a6bc13cfe2fe90237f76c58933d10d76fc8a29c.tar.gz
rust-8a6bc13cfe2fe90237f76c58933d10d76fc8a29c.zip
Add set_backtrace_level helper function to run_make_support
Diffstat (limited to 'tests/run-make')
-rw-r--r--tests/run-make/short-ice/rmake.rs37
1 files changed, 24 insertions, 13 deletions
diff --git a/tests/run-make/short-ice/rmake.rs b/tests/run-make/short-ice/rmake.rs
index 0aa1df61dbe..81403931c78 100644
--- a/tests/run-make/short-ice/rmake.rs
+++ b/tests/run-make/short-ice/rmake.rs
@@ -4,26 +4,37 @@
 // was shortened down to an appropriate length.
 // See https://github.com/rust-lang/rust/issues/107910
 
+//@ ignore-windows
+// Reason: the assert_eq! on line 32 fails, as error output on Windows is different.
+
 use run_make_support::rustc;
-use std::env;
 
 fn main() {
-    env::set_var("RUST_BACKTRACE", "1");
-    let mut rust_test_1 = rustc().input("src/lib.rs").arg("-Ztreat-err-as-bug=1").run_fail();
-    env::set_var("RUST_BACKTRACE", "full");
-    let mut rust_test_2 = rustc().input("src/lib.rs").arg("-Ztreat-err-as-bug=1").run_fail();
-    let rust_test_log_1 = rust_test_1.stderr_utf8().push_str(&rust_test_1.stdout_utf8()).as_str();
-    let rust_test_log_2 = rust_test_2.stderr_utf8().push_str(&rust_test_2.stdout_utf8()).as_str();
+    let rust_test_1 =
+        rustc().set_backtrace_level("1").input("src/lib.rs").arg("-Ztreat-err-as-bug=1").run_fail();
+    let rust_test_2 = rustc()
+        .set_backtrace_level("full")
+        .input("src/lib.rs")
+        .arg("-Ztreat-err-as-bug=1")
+        .run_fail();
+
+    let mut rust_test_log_1 = rust_test_1.stderr_utf8();
+    rust_test_log_1.push_str(&rust_test_1.stdout_utf8());
+    let rust_test_log_1 = rust_test_log_1.as_str();
+
+    let mut rust_test_log_2 = rust_test_2.stderr_utf8();
+    rust_test_log_2.push_str(&rust_test_2.stdout_utf8());
+    let rust_test_log_2 = rust_test_log_2.as_str();
 
     let rustc_query_count_full = count_lines_with(rust_test_log_2, "rustc_query_");
 
-    assert!(
-        rust_test_log_1.lines().count() < rust_test_log_2.lines().count()
-            && count_lines_with(rust_test_log_2, "__rust_begin_short_backtrace")
-                == count_lines_with(rust_test_log_2, "__rust_end_short_backtrace")
-            && count_lines_with(rust_test_log_1, "rustc_query_") + 5 < rustc_query_count_full
-            && rustc_query_count_full > 5
+    assert!(rust_test_log_1.lines().count() < rust_test_log_2.lines().count());
+    assert_eq!(
+        count_lines_with(rust_test_log_2, "__rust_begin_short_backtrace"),
+        count_lines_with(rust_test_log_2, "__rust_end_short_backtrace")
     );
+    assert!(count_lines_with(rust_test_log_1, "rustc_query_") + 5 < rustc_query_count_full);
+    assert!(rustc_query_count_full > 5);
 }
 
 fn count_lines_with(s: &str, search: &str) -> usize {