1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 11:37:44 +00:00

tests: Simplify logic of UCommand::run.

This commit is contained in:
Valentin Lorentz 2016-04-02 16:23:26 +02:00
parent b3b8a1ea54
commit fe5bc47971

View file

@ -486,29 +486,25 @@ impl UCommand {
} }
self.has_run = true; self.has_run = true;
log_info("run", &self.comm_string); log_info("run", &self.comm_string);
let prog = match self.stdin { let mut result = self.raw
Some(ref input) => { .stdin(Stdio::piped())
let mut result = self.raw .stdout(Stdio::piped())
.stdin(Stdio::piped()) .stderr(Stdio::piped())
.stdout(Stdio::piped()) .spawn()
.stderr(Stdio::piped()) .unwrap();
.spawn()
.unwrap();
result.stdin if let Some(ref input) = self.stdin {
.take() result.stdin
.unwrap_or_else( .take()
|| panic!( .unwrap_or_else(
"Could not take child process stdin")) || panic!(
.write_all(&input) "Could not take child process stdin"))
.unwrap_or_else(|e| panic!("{}", e)); .write_all(&input)
.unwrap_or_else(|e| panic!("{}", e));
}
let prog = result.wait_with_output().unwrap();
result.wait_with_output().unwrap()
}
None => {
self.raw.output().unwrap()
}
};
CmdResult { CmdResult {
success: prog.status.success(), success: prog.status.success(),
stdout: from_utf8(&prog.stdout).unwrap().to_string(), stdout: from_utf8(&prog.stdout).unwrap().to_string(),