Skip to content

Commit fb170ea

Browse files
committed
move to report test case
1 parent d7d6605 commit fb170ea

15 files changed

+68
-404
lines changed

src/merger/merger.rs

-36
Original file line numberDiff line numberDiff line change
@@ -120,30 +120,9 @@ impl ReportMerger {
120120

121121
#[cfg(test)]
122122
mod tests {
123-
extern crate tempdir;
124-
125-
use self::tempdir::TempDir;
126123
use merger::*;
127124
use merger::ops:: { MergeError, TestError, ChecksumError, MergeLine };
128125
use report::summary::{ Summary };
129-
use std::fs::File;
130-
use std::io::*;
131-
132-
#[test]
133-
fn save_as() {
134-
let report_path = "tests/fixtures/merge/fixture.info";
135-
136-
let mut parse = ReportMerger::new();
137-
let report = parse.merge(&[ report_path ]).unwrap();
138-
139-
{
140-
let tmp_dir = TempDir::new("report").expect("create temp dir");
141-
let file_path = tmp_dir.path().join("report.lcov");
142-
let _ = report.save_as(file_path.clone()).unwrap();
143-
144-
assert_eq!(file_path.as_path().exists(), true);
145-
}
146-
}
147126

148127
#[test]
149128
fn merge_checksum() {
@@ -223,19 +202,4 @@ mod tests {
223202
_ => false
224203
})
225204
}
226-
227-
#[test]
228-
fn display() {
229-
let report_path = "tests/fixtures/merge/fixture.info";
230-
let readed_file_content = {
231-
let mut output = String::new();
232-
let mut f = File::open(report_path).unwrap();
233-
let _ = f.read_to_string(&mut output);
234-
output
235-
};
236-
let mut parse = ReportMerger::new();
237-
let report = parse.merge(&[ report_path ]).unwrap();
238-
239-
assert_eq!(report.to_string(), readed_file_content);
240-
}
241205
}

src/report/mod.rs

+55
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,58 @@ impl fmt::Display for Report {
7272
Ok(())
7373
}
7474
}
75+
76+
#[cfg(test)]
77+
mod tests {
78+
extern crate tempdir;
79+
80+
use self::tempdir::TempDir;
81+
use record::{ LineData, FunctionData, BranchData };
82+
use report::test::{ Tests };
83+
use report::file;
84+
use report::{ Report };
85+
use merger::ops:: { TryMerge };
86+
use std::fs::File;
87+
use std::io::*;
88+
89+
fn build_report() -> Report {
90+
let mut tests = Tests::new();
91+
let line_data = &LineData { line: 1, count: 1, checksum: None };
92+
let function_data = &FunctionData { name: "main".to_string(), count: 1 };
93+
let branch_data = &BranchData { line: 1, block: 1, branch: 1, taken: 1 };
94+
let test_name = "test1".to_string();
95+
96+
tests.try_merge((&test_name, line_data)).unwrap();
97+
tests.try_merge((&test_name, function_data)).unwrap();
98+
tests.try_merge((&test_name, branch_data)).unwrap();
99+
100+
let file = file::File::new(tests);
101+
let mut files = file::Files::new();
102+
files.try_merge((&"a.c".to_string(), &file)).unwrap();
103+
104+
Report::new(files)
105+
}
106+
107+
#[test]
108+
fn save_as() {
109+
let report = build_report();
110+
let tmp_dir = TempDir::new("report").expect("create temp dir");
111+
let file_path = tmp_dir.path().join("report.lcov");
112+
let _ = report.save_as(file_path.clone()).unwrap();
113+
114+
assert_eq!(file_path.as_path().exists(), true);
115+
}
116+
117+
#[test]
118+
fn display() {
119+
let report = build_report();
120+
let report_path = "tests/fixtures/report/report.info";
121+
let readed_file_content = {
122+
let mut output = String::new();
123+
let mut f = File::open(report_path).unwrap();
124+
let _ = f.read_to_string(&mut output);
125+
output
126+
};
127+
assert_eq!(report.to_string(), readed_file_content);
128+
}
129+
}

tests/fixtures/merge/Makefile

-18
This file was deleted.

tests/fixtures/merge/README.md

-4
This file was deleted.

tests/fixtures/merge/fixture.c

-9
This file was deleted.

tests/fixtures/merge/fixture.info

-61
This file was deleted.

tests/fixtures/merge/func1.c

-15
This file was deleted.

tests/fixtures/merge/func1.h

-1
This file was deleted.

tests/fixtures/merge/func2.c

-15
This file was deleted.

tests/fixtures/merge/func2.h

-1
This file was deleted.

tests/fixtures/merge/marged_without_test_name_fixture.info

-61
This file was deleted.

tests/fixtures/merge/merged_fixture.info

-61
This file was deleted.

0 commit comments

Comments
 (0)