diff options
| author | gareth <gareth@gareth-N56VM.(none)> | 2013-05-12 13:58:00 +0100 |
|---|---|---|
| committer | gareth <gareth@gareth-N56VM.(none)> | 2013-05-27 13:50:33 +0100 |
| commit | 76c31217bee0f80b096b33d8a1b499f491d92c9f (patch) | |
| tree | 7acc05357fd53b79704b908c3438c83e86b01341 /src/libfuzzer/fuzzer.rc | |
| parent | d577eafff3fed544e616373c06c987ed0471dfc4 (diff) | |
| download | rust-76c31217bee0f80b096b33d8a1b499f491d92c9f.tar.gz rust-76c31217bee0f80b096b33d8a1b499f491d92c9f.zip | |
Refactor core::run in order to address many of the issues
mentioned in #2625. This change makes the module more oriented around Process values instead of having to deal with process ids directly. Apart from issues mentioned in #2625, other changes include: - Changing the naming to be more consistent - Process/process is now used instead of a mixture of Program/program and Process/process. - More docs/tests. Some io/scheduler related issues remain (mentioned in #2625).
Diffstat (limited to 'src/libfuzzer/fuzzer.rc')
| -rw-r--r-- | src/libfuzzer/fuzzer.rc | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/libfuzzer/fuzzer.rc b/src/libfuzzer/fuzzer.rc index 3be55937933..90a93a9e57c 100644 --- a/src/libfuzzer/fuzzer.rc +++ b/src/libfuzzer/fuzzer.rc @@ -412,20 +412,20 @@ pub fn check_whole_compiler(code: &str, pub fn removeIfExists(filename: &Path) { // So sketchy! assert!(!contains(filename.to_str(), " ")); - run::program_output("bash", [~"-c", ~"rm " + filename.to_str()]); + run::process_status("bash", [~"-c", ~"rm " + filename.to_str()]); } pub fn removeDirIfExists(filename: &Path) { // So sketchy! assert!(!contains(filename.to_str(), " ")); - run::program_output("bash", [~"-c", ~"rm -r " + filename.to_str()]); + run::process_status("bash", [~"-c", ~"rm -r " + filename.to_str()]); } pub fn check_running(exe_filename: &Path) -> happiness { - let p = run::program_output( + let p = run::process_output( "/Users/jruderman/scripts/timed_run_rust_program.py", [exe_filename.to_str()]); - let comb = p.out + ~"\n" + p.err; + let comb = str::from_bytes(p.output) + ~"\n" + str::from_bytes(p.error); if str::len(comb) > 1u { error!("comb comb comb: %?", comb); } @@ -461,33 +461,35 @@ pub fn check_running(exe_filename: &Path) -> happiness { } pub fn check_compiling(filename: &Path) -> happiness { - let p = run::program_output( - "/Users/jruderman/code/rust/build/x86_64-apple-darwin/\ - stage1/bin/rustc", + let p = run::process_output( + "/Users/jruderman/code/rust/build/x86_64-apple-darwin/stage1/bin/rustc", [filename.to_str()]); + let out = str::from_bytes(p.output); + let err = str::from_bytes(p.error); + //error!("Status: %d", p.status); if p.status == 0 { passed - } else if p.err != ~"" { - if contains(p.err, "error:") { + } else if !err.is_empty() { + if err.contains("error:") { cleanly_rejected(~"rejected with span_error") } else { - error!("Stderr: %?", p.err); + error!("Stderr: %?", err); failed(~"Unfamiliar error message") } - } else if contains(p.out, "Assertion") && contains(p.out, "failed") { - error!("Stdout: %?", p.out); + } else if out.contains("Assertion") && out.contains("failed") { + error!("Stdout: %?", out); failed(~"Looks like an llvm assertion failure") - } else if contains(p.out, "internal compiler error unimplemented") { + } else if out.contains("internal compiler error unimplemented") { known_bug(~"Something unimplemented") - } else if contains(p.out, "internal compiler error") { - error!("Stdout: %?", p.out); + } else if out.contains("internal compiler error") { + error!("Stdout: %?", out); failed(~"internal compiler error") } else { error!("%?", p.status); - error!("!Stdout: %?", p.out); + error!("!Stdout: %?", out); failed(~"What happened?") } } @@ -608,9 +610,7 @@ pub fn check_roundtrip_convergence(code: @~str, maxIters: uint) { error!("Did not converge after %u iterations!", i); write_file(&Path("round-trip-a.rs"), *oldv); write_file(&Path("round-trip-b.rs"), *newv); - run::run_program("diff", - [~"-w", ~"-u", ~"round-trip-a.rs", - ~"round-trip-b.rs"]); + run::process_status("diff", [~"-w", ~"-u", ~"round-trip-a.rs", ~"round-trip-b.rs"]); fail!("Mismatch"); } } |
