diff --git a/nix-rust/src/error.rs b/nix-rust/src/error.rs index 85ac926e9..9abcacc06 100644 --- a/nix-rust/src/error.rs +++ b/nix-rust/src/error.rs @@ -22,6 +22,7 @@ pub enum Error { #[cfg(unused)] HttpError(hyper::error::Error), Misc(String), + #[cfg(not(test))] Foreign(CppException), BadTarFileMemberName(String), } @@ -63,6 +64,7 @@ impl fmt::Display for Error { Error::IOError(err) => write!(f, "I/O error: {}", err), #[cfg(unused)] Error::HttpError(err) => write!(f, "HTTP error: {}", err), + #[cfg(not(test))] Error::Foreign(_) => write!(f, ""), // FIXME Error::Misc(s) => write!(f, "{}", s), Error::BadTarFileMemberName(s) => { @@ -72,6 +74,7 @@ impl fmt::Display for Error { } } +#[cfg(not(test))] impl From for CppException { fn from(err: Error) -> Self { match err { @@ -81,16 +84,19 @@ impl From for CppException { } } +#[cfg(not(test))] #[repr(C)] #[derive(Debug)] pub struct CppException(*const libc::c_void); // == std::exception_ptr* +#[cfg(not(test))] impl CppException { fn new(s: &str) -> Self { Self(unsafe { make_error(s) }) } } +#[cfg(not(test))] impl Drop for CppException { fn drop(&mut self) { unsafe { @@ -99,6 +105,7 @@ impl Drop for CppException { } } +#[cfg(not(test))] extern "C" { #[allow(improper_ctypes)] // YOLO fn make_error(s: &str) -> *const libc::c_void; diff --git a/nix-rust/src/lib.rs b/nix-rust/src/lib.rs index 0c3cf5276..9935cd27a 100644 --- a/nix-rust/src/lib.rs +++ b/nix-rust/src/lib.rs @@ -9,6 +9,7 @@ extern crate assert_matches; #[macro_use] extern crate proptest; +#[cfg(not(test))] mod c; mod error; mod foreign;