diff options
| author | Nick Cameron <ncameron@mozilla.com> | 2015-03-16 09:00:41 +1300 |
|---|---|---|
| committer | Nick Cameron <ncameron@mozilla.com> | 2015-03-16 11:03:54 +1300 |
| commit | 432011d1437ce046c25dde8a4db67dac63c19ed0 (patch) | |
| tree | a58820426c5f3e925c3cdb0d11faf4d408ee37c4 /src/libsyntax/test.rs | |
| parent | 170ccd615f976fc9e90a8f14ce6c373bfdf01533 (diff) | |
| download | rust-432011d1437ce046c25dde8a4db67dac63c19ed0.tar.gz rust-432011d1437ce046c25dde8a4db67dac63c19ed0.zip | |
Fallout in testing.
Diffstat (limited to 'src/libsyntax/test.rs')
| -rw-r--r-- | src/libsyntax/test.rs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/libsyntax/test.rs b/src/libsyntax/test.rs index 5e858d8a79f..991ab77419f 100644 --- a/src/libsyntax/test.rs +++ b/src/libsyntax/test.rs @@ -121,13 +121,11 @@ impl<'a> fold::Folder for TestHarnessGenerator<'a> { debug!("current path: {}", ast_util::path_name_i(&self.cx.path)); - if is_test_fn(&self.cx, &*i) || is_bench_fn(&self.cx, &*i) { + let i = if is_test_fn(&self.cx, &*i) || is_bench_fn(&self.cx, &*i) { match i.node { ast::ItemFn(_, ast::Unsafety::Unsafe, _, _, _) => { let diag = self.cx.span_diagnostic; - diag.span_fatal(i.span, - "unsafe functions cannot be used for \ - tests"); + diag.span_fatal(i.span, "unsafe functions cannot be used for tests"); } _ => { debug!("this is a test function"); @@ -142,9 +140,18 @@ impl<'a> fold::Folder for TestHarnessGenerator<'a> { self.tests.push(i.ident); // debug!("have {} test/bench functions", // cx.testfns.len()); + + // Make all tests public so we can call them from outside + // the module (note that the tests are re-exported and must + // be made public themselves to avoid privacy errors). + let mut result = (*i).clone(); + result.vis = ast::Public; + P(result) } } - } + } else { + i + }; // We don't want to recurse into anything other than mods, since // mods or tests inside of functions will break things |
