|
From: doug s. <hig...@ho...> - 2013-05-25 21:11:20
|
>> How about something like this: >> 1. Record >> 2. Playback >> 3. Compare >> 4. TestAll - perl >> . > I implemented and checked in 3 new command line options: > -R (or --record) - records to a .fwplay ASCII file, with frame#,dtime,keystrokes,mouseActions > -F (or --fixture) - plays back the .fwplay file, and saves snapshots with a 'fixture' name > -P (or --playback) -plays back the .fwplay file, and saves snapshots with a 'playback' name > . > -R and -F can be combined on the command line to save a step: generate .fwplay and fixture snapshots during the same run > . > In the code I have 3 ways to save the files, and have it set at 1 (folder method) > //0=default: recording.fwplay, fixture.bmp playback.bmp - will overwrite for each scene > //1=folders: 1_wrl/recording.fwplay, 1_wrl/fixture/17.bmp, 1_wrl/playback/17.bmp > //2=flattened: 1_wrl.fwplay, 1_wrl_fixture_17.bmp, 1_wrl_playback_17.bmp (17 is frame#) . I added an additional file naming method and made it default: //3=groupfolders: /tests, /recordings/*.fwplay, /fixtures/1_wrl_17.bmp /playbacks/1_wrl_17.bmp namingMethod = 3; With this method, to send the tests to someone on a different system you'd zip the /recordings folder and send just that (assuming they have all the test/*.wrl). To clean out a previous testAll run you'd remove the /playback folder. . > I don't know if the folder method works on linux - it uses a mkdir() method which is slightly different than windows, so I abstracted with an fw_mkdir() function and a #ifdef. > . > I didn't do any work on the snapshot file type for linux - I think it will save to a .snap file? - someone on linux will need to fix this, for example if you want .rgb snapshot files. > . > I've only run compare on a few sample snapshot files - works so far. > I haven't done the statusbarHud menubar mouse coordinate save and replay yet, so I don't know if there are problems there. > . . I changed to integer mouse coordinates, intercepted earlier so they apply to statusbarHud as well as navigation, clicking and picking. . To do this I changed the linux mouse/keyboard handling code and did not verify it on a linux system ** please verify** . -Doug |