#[macro_use]
extern crate pretty_assertions;
use std::env;
use std::path::Path;
use std::process::{Command, Stdio};
#[test]
fn issue_365_run_io_from_command_line() {
if ::std::env::var("GLUON_PATH").is_err() {
::std::env::set_var("GLUON_PATH", "..");
}
let path = env::args().next().unwrap();
let gluon_path = Path::new(&path[..])
.parent()
.and_then(|p| p.parent())
.expect("folder")
.join("gluon");
let output = Command::new(&*gluon_path)
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.stderr(Stdio::piped())
.arg("tests/print.glu")
.output()
.unwrap_or_else(|err| panic!("{}\nWhen opening `{}`", err, gluon_path.display()));
let stderr = String::from_utf8_lossy(&output.stderr);
if stderr != "" {
panic!("{}", stderr);
}
assert_eq!(String::from_utf8_lossy(&output.stdout), "123\n");
}