From b809af601a669b8bc3bcbfb0d0398b8ebedaf2e7 Mon Sep 17 00:00:00 2001 From: Joseph Crail Date: Tue, 5 May 2015 19:39:30 -0400 Subject: [PATCH 1/2] Fix failing test for sort. The sorted values were not outputted using a newline. --- src/sort/sort.rs | 2 +- test/sort.rs | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/sort/sort.rs b/src/sort/sort.rs index 9e9553346..7cefcffb4 100644 --- a/src/sort/sort.rs +++ b/src/sort/sort.rs @@ -152,7 +152,7 @@ fn frac_compare(a: &String, b: &String) -> Ordering { #[inline(always)] fn print_sorted>(iter: T) where S: std::fmt::Display { for line in iter { - print!("{}", line); + println!("{}", line); } } diff --git a/test/sort.rs b/test/sort.rs index 32cf7c046..820628373 100644 --- a/test/sort.rs +++ b/test/sort.rs @@ -1,8 +1,7 @@ -#![allow(unstable)] - -use std::old_io::process::Command; -use std::old_io::File; -use std::string::String; +use std::fs::File; +use std::io::Read; +use std::path::Path; +use std::process::Command; static PROGNAME: &'static str = "./sort"; @@ -34,15 +33,16 @@ fn numeric5() { fn numeric_helper(test_num: isize) { let mut cmd = Command::new(PROGNAME); cmd.arg("-n"); - let po = match cmd.clone().arg(format!("{}{}{}", "numeric", test_num, ".txt")).output() { + let po = match cmd.arg(format!("{}{}{}", "numeric", test_num, ".txt")).output() { Ok(p) => p, Err(err) => panic!("{}", err), }; - let answer = match File::open(&Path::new(format!("{}{}{}", "numeric", test_num, ".ans"))) - .read_to_end() { - Ok(answer) => answer, - Err(err) => panic!("{}", err), - }; - assert_eq!(String::from_utf8(po.output).unwrap(), String::from_utf8(answer).unwrap()); + let filename = format!("{}{}{}", "numeric", test_num, ".ans"); + let mut f = File::open(Path::new(&filename)).unwrap_or_else(|err| { + panic!("{}", err) + }); + let mut answer = vec!(); + let _ = f.read_to_end(&mut answer); + assert_eq!(String::from_utf8(po.stdout).unwrap(), String::from_utf8(answer).unwrap()); } From 8140208cd072f0dd5ff27e50e2e79b4e5d084268 Mon Sep 17 00:00:00 2001 From: Joseph Crail Date: Wed, 6 May 2015 13:37:57 -0400 Subject: [PATCH 2/2] Check return value of read(). --- test/sort.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/test/sort.rs b/test/sort.rs index 820628373..9ba2b8e6a 100644 --- a/test/sort.rs +++ b/test/sort.rs @@ -35,7 +35,7 @@ fn numeric_helper(test_num: isize) { cmd.arg("-n"); let po = match cmd.arg(format!("{}{}{}", "numeric", test_num, ".txt")).output() { Ok(p) => p, - Err(err) => panic!("{}", err), + Err(err) => panic!("{}", err) }; let filename = format!("{}{}{}", "numeric", test_num, ".ans"); @@ -43,6 +43,9 @@ fn numeric_helper(test_num: isize) { panic!("{}", err) }); let mut answer = vec!(); - let _ = f.read_to_end(&mut answer); + match f.read_to_end(&mut answer) { + Ok(_) => {}, + Err(err) => panic!("{}", err) + } assert_eq!(String::from_utf8(po.stdout).unwrap(), String::from_utf8(answer).unwrap()); }