def on_testcase_stop(self, testcase): log.remove_log_handler(self.log_handler) if self.classify and testcase.record.status in (TestCaseResultRecord.Status.SKIPPED, TestCaseResultRecord.Status.FAILED, TestCaseResultRecord.Status.ERRONEOUS, TestCaseResultRecord.Status.WARNING): new_log_dir = os.path.join(testcase.log_dir, testcase.record.status.name.lower()) testcase.log_dir = new_log_dir try: fs.mkdirs(new_log_dir) src = self.log_name dst = os.path.join(new_log_dir, os.path.basename(self.log_name)) logger.info("move: %s -> %s", src, dst) shutil.move(src, dst) for index, ext_log_name in enumerate(testcase.ext_log_names): logger.info("move: %s -> %s", ext_log_name, new_log_dir) shutil.move(ext_log_name, new_log_dir) testcase.ext_log_names[index] = os.path.join(new_log_dir, os.path.basename(ext_log_name)) except (shutil.Error, IOError): logger.exception("") self.log_name = None self.log_handler = None
def on_testrunner_stop(self, testrunner): if self._log_handler is not None: log.remove_log_handler(self._log_handler) self._log_handler = None
def on_testcase_stop(self, testcase): log.remove_log_handler(self.log_handler) self.log_handler = None