From 33ca3e35bebdb3f1b718feb374df1fa24a1ad73a Mon Sep 17 00:00:00 2001 From: Cadence Marseille Date: Sun, 8 Dec 2013 17:12:41 -0500 Subject: Handle ENOENT Translate ENOENT to IoErrorKind::FileNotFound. --- src/libstd/io/net/unix.rs | 2 +- src/libstd/run.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/libstd') diff --git a/src/libstd/io/net/unix.rs b/src/libstd/io/net/unix.rs index c1f75465d9c..76ce1e4dc6b 100644 --- a/src/libstd/io/net/unix.rs +++ b/src/libstd/io/net/unix.rs @@ -194,7 +194,7 @@ mod tests { do run_in_mt_newsched_task { let mut called = false; io_error::cond.trap(|e| { - assert_eq!(e.kind, OtherIoError); + assert_eq!(e.kind, FileNotFound); called = true; }).inside(|| { let stream = UnixStream::connect(&("path/to/nowhere")); diff --git a/src/libstd/run.rs b/src/libstd/run.rs index 14d49df59a4..84c1329223b 100644 --- a/src/libstd/run.rs +++ b/src/libstd/run.rs @@ -340,7 +340,7 @@ mod tests { use task::spawn; use unstable::running_on_valgrind; use io::native::file; - use io::{Writer, Reader, io_error}; + use io::{FileNotFound, OtherIoError, Reader, Writer, io_error}; #[test] #[cfg(not(target_os="android"))] // FIXME(#10380) @@ -354,9 +354,14 @@ mod tests { #[test] fn test_process_output_fail_to_start() { + // If the executable does not exist, then the io_error condition should be raised with + // IoErrorKind FileNotFound. + let mut trapped_io_error = false; - let opt_outp = io_error::cond.trap(|_| { + let opt_outp = io_error::cond.trap(|e| { trapped_io_error = true; + // FIXME(#11023) + assert_eq!(e.kind, if cfg!(windows) { OtherIoError } else { FileNotFound }); }).inside(|| -> Option { run::process_output("no-binary-by-this-name-should-exist", []) }); -- cgit 1.4.1-3-g733a5