xref: /unit/test/unit/applications/proto.py (revision 1028:2201c3f83ae3)
1import re
2import time
3from unit.control import TestControl
4
5
6class TestApplicationProto(TestControl):
7    def sec_epoch(self):
8        return time.mktime(time.gmtime())
9
10    def date_to_sec_epoch(self, date, template='%a, %d %b %Y %H:%M:%S %Z'):
11        return time.mktime(time.strptime(date, template))
12
13    def search_in_log(self, pattern, name='unit.log'):
14        with open(self.testdir + '/' + name, 'r', errors='ignore') as f:
15            return re.search(pattern, f.read())
16
17    def wait_for_record(self, pattern, name='unit.log'):
18        for i in range(50):
19            found = self.search_in_log(pattern, name)
20
21            if found is not None:
22                break
23
24            time.sleep(0.1)
25
26        return found
27