예제 #1
0
        def test_get_patterns(self):
            dt_pattern = " ".join(
                ["\d{4}-\d{2}-\d{2}", "\d{2}:\d{2}:\d{2}\.\d{6}"])
            type_pattern = "(DEBUG|INFO|NOTICE|WARNING|ERROR|CRITICAL)"
            source_pattern = "\[.*:.*\]"
            thread_pattern = "\[.*:.*\]"
            details_pattern = ".*"

            self.assertEqual(VPatterns.get_std_datetime(), dt_pattern)
            self.assertEqual(VPatterns.get_std_type(), type_pattern)
            self.assertEqual(VPatterns.get_std_source(), source_pattern)
            self.assertEqual(VPatterns.get_std_thread(), thread_pattern)
            self.assertEqual(VPatterns.get_std_details(), details_pattern)
예제 #2
0
    def _store_curr_time(self, log):
        """Store the datetime object of the time from the current log or None if no time available."""
        if self.SUMMARY:
            set_root = False
            if not self._hm.is_test_start_time_added():
                set_root = True

            if isinstance(log, str):
                pattern = "^(" + VPatterns.get_std_datetime() + ")"
                m = re.match(pattern, log)
                if m and m.group(1):
                    self._curr_time = vlogfield.Datetime(m.group(1)).datetime
            else:
                self._curr_time = log.datetime

            if isinstance(self._prev_fmt_log, vlogline.Header) or set_root:
                self._hm.start_time(self._curr_time, root=set_root)