Skip to content

Commit

Permalink
Tidy: allow feature-gate tests to be ui tests
Browse files Browse the repository at this point in the history
ui tests are the future, especially since the
recent improvement where we have gained
checking and requiring of //~ERROR comments.

The tidy feature-gate test check is intended
to be 50% an actual insurance that there is
a check, and 50% to be a teacher that such
checks are required.

With this commit applied, newbies might
interpret stuff wrongly and create tests
that don't fail but succeed instead.

This is not what feature gate tests are
for though. Therefore, in a later step,
when only ui tests are allowed to be feature
gate tests, we will add checking to ensure
that a file marked as gate test is actually
required to be a compilation failure.

Right now implementing such a check is a
bit annoying as one needs to only do it
when the compile-fail test is in the
ui test suite :/.
  • Loading branch information
est31 committed Dec 7, 2017
1 parent bd7021f commit 8ba9f9e
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/tools/tidy/src/features.rs
Expand Up @@ -89,7 +89,9 @@ pub fn check(path: &Path, bad: &mut bool, quiet: bool) {

let mut contents = String::new();

super::walk_many(&[&path.join("test/compile-fail"),
super::walk_many(&[&path.join("test/ui-fulldeps"),
&path.join("test/ui"),
&path.join("test/compile-fail"),
&path.join("test/compile-fail-fulldeps"),
&path.join("test/parse-fail"),],
&mut |path| super::filter_dirs(path),
Expand Down Expand Up @@ -150,9 +152,9 @@ pub fn check(path: &Path, bad: &mut bool, quiet: bool) {

for &(name, _) in gate_untested.iter() {
println!("Expected a gate test for the feature '{}'.", name);
println!("Hint: create a file named 'feature-gate-{}.rs' in the compile-fail\
\n test suite, with its failures due to missing usage of\
\n #![feature({})].", name, name);
println!("Hint: create a failing test file named 'feature-gate-{}.rs'\
\n in the 'ui' test suite, with its failures due to\
\n missing usage of #![feature({})].", name, name);
println!("Hint: If you already have such a test and don't want to rename it,\
\n you can also add a // gate-test-{} line to the test file.",
name);
Expand Down

0 comments on commit 8ba9f9e

Please sign in to comment.