Write preprocessed content to file before testing with rustdoc

Fixes #855.
This commit is contained in:
Carol (Nichols || Goulding) 2019-02-28 20:44:55 -05:00
parent c068703028
commit d7c7d91005
No known key found for this signature in database
GPG Key ID: D04B39A6CA243902
5 changed files with 21 additions and 8 deletions

View File

@ -242,13 +242,12 @@ impl MDBook {
if let BookItem::Chapter(ref ch) = *item {
if !ch.path.as_os_str().is_empty() {
let path = self.source_dir().join(&ch.path);
let content = utils::fs::file_to_string(&path)?;
info!("Testing file: {:?}", path);
// write preprocessed file to tempdir
let path = temp_dir.path().join(&ch.path);
let mut tmpf = utils::fs::create_file(&path)?;
tmpf.write_all(content.as_bytes())?;
tmpf.write_all(ch.content.as_bytes())?;
let output = Command::new("rustdoc")
.arg(&path)

View File

@ -58,8 +58,11 @@ impl DummyBook {
})?;
let sub_pattern = if self.passing_test { "true" } else { "false" };
let file_containing_test = temp.path().join("src/first/nested.md");
replace_pattern_in_file(&file_containing_test, "$TEST_STATUS", sub_pattern)?;
let files_containing_tests = ["src/first/nested.md", "src/first/nested-test.rs"];
for file in &files_containing_tests {
let path_containing_tests = temp.path().join(file);
replace_pattern_in_file(&path_containing_tests, "$TEST_STATUS", sub_pattern)?;
}
Ok(temp)
}

View File

@ -0,0 +1 @@
assert!($TEST_STATUS);

View File

@ -7,3 +7,7 @@ assert!($TEST_STATUS);
```
## Some Section
```rust
{{#include nested-test.rs}}
```

View File

@ -46,7 +46,7 @@
"title": 2
},
"5": {
"body": 0,
"body": 1,
"breadcrumbs": 3,
"title": 1
},
@ -109,7 +109,7 @@
"title": "Nested Chapter"
},
"5": {
"body": "",
"body": "assert!(true);",
"breadcrumbs": "First Chapter » Some Section",
"id": "5",
"title": "Some Section"
@ -177,10 +177,13 @@
"df": 0,
"docs": {},
"u": {
"df": 1,
"df": 2,
"docs": {
"4": {
"tf": 1.0
},
"5": {
"tf": 1.0
}
}
}
@ -1336,10 +1339,13 @@
"df": 0,
"docs": {},
"u": {
"df": 1,
"df": 2,
"docs": {
"4": {
"tf": 1.0
},
"5": {
"tf": 1.0
}
}
}