Merge pull request #891 from integer32llc/include-before-test

Write preprocessed content to file before testing with rustdoc
This commit is contained in:
Eric Huss 2019-06-12 15:01:58 -07:00 committed by GitHub
commit 07830f7f11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 21 additions and 8 deletions

View File

@ -268,13 +268,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

@ -53,8 +53,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

@ -76,7 +76,7 @@
"title": 2
},
"5": {
"body": 0,
"body": 1,
"breadcrumbs": 3,
"title": 1
},
@ -169,7 +169,7 @@
"title": "Nested Chapter"
},
"5": {
"body": "",
"body": "assert!(true);",
"breadcrumbs": "First Chapter » Some Section",
"id": "5",
"title": "Some Section"
@ -269,10 +269,13 @@
"df": 0,
"docs": {},
"u": {
"df": 1,
"df": 2,
"docs": {
"4": {
"tf": 1.0
},
"5": {
"tf": 1.0
}
}
}
@ -1872,10 +1875,13 @@
"df": 0,
"docs": {},
"u": {
"df": 1,
"df": 2,
"docs": {
"4": {
"tf": 1.0
},
"5": {
"tf": 1.0
}
}
}