def test_timer(repeat = 0, timer_start = 3600, timer_length = 1000, sim_length = 86400 * 7): import NavigationInstance at = time.time() t = NavigationInstance.instance.RecordTimer print t print "old mwt:", t.MaxWaitTime t.MaxWaitTime = 86400 * 1000 # hack: NavigationInstance.instance.SleepTimer.MaxWaitTime = 86400 * 1000 t.processed_timers = [ ] t.timer_list = [ ] # generate a timer to test import xml.etree.cElementTree import RecordTimer timer = RecordTimer.createTimer(xml.etree.cElementTree.fromstring( """ <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) )) t.record(timer) # run virtual environment enigma.run(sim_length) 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)) # 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 if t_initial[3:6] != t_repeated[3:6]: raise tests.TestError("repeated timer time of day does not match")
def test_timer(repeat=0, timer_start=3600, timer_length=1000, sim_length=86400 * 7): import NavigationInstance at = time.time() t = NavigationInstance.instance.RecordTimer print t print "old mwt:", t.MaxWaitTime t.MaxWaitTime = 86400 * 1000 t.processed_timers = [] t.timer_list = [] # generate a timer to test import xml.etree.cElementTree import RecordTimer timer = RecordTimer.createTimer( xml.etree.cElementTree.fromstring(""" <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))) t.record(timer) # run virtual environment enigma.run(sim_length) 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)) # 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 if t_initial[3:6] != t_repeated[3:6]: raise tests.TestError("repeated timer time of day does not match")
if sys.argv[1] == '--help' or len(sys.argv) > 1: letters = sys.argv[1] else: raiseError() wheels = [] if len(sys.argv) > 2: i = 0 wheelStrings = sys.argv[2].split('|') for wheel in wheelStrings: wheelParts = wheel.split(',') seed = int(wheelParts[0]) location = int(wheelParts[1]) if len(wheelParts) > 1 else (0 if i < len(wheelStrings) - 1 else None) if location is None: reflector = enigma.Reflector(letters, seed) else: wheels.append(enigma.Wheel(letters, seed, location)) i += 1 if len(sys.argv) > 3: strInput = sys.argv[3] plugboard = enigma.Plugboard(letters, sys.argv[4]) if len(sys.argv) > 4 else None enigma = enigma.Enigma(letters, reflector, wheels, plugboard) print enigma.run(strInput) else: raiseError() else: raiseError()