use ui test mode rather than mir-opt
These tests are not run per default
This commit is contained in:
parent
1fc3a00c90
commit
060bb2fa9f
@ -340,7 +340,7 @@ fn call_c_abi(
|
||||
Err(_) => -1,
|
||||
}
|
||||
} else {
|
||||
info!("Ignored output to FD {}", fd);
|
||||
warn!("Ignored output to FD {}", fd);
|
||||
n as isize // pretend it all went well
|
||||
}; // now result is the value we return back to the program
|
||||
self.write_primval(
|
||||
@ -456,7 +456,7 @@ fn call_c_abi(
|
||||
|
||||
// Stub out all the other pthread calls to just return 0
|
||||
link_name if link_name.starts_with("pthread_") => {
|
||||
warn!("ignoring C ABI call: {}", link_name);
|
||||
info!("ignoring C ABI call: {}", link_name);
|
||||
self.write_null(dest, dest_ty)?;
|
||||
}
|
||||
|
||||
@ -616,7 +616,7 @@ fn call_missing_fn(
|
||||
// A Rust function is missing, which means we are running with MIR missing for libstd (or other dependencies).
|
||||
// Still, we can make many things mostly work by "emulating" or ignoring some functions.
|
||||
"std::io::_print" => {
|
||||
trace!(
|
||||
warn!(
|
||||
"Ignoring output. To run programs that print, make sure you have a libstd with full MIR."
|
||||
);
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
use std::slice::SliceConcatExt;
|
||||
use std::path::{PathBuf, Path};
|
||||
use std::io::Write;
|
||||
use std::env;
|
||||
|
||||
macro_rules! eprintln {
|
||||
($($arg:tt)*) => {
|
||||
@ -90,7 +91,7 @@ fn miri_pass(path: &str, target: &str, host: &str, fullmir: bool, opt: bool) {
|
||||
opt_str
|
||||
);
|
||||
let mut config = compiletest::Config::default().tempdir();
|
||||
config.mode = "mir-opt".parse().expect("Invalid mode");
|
||||
config.mode = "ui".parse().expect("Invalid mode");
|
||||
config.src_base = PathBuf::from(path);
|
||||
config.target = target.to_owned();
|
||||
config.host = host.to_owned();
|
||||
@ -100,6 +101,9 @@ fn miri_pass(path: &str, target: &str, host: &str, fullmir: bool, opt: bool) {
|
||||
config.compile_lib_path = rustc_lib_path();
|
||||
}
|
||||
let mut flags = Vec::new();
|
||||
// Control miri logging. This is okay despite concurrent test execution as all tests
|
||||
// will set this env var to the same value.
|
||||
env::set_var("MIRI_LOG", "warn");
|
||||
// if we are building as part of the rustc test suite, we already have fullmir for everything
|
||||
if fullmir && rustc_test_suite().is_none() {
|
||||
if host != target {
|
||||
@ -122,9 +126,6 @@ fn miri_pass(path: &str, target: &str, host: &str, fullmir: bool, opt: bool) {
|
||||
flags.push("--miri_host_target".to_owned());
|
||||
}
|
||||
config.target_rustcflags = Some(flags.join(" "));
|
||||
// don't actually execute the final binary, it might be for other targets and we only care
|
||||
// about running miri, not the binary.
|
||||
config.runtool = Some("echo \"\" || ".to_owned());
|
||||
compiletest::run_tests(&config);
|
||||
}
|
||||
|
||||
|
@ -3,7 +3,5 @@
|
||||
fn main() {
|
||||
let mut i = 3;
|
||||
let _ = catch_unwind(AssertUnwindSafe(|| {i -= 2;} ));
|
||||
for _ in 0..i {
|
||||
println!("I");
|
||||
}
|
||||
println!("{}", i);
|
||||
}
|
||||
|
1
tests/run-pass-fullmir/catch.stdout
Normal file
1
tests/run-pass-fullmir/catch.stdout
Normal file
@ -0,0 +1 @@
|
||||
1
|
1
tests/run-pass-fullmir/format.stdout
Normal file
1
tests/run-pass-fullmir/format.stdout
Normal file
@ -0,0 +1 @@
|
||||
Hello 13
|
1
tests/run-pass-fullmir/hello.stdout
Normal file
1
tests/run-pass-fullmir/hello.stdout
Normal file
@ -0,0 +1 @@
|
||||
Hello, world!
|
2
tests/run-pass-fullmir/issue-3794.stdout
Normal file
2
tests/run-pass-fullmir/issue-3794.stdout
Normal file
@ -0,0 +1,2 @@
|
||||
S { s: 5 }
|
||||
S { s: 5 }
|
Loading…
Reference in New Issue
Block a user