diff options
| author | Mark Rousskov <mark.simulacrum@gmail.com> | 2018-07-21 16:54:30 -0600 |
|---|---|---|
| committer | Mark Rousskov <mark.simulacrum@gmail.com> | 2018-07-31 11:37:21 -0600 |
| commit | de5cebdba58770ab555476bc4cdf23d89bd0c3ea (patch) | |
| tree | 3c03fae0a1973b2dbb8cbdb4c455af5aa4663f2e /src | |
| parent | ad40e4517f1969e60eac9fcac2affa75bb2e715e (diff) | |
| download | rust-de5cebdba58770ab555476bc4cdf23d89bd0c3ea.tar.gz rust-de5cebdba58770ab555476bc4cdf23d89bd0c3ea.zip | |
Provide test configuration through struct
This is far more sound than passing many different arguments of the same type.
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/html/markdown.rs | 25 | ||||
| -rw-r--r-- | src/librustdoc/test.rs | 24 |
2 files changed, 21 insertions, 28 deletions
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs index 0774ce34718..c73e6d4b355 100644 --- a/src/librustdoc/html/markdown.rs +++ b/src/librustdoc/html/markdown.rs @@ -513,12 +513,7 @@ pub fn find_testable_code(doc: &str, tests: &mut ::test::Collector, position: Sp let text = lines.collect::<Vec<Cow<str>>>().join("\n"); nb_lines += doc[prev_offset..offset].lines().count(); let line = tests.get_line() + (nb_lines - 1); - let filename = tests.get_filename(); - tests.add_test(text.to_owned(), - block_info.should_panic, block_info.no_run, - block_info.ignore, block_info.test_harness, - block_info.compile_fail, block_info.error_codes, - line, filename, block_info.allow_fail); + tests.add_test(text, block_info, line); prev_offset = offset; } else { handler.span_warn(position, "invalid start of a new code block"); @@ -543,16 +538,16 @@ pub fn find_testable_code(doc: &str, tests: &mut ::test::Collector, position: Sp } #[derive(Eq, PartialEq, Clone, Debug)] -struct LangString { +pub struct LangString { original: String, - should_panic: bool, - no_run: bool, - ignore: bool, - rust: bool, - test_harness: bool, - compile_fail: bool, - error_codes: Vec<String>, - allow_fail: bool, + pub should_panic: bool, + pub no_run: bool, + pub ignore: bool, + pub rust: bool, + pub test_harness: bool, + pub compile_fail: bool, + pub error_codes: Vec<String>, + pub allow_fail: bool, } impl LangString { diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs index a6667e17728..2885ce615d2 100644 --- a/src/librustdoc/test.rs +++ b/src/librustdoc/test.rs @@ -42,7 +42,7 @@ use errors; use errors::emitter::ColorConfig; use clean::Attributes; -use html::markdown; +use html::markdown::{self, LangString}; #[derive(Clone, Default)] pub struct TestOptions { @@ -533,10 +533,8 @@ impl Collector { format!("{} - {} (line {})", filename, self.names.join("::"), line) } - pub fn add_test(&mut self, test: String, - should_panic: bool, no_run: bool, should_ignore: bool, - as_test_harness: bool, compile_fail: bool, error_codes: Vec<String>, - line: usize, filename: FileName, allow_fail: bool) { + pub fn add_test(&mut self, test: String, config: LangString, line: usize) { + let filename = self.get_filename(); let name = self.generate_name(line, &filename); let cfgs = self.cfgs.clone(); let libs = self.libs.clone(); @@ -551,10 +549,10 @@ impl Collector { self.tests.push(testing::TestDescAndFn { desc: testing::TestDesc { name: testing::DynTestName(name.clone()), - ignore: should_ignore, + ignore: config.ignore, // compiler failures are test failures should_panic: testing::ShouldPanic::No, - allow_fail, + allow_fail: config.allow_fail, }, testfn: testing::DynTestFn(box move || { let panic = io::set_panic(None); @@ -572,11 +570,11 @@ impl Collector { libs, cg, externs, - should_panic, - no_run, - as_test_harness, - compile_fail, - error_codes, + config.should_panic, + config.no_run, + config.test_harness, + config.compile_fail, + config.error_codes, &opts, maybe_sysroot, linker, @@ -604,7 +602,7 @@ impl Collector { self.position = position; } - pub fn get_filename(&self) -> FileName { + fn get_filename(&self) -> FileName { if let Some(ref codemap) = self.codemap { let filename = codemap.span_to_filename(self.position); if let FileName::Real(ref filename) = filename { |
