From 1240197a5b64611078b4645b81663c206217dcb6 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Tue, 20 May 2014 20:19:39 -0700 Subject: std: Move running_on_valgrind to rt::util. #1457 [breaking-change] --- src/libstd/rt/mod.rs | 4 ++++ src/libstd/rt/util.rs | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src/libstd/rt') diff --git a/src/libstd/rt/mod.rs b/src/libstd/rt/mod.rs index daf18346fee..d2131ad44fb 100644 --- a/src/libstd/rt/mod.rs +++ b/src/libstd/rt/mod.rs @@ -76,6 +76,10 @@ pub use self::util::{Stdio, Stdout, Stderr}; pub use alloc::{heap, libc_heap}; +// Used by I/O tests +#[experimental] +pub use self::util::running_on_valgrind; + // FIXME: these probably shouldn't be public... #[doc(hidden)] pub mod shouldnt_be_public { diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs index 1ab9ac1b11e..103fbdc0bc9 100644 --- a/src/libstd/rt/util.rs +++ b/src/libstd/rt/util.rs @@ -15,11 +15,11 @@ use io::IoResult; use io; use iter::Iterator; use libc; +use libc::uintptr_t; use option::{Some, None, Option}; use os; use result::Ok; use str::{Str, StrSlice}; -use unstable::running_on_valgrind; use slice::ImmutableVector; // Indicates whether we should perform expensive sanity checks, including rtassert! @@ -162,3 +162,15 @@ memory and partly incapable of presentation to others.", unsafe { intrinsics::abort() } } } + +/// Dynamically inquire about whether we're running under V. +/// You should usually not use this unless your test definitely +/// can't run correctly un-altered. Valgrind is there to help +/// you notice weirdness in normal, un-doctored code paths! +pub fn running_on_valgrind() -> bool { + unsafe { rust_running_on_valgrind() != 0 } +} + +extern { + fn rust_running_on_valgrind() -> uintptr_t; +} -- cgit 1.4.1-3-g733a5