acc95464ab173c6f4913b27f8faca5cc4fa919c7
4 * python main.py --functional-test --functional-ref & python -m ya2.tools.functional_test.py 1
5 * python main.py --functional-test --functional-ref & python -m ya2.tools.functional_test.py 2
6 * M-x fla-unset-fun-test'''
7 from panda3d
.core
import load_prc_file_data
8 load_prc_file_data('', 'window-type none')
10 from time
import sleep
11 from os
import getcwd
, system
12 from xmlrpc
.client
import ServerProxy
13 from logging
import debug
, info
14 from pathlib
import Path
15 from shutil
import rmtree
16 from os
import makedirs
17 from os
.path
import join
, exists
19 from sys
import exit
, argv
20 from panda3d
.core
import Filename
21 from direct
.showbase
.ShowBase
import ShowBase
22 from direct
.gui
.OnscreenText
import OnscreenText
23 from ya2
.build
.build
import _branch
33 def __init__(self
, idx
, offset
):
35 info('test idx: %s' % idx
)
38 self
._proxy
= ServerProxy('http://localhost:6000')
42 taskMgr
.add(self
.on_frame_unpausable
, 'on-frame-unpausable')
43 self
._proxy
.set_idx(idx
)
44 self
._do
_screenshots
(idx
)
46 def _do_screenshot(self
, name
):
47 time
= datetime
.datetime
.now().strftime('%y%m%d%H%M%S')
49 self
._proxy
.screenshot(name
)
50 info('screenshot %s' % name
)
52 def _screenshot(self
, time
, name
):
54 self
._curr
_time
+ time
,
55 lambda: self
._do
_screenshot
(name
),
56 'screenshot: %s' % name
)]
57 self
._curr
_time
+= time
59 def __mouse_click(self
, tgt
, btn
):
60 offset_x
= int((1920 - 1360) / 2) #+ 1 # xfce decorations
61 offset_y
= int((1080 - 768) / 2) #+ 24 + self._offset # xfce decorations
62 btn
= 3 if btn
== 'right' else 1
63 pos
= self
._proxy
.get_pos(tgt
)
65 system('xdotool mousemove %s %s' % (offset_x
+ pos
[0], offset_y
+ pos
[1]))
67 system('xdotool click %s' % btn
)
68 taskMgr
.do_method_later(.28, click
, 'click')
70 def __mouse_drag(self
, start
, end
, btn
):
71 offset_x
= int((1920 - 1360) / 2) #+ 1 # xfce decorations
72 offset_y
= int((1080 - 768) / 2) #+ 24 + self._offset # xfce decorations
73 btn
= 3 if btn
== 'right' else 1
74 start
= self
._proxy
.get_pos(start
)
75 end
= self
._proxy
.get_pos(end
)
76 system('xdotool mousemove %s %s' % (offset_x
+ start
[0], offset_y
+ start
[1]))
78 system('xdotool mousedown %s' % btn
)
80 system('xdotool mousemove %s %s' % (offset_x
+ end
[0], offset_y
+ end
[1]))
82 system('xdotool mouseup %s' % btn
)
83 taskMgr
.do_method_later(.28, mouseup
, 'mouseup')
84 taskMgr
.do_method_later(.28, mousemove
, 'mousemove')
85 taskMgr
.do_method_later(.28, mousedown
, 'mousedown')
87 def _event(self
, time
, evt
, mouse_args
=None):
88 if evt
== 'mouseclick':
89 cback
= lambda: self
.__mouse
_click
(*mouse_args
)
90 elif evt
== 'mousedrag':
91 cback
= lambda: self
.__mouse
_drag
(*mouse_args
)
93 self
._curr
_time
+ time
,
96 self
._curr
_time
+= time
98 def _enforce_res(self
, time
, res
):
100 self
._proxy
.enforce_res(res
)
101 info('enforce_res %s' % res
)
103 self
._curr
_time
+ time
,
105 'enforce res: %s' % res
)]
106 self
._curr
_time
+= time
108 def _enforce_resolution(self
, time
, res
):
110 self
._proxy
.enforce_resolution(res
)
111 info('enforce_resolution %s (send)' % res
)
113 self
._curr
_time
+ time
,
115 'enforce resolution: %s' % res
)]
116 self
._curr
_time
+= time
137 def on_frame_unpausable(self
, task
):
138 for tsk
in self
._tasks
:
139 #if self._prev_time <= tsk[0] < self.eng.event.unpaused_time:
140 if self
._prev
_time
<= tsk
[0] < globalClock
.getFrameTime():
141 debug('%s %s' % (tsk
[0], tsk
[2]))
143 self
._prev
_time
= globalClock
.getFrameTime() # self.eng.event.unpaused_time
146 def _do_screenshots_1(self
):
147 info('_do_screenshots_1')
148 self
._screenshot
(FunctionalTest
.start_time
, 'main_menu')
149 self
._do
_screenshots
_credits
()
150 self
._do
_screenshots
_options
()
151 self
._do
_screenshots
_exit
()
153 def _do_screenshots_credits(self
):
154 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left'])
155 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['credits', 'left'])
156 self
._screenshot
(FunctionalTest
.screenshot_time
, 'credits_menu')
157 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 680), 'left'])
158 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['back', 'left'])
159 self
._screenshot
(FunctionalTest
.screenshot_time
, 'main_menu_back_from_credits')
161 def _do_screenshots_options(self
):
162 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 300), 'left'])
163 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['options', 'left'])
164 self
._screenshot
(FunctionalTest
.screenshot_time
, 'options_menu')
166 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 60), 'left'])
167 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['languages', 'left'])
168 self
._screenshot
(FunctionalTest
.screenshot_time
, 'open_languages')
169 #self._event(FunctionalTest.evt_time, 'mouseclick', [(980, 120), 'left'])
170 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['italian', 'left'])
171 self
._screenshot
(FunctionalTest
.screenshot_time
, 'options_menu_italian')
173 #self._event(FunctionalTest.evt_time, 'mouseclick', [(740, 163), 'left'])
174 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['volume', 'left'])
175 self
._screenshot
(FunctionalTest
.screenshot_time
, 'options_menu_drag_1')
177 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 440), 'left'])
178 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['aa', 'left'])
179 self
._screenshot
(FunctionalTest
.screenshot_time
, 'antialiasing_no')
181 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 540), 'left'])
182 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['shadows', 'left'])
183 self
._screenshot
(FunctionalTest
.screenshot_time
, 'shadows_no')
184 # test aa and shadows
185 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 680), 'left']) # back
186 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['back', 'left']) # back
187 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 140), 'left']) # play
188 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['play', 'left']) # play
189 #self._event(FunctionalTest.evt_time, 'mouseclick', [(230, 160), 'left']) # domino
190 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['domino', 'left']) # domino
191 #self._event(FunctionalTest.evt_time, 'mouseclick', [(900, 490), 'left']) # close instructions
192 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left']) # close instructions
193 self
._screenshot
(FunctionalTest
.screenshot_time
, 'aa_no_shadows_no')
194 #self._event(FunctionalTest.evt_time, 'mouseclick', [(25, 740), 'left']) # home
195 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['home', 'left']) # home
197 def _do_screenshots_restore_options(self
):
198 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 300), 'left'])
199 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['options', 'left'])
200 self
._screenshot
(FunctionalTest
.screenshot_time
, 'options_menu_restored')
202 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 60), 'left'])
203 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['languages', 'left'])
204 self
._screenshot
(FunctionalTest
.screenshot_time
, 'open_languages_restored')
205 #self._event(FunctionalTest.evt_time, 'mouseclick', [(980, 20), 'left'])
206 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['english', 'left'])
207 self
._screenshot
(FunctionalTest
.screenshot_time
, 'options_menu_english')
209 #self._event(FunctionalTest.evt_time, 'mouseclick', [(719, 163), 'left'])
210 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['volume_0', 'left'])
211 self
._screenshot
(FunctionalTest
.screenshot_time
, 'options_menu_drag_2')
213 # the first one is because of the windowed mode in test
214 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 250), 'left'])
215 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['fullscreen', 'left'])
216 self
._screenshot
(FunctionalTest
.screenshot_time
, 'fullscreen')
217 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 250), 'left'])
218 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['fullscreen', 'left'])
219 self
._screenshot
(FunctionalTest
.screenshot_time
, 'fullscreen')
220 #self._event(8 + FunctionalTest.evt_time, 'mouseclick', [(440, 120), 'left'])
221 #self._event(8 + FunctionalTest.evt_time, 'mouseclick', [(680, 250), 'left'])
222 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['fullscreen', 'left'])
223 self
._screenshot
(8 + FunctionalTest
.screenshot_time
, 'back_from_fullscreen')
225 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 340), 'left'])
226 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['resolutions', 'left'])
227 self
._screenshot
(FunctionalTest
.screenshot_time
, 'resolutions')
228 self
._enforce
_resolution
(FunctionalTest
.evt_time
, '1440x900')
229 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1000, 440), 'left'])
230 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['res_1440x900', 'left'])
231 self
._screenshot
(FunctionalTest
.screenshot_time
, '1440x900')
232 #self._event(FunctionalTest.evt_time, 'mouseclick', [(740, 400), 'left'])
233 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['resolutions', 'left'])
234 self
._screenshot
(FunctionalTest
.screenshot_time
, 'resolutions_2')
235 self
._enforce
_resolution
(FunctionalTest
.evt_time
, '1360x768')
236 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1110, 80), 'left'])
237 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['res_1360x768', 'left'])
238 self
._screenshot
(FunctionalTest
.screenshot_time
, '1360x768')
240 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 440), 'left'])
241 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['aa', 'left'])
242 self
._screenshot
(FunctionalTest
.screenshot_time
, 'antialiasing_yes')
244 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 540), 'left'])
245 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['shadows', 'left'])
246 self
._screenshot
(FunctionalTest
.screenshot_time
, 'shadows_yes')
247 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 680), 'left']) # back
248 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['back', 'left'])
250 def _do_screenshots_play(self
):
251 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 140), 'left']) # play
252 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['play', 'left'])
253 self
._screenshot
(FunctionalTest
.screenshot_time
, 'play_menu')
254 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 680), 'left']) # back
255 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['back', 'left'])
256 self
._screenshot
(FunctionalTest
.screenshot_time
, 'back_from_play')
257 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 140), 'left']) # play
258 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['play', 'left'])
259 #self._event(FunctionalTest.evt_time, 'mouseclick', [(230, 160), 'left']) # domino scene
260 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['domino', 'left'])
261 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_domino_instructions')
262 #self._event(FunctionalTest.evt_time, 'mouseclick', [(850, 490), 'left']) # close instructions
263 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
264 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_domino')
265 #self._event(FunctionalTest.evt_time, 'mouseclick', [(25, 740), 'left']) # home
266 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['home', 'left'])
267 self
._screenshot
(FunctionalTest
.screenshot_time
, 'home_back_from_scene')
268 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 140), 'left']) # play
269 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['play', 'left'])
270 #self._event(FunctionalTest.evt_time, 'mouseclick', [(230, 160), 'left']) # domino
271 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['domino', 'left'])
272 #self._event(FunctionalTest.evt_time, 'mouseclick', [(850, 490), 'left']) # close instructions
273 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
274 #self._event(FunctionalTest.evt_time, 'mouseclick', [(70, 740), 'left']) # info
275 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['information', 'left'])
276 self
._screenshot
(FunctionalTest
.screenshot_time
, 'info')
277 #self._event(FunctionalTest.evt_time, 'mouseclick', [(850, 490), 'left']) # close instructions
278 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
279 # self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (430, 280), 'left']) # drag a piece
280 # self._screenshot(FunctionalTest.screenshot_time, 'domino_dragged')
281 # self._event(FunctionalTest.evt_time, 'mouseclick', [(1220, 740), 'left']) # rewind
282 # self._screenshot(FunctionalTest.screenshot_time, 'rewind')
283 #self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (550, 380), 'left']) # drag a piece
284 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a piece
285 # self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (715, 380), 'left']) # drag a piece
286 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
287 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left']) # play
288 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_domino')
289 #self._event(FunctionalTest.evt_time, 'mouseclick', [(630, 450), 'left']) # home
290 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['home_win', 'left']) # home
291 self
._screenshot
(FunctionalTest
.screenshot_time
, 'home_back_from_fail')
292 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 140), 'left']) # play
293 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['play', 'left']) # play
294 #self._event(FunctionalTest.evt_time, 'mouseclick', [(230, 160), 'left']) # domino
295 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['domino', 'left'])
296 #self._event(FunctionalTest.evt_time, 'mouseclick', [(850, 490), 'left']) # close instructions
297 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
298 #self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (550, 380), 'left']) # drag a piece
299 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a piece
300 #self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (715, 380), 'left']) # drag a piece
301 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a piece .49 .06
302 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
303 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left']) # play
304 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_domino_2')
305 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
306 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left']) # play
307 #self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (570, 380), 'left']) # drag a piece -1.54 .06
308 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_2', 'left']) # drag a piece -1.54 .06
309 #self._event(FunctionalTest.drag_time, 'mousedrag', [(570, 355), (605, 355), 'right']) # rotate the piece -1.05 .4
310 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_1', 'drag_stop_3', 'right']) # rotate the piece -1.54 .4 -1.05 .4
311 #self._event(FunctionalTest.drag_time, 'mousedrag', [(35, 60), (715, 380), 'left']) # drag a piece
312 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a piece
313 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
314 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
315 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left']) # play
316 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_domino')
317 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
318 #self._event(FunctionalTest.evt_time, 'mouseclick', [(735, 450), 'left']) # next
319 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['next', 'left']) # play
320 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_box')
322 #self._event(FunctionalTest.evt_time, 'mouseclick', [(880, 490), 'left']) # close instructions
323 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
324 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (710, 620), 'left']) # drag a box .42 -3.29
325 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box .42 -3.29
326 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (710, 540), 'left']) # drag a box .42 -2.18
327 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a box .42 -2.18
328 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
329 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
330 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_box')
331 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
332 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left'])
333 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (710, 620), 'left']) # drag a box
334 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box
335 # self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (710, 540), 'left']) # drag a box
336 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a box
337 # self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (705, 460), 'left']) # drag a box .35 -1.06
338 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_2', 'left']) # drag a box .35 -1.06
339 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
340 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
341 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
342 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_box')
343 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
344 #self._event(FunctionalTest.evt_time, 'mouseclick', [(735, 450), 'left']) # next
345 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['next', 'left'])
346 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_box_domino')
348 #self._event(FunctionalTest.evt_time, 'mouseclick', [(930, 485), 'left']) # close instructions
349 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
350 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (910, 440), 'left']) # drag a box 3.21 -.78
351 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box 3.21 -.78
352 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (910, 360), 'left']) # drag a box 3.21 .33
353 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a box 3.21 .33
354 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
355 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
356 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_box_domino')
357 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
358 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left'])
359 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (910, 440), 'left']) # drag a box
360 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box
361 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (835, 250), 'left']) # drag a box 2.16 1.87
362 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_2', 'left']) # drag a box 2.16 1.87
363 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
364 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
365 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
366 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_box_domino')
367 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
368 #self._event(FunctionalTest.evt_time, 'mouseclick', [(735, 450), 'left']) # next
369 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['next', 'left'])
370 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_basketball')
372 #self._event(FunctionalTest.evt_time, 'mouseclick', [(870, 490), 'left']) # close instructions
373 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
374 #self._event(FunctionalTest.drag_time, 'mousedrag', [(55, 50), (650, 310), 'left']) # drag a ball -.42 1.03
375 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a ball -.42 1.03
376 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
377 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
378 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_basketball')
379 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
380 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left'])
381 #self._event(FunctionalTest.drag_time, 'mousedrag', [(55, 50), (380, 50), 'left']) # drag a ball -4.19 4.66
382 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a ball -4.19 4.66
383 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
384 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
385 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
386 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_basketball')
387 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
388 #self._event(FunctionalTest.evt_time, 'mouseclick', [(735, 450), 'left']) # next
389 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['next', 'left'])
390 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_domino_box_basketball')
392 #self._event(FunctionalTest.evt_time, 'mouseclick', [(865, 490), 'left']) # close instructions
393 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
394 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (580, 440), 'left']) # drag a box -1.4 -.78
395 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box -1.4 -.78
396 #self._event(FunctionalTest.drag_time, 'mousedrag', [(30, 60), (590, 370), 'left']) # drag a piece -1.26 .2
397 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_1', 'drag_stop_1', 'left']) # drag a piece -1.26 .2
398 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
399 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
400 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_domino_box_basketball')
401 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
402 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left'])
403 #self._event(FunctionalTest.drag_time, 'mousedrag', [(65, 60), (580, 440), 'left']) # drag a box
404 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box
405 #self._event(FunctionalTest.drag_time, 'mousedrag', [(30, 60), (660, 440), 'left']) # drag a piece -.28 -.78
406 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_1', 'drag_stop_2', 'left']) # drag a piece -.28 -.78
407 #self._event(FunctionalTest.drag_time, 'mousedrag', [(660, 425), (625, 425), 'right']) # rotate a piece -.28 -.57 -.77 -.57
408 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_2', 'drag_stop_3', 'right']) # rotate a piece -.28 -.57 -.77 -.57
409 #self._event(FunctionalTest.drag_time, 'mousedrag', [(660, 435), (650, 445), 'left']) # drag a piece -.28 -.85 -.42 -.85
410 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_3', 'drag_stop_4', 'left']) # drag a piece -.28 -.85 -.42 -.85
411 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
412 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
413 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
414 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_domino_box_basketball')
415 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
416 #self._event(FunctionalTest.evt_time, 'mouseclick', [(735, 450), 'left']) # next
417 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['next', 'left'])
418 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_teeter_tooter')
420 #self._event(FunctionalTest.evt_time, 'mouseclick', [(870, 485), 'left']) # close instructions
421 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
422 #self._event(FunctionalTest.drag_time, 'mousedrag', [(60, 60), (490, 300), 'left']) # drag a box -2.65 1.18
423 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box -2.65 1.18
424 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
425 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
426 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_teeter_tooter')
427 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
428 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left'])
429 #self._event(FunctionalTest.drag_time, 'mousedrag', [(60, 60), (490, 150), 'left']) # drag a box -2.65 3.27
430 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a box -2.65 3.27
431 #self._event(FunctionalTest.drag_time, 'mousedrag', [(515, 115), (515, 122), 'right']) # rotate a box -2.3 3.75 -2.5 3.66
432 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_1', 'drag_stop_2', 'right']) # rotate a box -2.3 3.75 -2.5 3.66
433 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
434 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
435 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
436 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_teeter_tooter')
437 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
438 #self._event(FunctionalTest.evt_time, 'mouseclick', [(735, 450), 'left']) # next
439 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['next', 'left'])
440 self
._screenshot
(FunctionalTest
.screenshot_time
, 'scene_teeter_domino_box_basketball')
442 #self._event(FunctionalTest.evt_time, 'mouseclick', [(930, 485), 'left']) # close instructions
443 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['close_instructions', 'left'])
444 #self._event(FunctionalTest.drag_time, 'mousedrag', [(60, 60), (155, 180), 'left']) # drag a box -7.33 4.24
445 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_0', 'left']) # drag a box -7.33 4.24
446 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
447 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
448 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'fail_teeter_domino_box_basketball')
449 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 450), 'left']) # replay
450 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['replay', 'left'])
451 #self._event(FunctionalTest.drag_time, 'mousedrag', [(60, 60), (170, 80), 'left']) # drag a box -7.12 4.24
452 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_0', 'drag_stop_1', 'left']) # drag a box -7.12 4.24
453 #self._event(FunctionalTest.drag_time, 'mousedrag', [(195, 50), (195, 80), 'right']) # rotate a box -6.77 4.66 -6.77 4.24
454 self
._event
(FunctionalTest
.drag_time
, 'mousedrag', ['drag_start_1', 'drag_stop_2', 'right']) # rotate a box -6.77 4.66 -6.77 4.24
455 self
._enforce
_res
(FunctionalTest
.evt_time
, 'win')
456 #self._event(FunctionalTest.evt_time, 'mouseclick', [(1340, 740), 'left']) # play
457 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['right', 'left'])
458 self
._screenshot
(16 + FunctionalTest
.screenshot_time
, 'win_teeter_domino_box_basketball')
459 self
._enforce
_res
(FunctionalTest
.evt_time
, '')
460 #self._event(FunctionalTest.evt_time, 'mouseclick', [(630, 450), 'left']) # home
461 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['home_win', 'left'])
462 self
._screenshot
(FunctionalTest
.screenshot_time
, 'home_from_play')
470 def _do_screenshots_exit(self
):
472 #self._event(FunctionalTest.evt_time, 'mouseclick', [(680, 600), 'left'])
473 self
._event
(FunctionalTest
.evt_time
, 'mouseclick', ['exit', 'left'])
476 def _do_screenshots_2(self
):
477 info('_do_screenshots_2')
478 self
._screenshot
(FunctionalTest
.start_time
, 'main_menu_2')
479 self
._do
_screenshots
_restore
_options
()
480 self
._do
_screenshots
_play
()
481 self
._do
_screenshots
_exit
()
483 def _do_screenshots(self
, idx
):
484 [self
._do
_screenshots
_1, self
._do
_screenshots
_2][int(idx
) - 1]()
487 class TestApp(ShowBase
):
490 ShowBase
.__init
__(self
)
491 offset
= int(argv
[2]) if len(argv
) >= 3 else 0
492 fun_test
= FunctionalTest(int(argv
[1]), offset
)