also test parts of std

requires disabling some tests that do not work
This commit is contained in:
Ralf Jung 2024-04-05 23:22:17 +02:00
parent c0b564b767
commit 1242093da2
5 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,5 @@
// Disabling in Miri as these would take too long.
#![cfg(not(miri))]
#![feature(test)]
extern crate test;

View File

@ -8,6 +8,7 @@
mod common;
#[test]
#[cfg_attr(miri, ignore)] // Process spawning not supported by Miri
fn issue_15149() {
// If we're the parent, copy our own binary to a new directory.
let my_path = env::current_exe().unwrap();

View File

@ -51,6 +51,7 @@ fn switch_stdout_to(file: OwnedHandle) -> OwnedHandle {
}
#[test]
#[cfg_attr(miri, ignore)] // dup/SetStdHandle not supported by Miri
fn switch_stdout() {
let temp = common::tmpdir();
let path = temp.join("switch-stdout-output");

View File

@ -5,7 +5,8 @@
#[test]
#[cfg_attr(target_os = "emscripten", ignore)]
fn sleep() {
#[cfg_attr(miri, ignore)] // Miri does not like the thread leak
fn sleep_very_long() {
let finished = Arc::new(Mutex::new(false));
let t_finished = finished.clone();
thread::spawn(move || {

View File

@ -57,11 +57,21 @@ check-aux:
library/core \
library/alloc \
--no-doc
# Some doctests have intentional memory leaks.
$(Q)MIRIFLAGS="-Zmiri-ignore-leaks -Zmiri-disable-isolation" \
$(BOOTSTRAP) miri --stage 2 \
library/core \
library/alloc \
--doc
# In `std` we cannot test everything, so we test the most target-dependent modules.
$(Q)MIRIFLAGS="-Zmiri-disable-isolation" BOOTSTRAP_SKIP_TARGET_SANITY=1 \
$(BOOTSTRAP) miri --stage 2 library/std \
--no-doc -- \
--skip fs:: --skip net:: --skip process:: --skip sys::pal::
$(Q)MIRIFLAGS="-Zmiri-ignore-leaks -Zmiri-disable-isolation" BOOTSTRAP_SKIP_TARGET_SANITY=1 \
$(BOOTSTRAP) miri --stage 2 library/std \
--doc -- \
--skip fs:: --skip net:: --skip process:: --skip sys::pal::
dist:
$(Q)$(BOOTSTRAP) dist $(BOOTSTRAP_ARGS)
distcheck: