annotate tests/swig_tests/video_tests.py @ 608:c54f286a45fc

The last commit did not solve the random segfault issue in linux. I have added a deadtimer list to pychan's EventListenerBase which takes care of the issue (for now). [t:483]
author prock@33b003aa-7bff-0310-803a-e67f0ece8222
date Mon, 20 Sep 2010 20:21:45 +0000
parents 81641655bc38
children
rev   line source
0
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
1 #!/usr/bin/env python
396
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
2 # -*- coding: utf-8 -*-
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
3
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
4 # ####################################################################
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
5 # Copyright (C) 2005-2009 by the FIFE team
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
6 # http://www.fifengine.de
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
7 # This file is part of FIFE.
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
8 #
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
9 # FIFE is free software; you can redistribute it and/or
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
10 # modify it under the terms of the GNU Lesser General Public
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
11 # License as published by the Free Software Foundation; either
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
12 # version 2.1 of the License, or (at your option) any later version.
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
13 #
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
14 # This library is distributed in the hope that it will be useful,
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
17 # Lesser General Public License for more details.
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
18 #
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
19 # You should have received a copy of the GNU Lesser General Public
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
20 # License along with this library; if not, write to the
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
21 # Free Software Foundation, Inc.,
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
22 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
23 # ####################################################################
81641655bc38 Adding the correct header in a lot of files. Also made a small change to the CHANGES file by adding the 0.3.1 section.
prock@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 144
diff changeset
24
0
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
25 from swig_test_utils import *
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
26 from serializers.xmlanimation import XMLAnimationLoader
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
27
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
28 class TestVideo(unittest.TestCase):
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
29
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
30 def setUp(self):
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
31 self.engine = getEngine()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
32
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
33 def tearDown(self):
144
d2f1e81fbe2c * Fixed a scons issue, where libraries checked for C instead of C++
phoku@33b003aa-7bff-0310-803a-e67f0ece8222
parents: 0
diff changeset
34 self.engine.destroy()
0
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
35
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
36 def testSimpleAnimation(self):
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
37 pool = self.engine.getAnimationPool()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
38 animationloader = XMLAnimationLoader(self.engine.getImagePool(), self.engine.getVFS())
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
39 pool.addResourceLoader(animationloader)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
40
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
41 id = pool.addResourceFromFile('tests/data/wolf_walk/wolf_walk_sw.xml')
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
42 animation = pool.getAnimation(id)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
43 self.engine.initializePumping()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
44 backend = self.engine.getRenderBackend()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
45 gettime = self.engine.getTimeManager().getTime
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
46 starttime = gettime()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
47 for i in xrange(50):
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
48 image = animation.getFrameByTimestamp(gettime() - starttime)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
49 if not image:
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
50 image = animation.getFrame(0)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
51 starttime = gettime()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
52 #print fife.Rect(0,0,image.getWidth(),image.getHeight())
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
53 image.render(fife.Rect(0,0,image.getWidth(),image.getHeight()), 255)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
54 self.engine.pump()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
55 self.engine.finalizePumping()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
56
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
57
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
58 def testDrawLine(self):
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
59 points = (
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
60 (1,1), (50,20), (20,50), (200,500), (500,200), (100,200),
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
61 (10,10), (70,40), (80,30), (300,520), (340,220), (170,600),
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
62 )
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
63 self.engine.initializePumping()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
64
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
65 be = self.engine.getRenderBackend()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
66 for i in xrange(20):
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
67 prevPt = fife.Point(*points[1])
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
68 for pt in points[1:]:
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
69 curPt = fife.Point(*pt)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
70 be.drawLine(prevPt, curPt, 100, 100, 100)
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
71 prevPt = curPt
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
72 self.engine.pump()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
73 self.engine.finalizePumping()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
74
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
75
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
76 TEST_CLASSES = [TestVideo]
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
77
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
78 if __name__ == '__main__':
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
79 unittest.main()
4a0efb7baf70 * Datasets becomes the new trunk and retires after that :-)
mvbarracuda@33b003aa-7bff-0310-803a-e67f0ece8222
parents:
diff changeset
80