I am Neeraj, one of the GSoC 2010 students for scummVM.
I shall be working on adding a testing framework for scummVM subsystems.
The objective of this project will be to enhance the ScummVM unit testing infrastructure by implementing a "Test Engine".Unlike unit tests, a test engine would enable testing on all the ScummVM ports.
Using a test-engine would help in testing various features like (game detection, filesystem navigation, graphics, audio.. etc) in an integrated and non-isolated manner.
To track my developments regarding the project, I have created a blog here where I would be posting my updates.
Current Tentative GSoC Project Schedule
| Week
|
Targets
|
Status
|
| 24th May - 30th June
|
Use the quux template to create a dummy engine, refactor it and update on wiki.Use that as basic-testbed. Carve out the design draft of the various subsystems and their details to be tested, design draft can be found here.
|
Done
|
| 31st May - 7th June
|
Create the basic generic framework for adding and executing tests and doing non-subsystem specific things like counting and printing results etc.
|
Done
|
| 8th - 14th June
|
Use the test framework created in week 2 for adding tests.Write code for the GFXSubsystem tests(Screen Graphics/Overlay/(Palettized/scaled) cursors etc.)
|
Done
|
| 15th - 21st June
|
Similarly write tests to test the file subsystem namely (File Accessing and Saving)
|
Done
|
| 22nd - 28th June
|
Write tests for miscellaneous subsystems namely Timer/event/Date and Mutexes.
|
Done except the "Events" part
|
| 29th June - 5th July
|
Some improvements in usability, some specific tests and code as pointed out by Eugene. Complete events test
|
Yet to be done
|
| 6th - 13th July
|
Tests for Audio Subsystem
|
Yet to be done
|
| 14th - 20th July
|
Tests for Midi and audio CD subsystem
|
Yet to be done
|
| 21st - 27th July
|
Configure the testing framework to be configurable from a config file, and ability to execute customizable test suites
|
Yet to be done
|
| 28th July - END
|
Testing of the framework/Documentation, Add missing/requested features, improved user interface(if required), Make it as better as it could be ;-)
|
Yet to be done
|
for more details on how each subsystem is tested, please have a look at this. Besides I shall also be posting my progress at my blog.