diff --git a/tests/cflags.rs b/tests/cflags.rs new file mode 100644 index 0000000..df6b0a7 --- /dev/null +++ b/tests/cflags.rs @@ -0,0 +1,18 @@ +extern crate cc; +extern crate tempdir; + +mod support; + +use std::env; +use support::Test; + +/// This test is in its own module because it modifies the environment and would affect other tests +/// when run in parallel with them. +#[test] +fn gnu_no_warnings_if_cflags() { + env::set_var("CFLAGS", "-arbitrary"); + let test = Test::gnu(); + test.gcc().file("foo.c").compile("foo"); + + test.cmd(0).must_not_have("-Wall").must_not_have("-Wextra"); +} diff --git a/tests/cxxflags.rs b/tests/cxxflags.rs new file mode 100644 index 0000000..26426af --- /dev/null +++ b/tests/cxxflags.rs @@ -0,0 +1,18 @@ +extern crate cc; +extern crate tempdir; + +mod support; + +use std::env; +use support::Test; + +/// This test is in its own module because it modifies the environment and would affect other tests +/// when run in parallel with them. +#[test] +fn gnu_no_warnings_if_cxxflags() { + env::set_var("CXXFLAGS", "-arbitrary"); + let test = Test::gnu(); + test.gcc().file("foo.cpp").cpp(true).compile("foo"); + + test.cmd(0).must_not_have("-Wall").must_not_have("-Wextra"); +} diff --git a/tests/test.rs b/tests/test.rs index 5147b77..8664165 100644 --- a/tests/test.rs +++ b/tests/test.rs @@ -1,7 +1,6 @@ extern crate cc; extern crate tempdir; -use std::env; use support::Test; mod support; @@ -111,26 +110,6 @@ fn gnu_warnings_overridable() { .must_have_in_order("-Wall", "-Wno-missing-field-initializers"); } -#[test] -fn gnu_no_warnings_if_cflags() { - env::set_var("CFLAGS", "-Wflag-does-not-exist"); - let test = Test::gnu(); - test.gcc().file("foo.c").compile("foo"); - - test.cmd(0).must_not_have("-Wall").must_not_have("-Wextra"); - env::set_var("CFLAGS", ""); -} - -#[test] -fn gnu_no_warnings_if_cxxflags() { - env::set_var("CXXFLAGS", "-Wflag-does-not-exist"); - let test = Test::gnu(); - test.gcc().file("foo.c").compile("foo"); - - test.cmd(0).must_not_have("-Wall").must_not_have("-Wextra"); - env::set_var("CXXFLAGS", ""); -} - #[test] fn gnu_x86_64() { for vendor in &["unknown-linux-gnu", "apple-darwin"] {