diff options
Diffstat (limited to 'tests/test_timer.py')
| -rw-r--r-- | tests/test_timer.py | 93 |
1 files changed, 72 insertions, 21 deletions
diff --git a/tests/test_timer.py b/tests/test_timer.py index 4745030a..2ee76f10 100644 --- a/tests/test_timer.py +++ b/tests/test_timer.py @@ -1,28 +1,79 @@ import enigma +import sys +import time -import RecordTimer +#enigma.reset() +def test_timer(repeat = 0, timer_start = 10, timer_length = 100): + import RecordTimer + + at = time.time() + + t = RecordTimer.RecordTimer() -t = RecordTimer.RecordTimer() + # generate a timer to test + import xml.dom.minidom -# generate a timer to test -import xml.dom.minidom + timer = RecordTimer.createTimer(xml.dom.minidom.parseString( + """ + <timer + begin="%d" + end="%d" + serviceref="1:0:1:6DD2:44D:1:C00000:0:0:0:" + repeated="%d" + name="Test Event Name" + description="Test Event Description" + afterevent="nothing" + eit="56422" + disabled="0" + justplay="0"> + </timer>""" % (at + timer_start, at + timer_start + timer_length, repeat) + ).childNodes[0]) -timer = RecordTimer.createTimer(xml.dom.minidom.parseString( -""" - <timer - begin="10" - end="200" - serviceref="1:0:1:6DD2:44D:1:C00000:0:0:0:" - repeated="0" - name="Test Event Name" - description="Test Event Description" - afterevent="nothing" - eit="56422" - disabled="0" - justplay="0"> -</timer>""").childNodes[0]) + t.record(timer) -t.record(timer) + # run virtual environment + enigma.run(4 * 86400) + + print "done." + + timers = t.processed_timers + t.timer_list + + print "start: %s" % (time.ctime(at + 10)) + + assert len(timers) == 1 + + for t in timers: + print "begin=%d, end=%d, repeated=%d, state=%d" % (t.begin - at, t.end - at, t.repeated, t.state) + print "begin: %s" % (time.ctime(t.begin)) + print "end: %s" % (time.ctime(t.end)) -# run virtual environment -enigma.run() + # if repeat, check if the calculated repeated time of day matches the initial time of day + if repeat: + t_initial = time.localtime(at + timer_start) + t_repeated = time.localtime(timers[0].begin) + print t_initial + print t_repeated + +# assert t_initial[3:6] == t_repeated[3:6], "repeated timer time of day does not match" + +# required stuff for timer (we try to keep this minimal) +enigma.init_nav() +enigma.init_record_config() +enigma.init_parental_control() + + +import FakeNotifications +sys.modules["Notifications"] = FakeNotifications + +from events import log + +import calendar + + +import os +# we are operating in CET/CEST +os.environ['TZ'] = 'CET' +time.tzset() + +log(test_timer, base_time = calendar.timegm((2007, 3, 24, 12, 0, 0)), repeat=0x7f) +#log(test_timer, base_time = calendar.timegm((2007, 03, 20, 0, 0, 0)), repeat=0x7f) |
