Пример #1
0
    def load_process_log(self):

        Msg.fout(self.process_log, "dbg")
        with open(self.process_log, "r") as my_flog:
            try:
                for my_line in my_flog:
                    Msg.user("Load: %s" % my_line, "PROCESS-LINE")
                    self.load_process_line(my_line)

            except Exception as arg_ex:
                Msg.error_trace(arg_ex)
                Msg.err(str(arg_ex))
            finally:
                my_flog.close()

        # here is the lowdown, if a command line exists then a result line must
        # also exist, check for generate pair
        if (self.detail_flags & SummaryDetail.GenCmd
            ) and not (self.detail_flags & SummaryDetail.GenResult):
            retcode, message = self.check_missing_result(
                self.process_result, "generator")
            self.load_gen_result({
                "retcode": retcode,
                "stdout": self.process_result[1],
                "stderr": self.process_result[2],
                "start": self.process_result[3],
                "end": self.process_result[4],
                "message": message,
            })

        # check for summary pair
        elif (self.detail_flags & SummaryDetail.IssCmd
              ) and not (self.detail_flags & SummaryDetail.IssResult):
            retcode, message = self.check_missing_result(
                self.process_result, "iss")
            self.load_iss_result({
                "retcode": retcode,
                "log": None,
                "message": message
            })

        # check for compare pair
        elif (self.detail_flags & SummaryDetail.TraceCmpCmd
              ) and not (self.detail_flags & SummaryDetail.TraceCmpResult):
            retcode, message = self.check_missing_result(
                self.process_result, "trace-cmp")
            self.load_trace_cmp_result({
                "trace-cmp-retcode": retcode,
                "trace-cmp-log": None,
                "message": message,
            })

        # check for RTL pair
        elif (self.detail_flags & SummaryDetail.RtlCmd
              ) and not (self.detail_flags & SummaryDetail.RtlResult):
            retcode, message = self.check_missing_result(
                self.process_result, "rtl")
            self.load_rtl_result({
                "retcode": retcode,
                "log": None,
                "message": message
            })