extern crate tempdir; extern crate gcc; use std::env; mod support; use support::Test; #[test] fn main() { ccache(); distcc(); ccache_spaces(); } fn ccache() { let test = Test::gnu(); test.shim("ccache"); env::set_var("CC", "ccache lol-this-is-not-a-compiler foo"); test.gcc().file("foo.c").compile("libfoo.a"); test.cmd(0) .must_have("lol-this-is-not-a-compiler foo") .must_have("foo.c") .must_not_have("ccache"); } fn ccache_spaces() { let test = Test::gnu(); test.shim("ccache"); env::set_var("CC", "ccache lol-this-is-not-a-compiler foo"); test.gcc().file("foo.c").compile("libfoo.a"); test.cmd(0).must_have("lol-this-is-not-a-compiler foo"); } fn distcc() { let test = Test::gnu(); test.shim("distcc"); env::set_var("CC", "distcc lol-this-is-not-a-compiler foo"); test.gcc().file("foo.c").compile("libfoo.a"); test.cmd(0) .must_have("lol-this-is-not-a-compiler foo") .must_have("foo.c") .must_not_have("distcc"); }