6 def test_timer(repeat = 0, timer_start = 10, timer_length = 100):
11 t = RecordTimer.RecordTimer()
13 # generate a timer to test
14 import xml.dom.minidom
16 timer = RecordTimer.createTimer(xml.dom.minidom.parseString(
21 serviceref="1:0:1:6DD2:44D:1:C00000:0:0:0:"
23 name="Test Event Name"
24 description="Test Event Description"
29 </timer>""" % (at + timer_start, at + timer_start + timer_length, repeat)
34 # run virtual environment
39 timers = t.processed_timers + t.timer_list
41 print "start: %s" % (time.ctime(at + 10))
43 assert len(timers) == 1
46 print "begin=%d, end=%d, repeated=%d, state=%d" % (t.begin - at, t.end - at, t.repeated, t.state)
47 print "begin: %s" % (time.ctime(t.begin))
48 print "end: %s" % (time.ctime(t.end))
50 # if repeat, check if the calculated repeated time of day matches the initial time of day
52 t_initial = time.localtime(at + timer_start)
53 t_repeated = time.localtime(timers[0].begin)
57 # assert t_initial[3:6] == t_repeated[3:6], "repeated timer time of day does not match"
59 # required stuff for timer (we try to keep this minimal)
61 enigma.init_record_config()
62 enigma.init_parental_control()
65 import FakeNotifications
66 sys.modules["Notifications"] = FakeNotifications
68 from events import log
74 # we are operating in CET/CEST
75 os.environ['TZ'] = 'CET'
78 log(test_timer, base_time = calendar.timegm((2007, 3, 24, 12, 0, 0)), repeat=0x7f)
79 #log(test_timer, base_time = calendar.timegm((2007, 03, 20, 0, 0, 0)), repeat=0x7f)