workspacer_test_coverage/
generate_report.rs1crate::ix!();
3
4impl GenerateReport for TestCoverageCommand {
5
6 type Report = TestCoverageReport;
7 type Error = TestCoverageError;
8
9 fn generate_report(&self) -> Result<Self::Report, Self::Error> {
10 if let Ok(report) = TestCoverageReport::from_maybe_plaintext_coverage_summary(self.stdout()) {
12 return Ok(report);
13 }
14
15 if self.is_stdout_empty() || self.has_stderr_errors() {
17 return Err(TestCoverageError::CoverageParseError);
18 }
19
20 let coverage_data = self.parse_json_output()?;
22 TestCoverageReport::try_from(&coverage_data)
23 }
24}