Mercurial > fife-parpg
view tests/swig_tests/timer_tests.py @ 338:d266506ff4f9
Bug fix.
It turned out the instance tree contained ghost instances, since
InstanceTree.removeInstance sometimes failed.
This caused those random crashes in UH.
Now the InstanceTree enforces that remove/add Instance
work in pairs. A new Exception is raised in case this
ever goes wrong again. (InconsitencyDetected)
Furthermore the removeInstancheChangeListener stuff
had a fix to become reentrant. It is not clear
wether this was shadowed by the aforementioned bug
or was never triggered.
author | phoku@33b003aa-7bff-0310-803a-e67f0ece8222 |
---|---|
date | Mon, 24 Aug 2009 18:32:03 +0000 |
parents | d2f1e81fbe2c |
children | 81641655bc38 |
line wrap: on
line source
#!/usr/bin/env python from swig_test_utils import * import time class MyTimeEvent(fife.TimeEvent): def __init__(self, period): fife.TimeEvent.__init__(self, period) self.counter = 0 def updateEvent(self, curtime): print "testing timer event... %d, %d" % (curtime, self.counter) self.counter += 1 class TestTimer(unittest.TestCase): def setUp(self): self.engine = getEngine(True) self.timemanager = self.engine.getTimeManager() def tearDown(self): self.engine.destroy() def testEvents(self): e = MyTimeEvent(100) self.timemanager.registerEvent(e) for i in xrange(10): time.sleep(0.1) self.timemanager.update() self.timemanager.unregisterEvent(e) TEST_CLASSES = [TestTimer] if __name__ == '__main__': unittest.main()