don't attempt to create /etc/enigma2 when testing
[vuplus_dvbapp] / tests / test_timer.py
1 import enigma
2 import sys
3 import time
4
5 #enigma.reset()
6 def test_timer(repeat = 0, timer_start = 10, timer_length = 100):
7         import RecordTimer
8         
9         at = time.time()
10         
11         t = RecordTimer.RecordTimer()
12
13         # generate a timer to test
14         import xml.dom.minidom
15
16         timer = RecordTimer.createTimer(xml.dom.minidom.parseString(
17         """
18                 <timer 
19                         begin="%d" 
20                         end="%d"
21                         serviceref="1:0:1:6DD2:44D:1:C00000:0:0:0:" 
22                         repeated="%d" 
23                         name="Test Event Name" 
24                         description="Test Event Description" 
25                         afterevent="nothing" 
26                         eit="56422" 
27                         disabled="0" 
28                         justplay="0">
29         </timer>""" % (at + timer_start, at + timer_start + timer_length, repeat)
30         ).childNodes[0])
31
32         t.record(timer)
33
34         # run virtual environment
35         enigma.run(4 * 86400)
36         
37         print "done."
38         
39         timers = t.processed_timers  + t.timer_list
40         
41         print "start: %s" % (time.ctime(at + 10))
42         
43         assert len(timers) == 1
44         
45         for t in timers:
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))
49
50         # if repeat, check if the calculated repeated time of day matches the initial time of day
51         if repeat:
52                 t_initial = time.localtime(at + timer_start)
53                 t_repeated = time.localtime(timers[0].begin)
54                 print t_initial
55                 print t_repeated
56                 
57 #               assert t_initial[3:6] == t_repeated[3:6], "repeated timer time of day does not match"
58
59 # required stuff for timer (we try to keep this minimal)
60 enigma.init_nav()
61 enigma.init_record_config()
62 enigma.init_parental_control()
63
64
65 import FakeNotifications
66 sys.modules["Notifications"] = FakeNotifications
67
68 from events import log
69
70 import calendar
71
72
73 import os
74 # we are operating in CET/CEST
75 os.environ['TZ'] = 'CET'
76 time.tzset()
77
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)