aboutsummaryrefslogtreecommitdiff
path: root/engines/testbed/README
diff options
context:
space:
mode:
authorNeeraj Kumar2010-08-16 22:04:15 +0000
committerNeeraj Kumar2010-08-16 22:04:15 +0000
commit81a646c9bd32662f2a72fc0b3db32105857b9416 (patch)
treeddf882a05a8cf07c8c238fe431b8092c59f68dc2 /engines/testbed/README
parent5e26238916ae9c22286bd8beaa2d1a139697878d (diff)
downloadscummvm-rg350-81a646c9bd32662f2a72fc0b3db32105857b9416.tar.gz
scummvm-rg350-81a646c9bd32662f2a72fc0b3db32105857b9416.tar.bz2
scummvm-rg350-81a646c9bd32662f2a72fc0b3db32105857b9416.zip
TESTBED: added a README file, some description fixes
svn-id: r52134
Diffstat (limited to 'engines/testbed/README')
-rw-r--r--engines/testbed/README36
1 files changed, 36 insertions, 0 deletions
diff --git a/engines/testbed/README b/engines/testbed/README
new file mode 100644
index 0000000000..6feee10110
--- /dev/null
+++ b/engines/testbed/README
@@ -0,0 +1,36 @@
+
+Testbed is a framework to test backend code.
+
+It implements a game-engine which invokes the backend code using the OSystem Interface, verifies
+the behavior by interacting with the user, and then produce results.
+
+Each distinct interface defined in the OSystem API is referred as a Subsystem, namely:
+* Graphics
+* Audio
+* Midi
+* FileSyatem
+* Savegames
+* Events
+* Timer/Mutexes
+
+There are testsuites for each one of these subsystems.
+
+
+Adding a New Test
+-----------------
+If you are willing to add a test relating to one of these subsystems say 'Foo', then :
+1). Modify the file 'foo.h' to include the declaration of your test-invoking function.
+2). Define that function in 'foo.cpp' (similar to other tests).
+3). Add the test to the subsystem testsuite by using addTest() method in the constructor.
+
+
+Adding a New Testsuite
+-----------------------
+If you are willing to add a new Testsuite, create a copy of template.h. call it as say 'your_suite.h'.
+Your Testsuite will be a subclass of Testsuite class deined in 'testsuite.h'.
+Now write test-invoking functions for every test you want to include.
+Add those tests to your_suite using the call to : 'addTest(name, InvokingFunction)'.
+
+Implement the required functions in 'your_test.cpp'
+Add that file to module.mk. Re-Compile and run.
+