def tear_down(self) -> None: # fail remaining tests while True: test = self.next_test() if test is None: break self._record_result(test=test, outcome=Error(SimFailure), wall_time_s=0, sim_time_ns=0) # Write out final log messages self._log_test_summary() self._log_sim_summary() self.log.info("Shutting down...") # Generate output reports self.xunit.write() if self._cov: self._cov.stop() self.log.info("Writing coverage data") self._cov.save() self._cov.html_report() # Setup simulator finalization simulator.stop_simulator()
def tear_down(self) -> None: # prevent re-entering the tear down procedure if not self._tearing_down: self._tearing_down = True else: return # fail remaining tests while True: test = self.next_test() if test is None: break self._record_result(test=test, outcome=Error(SimFailure), wall_time_s=0, sim_time_ns=0) # Write out final log messages self._log_test_summary() # Generate output reports self.xunit.write() if self._cov: self._cov.stop() self.log.info("Writing coverage data") self._cov.save() self._cov.html_report() if cocotb._library_coverage is not None: # TODO: move this once we have normal shutdown behavior to _sim_event cocotb._library_coverage.stop() cocotb._library_coverage.save() # Setup simulator finalization simulator.stop_simulator()
def tear_down(self): # fail remaining tests while True: test = self.next_test() if test is None: break self.xunit.add_testcase(name=test.funcname, classname=test.module, time=repr(0), sim_time_ns=repr(0), ratio_time=repr(0)) result_pass, _ = self._score_test( test, cocotb.outcomes.Error(SimFailure())) self._store_test_result(test.module, test.funcname, result_pass, 0, 0, 0) if not result_pass: self.xunit.add_failure() self.failures += 1 # Write out final log messages if self.failures: self.log.error("Failed %d out of %d tests (%d skipped)" % (self.failures, self.count - 1, self.skipped)) else: self.log.info("Passed %d tests (%d skipped)" % (self.count - 1, self.skipped)) if len(self.test_results) > 0: self._log_test_summary() self._log_sim_summary() self.log.info("Shutting down...") # Generate output reports self.xunit.write() if self._cov: self._cov.stop() self.log.info("Writing coverage data") self._cov.save() self._cov.html_report() # Setup simulator finalization simulator.stop_simulator()