mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-04-20 20:55:50 +00:00
Fix most test output (but not termcolor)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
use std::{
|
||||
fs, io,
|
||||
fs,
|
||||
io::{self, Read},
|
||||
path::{Path, PathBuf},
|
||||
process::Child,
|
||||
};
|
||||
@@ -50,5 +51,17 @@ pub struct KillOnDrop(pub Child);
|
||||
impl Drop for KillOnDrop {
|
||||
fn drop(&mut self) {
|
||||
let _ = self.0.kill();
|
||||
|
||||
if let Some(mut stdout) = self.0.stdout.take() {
|
||||
let mut output = Vec::new();
|
||||
let _ = stdout.read_to_end(&mut output);
|
||||
print!("{}", String::from_utf8_lossy(&output));
|
||||
}
|
||||
|
||||
if let Some(mut stderr) = self.0.stderr.take() {
|
||||
let mut output = Vec::new();
|
||||
let _ = stderr.read_to_end(&mut output);
|
||||
eprint!("{}", String::from_utf8_lossy(&output));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ fn run_build_test(test_name: &str) {
|
||||
let output_dir = tempdir().expect("couldn't create temporary directory");
|
||||
let output_path = output_dir.path().join(format!("{}.rbxmx", test_name));
|
||||
|
||||
let status = Command::new(ROJO_PATH)
|
||||
let output = Command::new(ROJO_PATH)
|
||||
.args(&[
|
||||
"build",
|
||||
input_path.to_str().unwrap(),
|
||||
@@ -72,10 +72,13 @@ fn run_build_test(test_name: &str) {
|
||||
])
|
||||
.env("RUST_LOG", "error")
|
||||
.current_dir(working_dir)
|
||||
.status()
|
||||
.output()
|
||||
.expect("Couldn't start Rojo");
|
||||
|
||||
assert!(status.success(), "Rojo did not exit successfully");
|
||||
print!("{}", String::from_utf8_lossy(&output.stdout));
|
||||
eprint!("{}", String::from_utf8_lossy(&output.stderr));
|
||||
|
||||
assert!(output.status.success(), "Rojo did not exit successfully");
|
||||
|
||||
let contents = fs::read_to_string(&output_path).expect("Couldn't read output file");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user