Skip to content

Commit dce7bc0

Browse files
committed
add tempdir crate
1 parent f0628e0 commit dce7bc0

File tree

4 files changed

+45
-4
lines changed

4 files changed

+45
-4
lines changed

Cargo.lock

+25
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+3
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ readme = "README.md"
1212

1313
[dependencies]
1414
combine = "2.0.0"
15+
16+
[dev-dependencies]
17+
tempdir = "0.3"

examples/marge_files.rs

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
extern crate lcov_parser;
2+
extern crate tempdir;
23

34
use lcov_parser:: { merge_files };
5+
use tempdir::TempDir;
46

57
fn main() {
68
let trace_files = [
79
"../../../tests/fixtures/fixture1.info",
810
"../../../tests/fixtures/fixture2.info"
911
];
1012
let _ = match merge_files(&trace_files) {
11-
Ok(report) => report.save_as("/tmp/merged_report.info"),
13+
Ok(report) => {
14+
let tmp_dir = TempDir::new("example_report").expect("create temp dir");
15+
let file_path = tmp_dir.path().join("merged_report.lcov");
16+
report.save_as(file_path.as_path().clone())
17+
},
1218
Err(err) => panic!(err)
1319
};
1420
}

src/merger/merger.rs

+10-3
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,11 @@ impl ReportMerger {
120120

121121
#[cfg(test)]
122122
mod tests {
123+
extern crate tempdir;
124+
125+
use self::tempdir::TempDir;
123126
use merger::*;
124127
use merger::ops:: { MergeError, TestError, ChecksumError, MergeLine };
125-
use std::path::Path;
126128
use std::fs::File;
127129
use std::io::*;
128130

@@ -132,9 +134,14 @@ mod tests {
132134

133135
let mut parse = ReportMerger::new();
134136
let report = parse.merge(&[ report_path ]).unwrap();
135-
let _ = report.save_as("/tmp/report.lcov").unwrap();
136137

137-
assert_eq!(Path::new("/tmp/report.lcov").exists(), true);
138+
{
139+
let tmp_dir = TempDir::new("report").expect("create temp dir");
140+
let file_path = tmp_dir.path().join("report.lcov");
141+
let _ = report.save_as(file_path.clone()).unwrap();
142+
143+
assert_eq!(file_path.as_path().exists(), true);
144+
}
138145
}
139146

140147
#[test]

0 commit comments

Comments
 (0)