From 4e92b3a17ea963d3c006c93abd28287e0fac153a Mon Sep 17 00:00:00 2001 From: Neeraj Kumar Date: Mon, 9 Aug 2010 20:10:53 +0000 Subject: TESTBED: Some refinemnts related to skipping tests and display in GUI svn-id: r51945 --- engines/testbed/testbed.cpp | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'engines/testbed/testbed.cpp') diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index ef61cd7c13..760213af4f 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -38,33 +38,43 @@ namespace Testbed { +// Initialize static member for TestbedExitDialog +bool TestbedExitDialog::_rerun = false; + void TestbedExitDialog::init() { _xOffset = 25; _yOffset = 0; Common::String text = "Thank you for using ScummVM testbed! Here are yor summarized results:"; addText(450, 20, text, Graphics::kTextAlignCenter, _xOffset, 15); Common::Array strArray; + GUI::ListWidget::ColorList colors; for (Common::Array::const_iterator i = _testsuiteList.begin(); i != _testsuiteList.end(); ++i) { - strArray.push_back(Common::String::printf("%s (%d/%d tests failed)", (*i)->getName(), (*i)->getNumTestsFailed(), - (*i)->getNumTestsEnabled())); + strArray.push_back(Common::String::printf("%s :", (*i)->getDescription())); + colors.push_back(GUI::ThemeEngine::kFontColorNormal); + if ((*i)->isEnabled()) { + strArray.push_back(Common::String::printf("Passed: %d Failed: %d Skipped: %d", (*i)->getNumTestsPassed(), (*i)->getNumTestsFailed(), (*i)->getNumTestsSkipped())); + } else { + strArray.push_back("Skipped"); + } + colors.push_back(GUI::ThemeEngine::kFontColorAlternate); } - addList(0, _yOffset, 500, 200, strArray); + addList(0, _yOffset, 500, 200, strArray, &colors); text = "More Details can be viewed in the Log file : " + Testsuite::getLogFile(); addText(450, 20, text, Graphics::kTextAlignLeft, 0, 0); text = "Directory : " + Testsuite::getLogDir(); addText(500, 20, text, Graphics::kTextAlignLeft, 0, 0); _yOffset += 5; - addButtonXY(_xOffset + 80, _yOffset, 120, 20, "Rerun Tests", kCmdRerunTestbed); - addButtonXY(_xOffset + 240, _yOffset, 60, 20, "Close", GUI::kCloseCmd); + addButtonXY(_xOffset + 80, _yOffset, 120, 24, "Rerun test suite", kCmdRerunTestbed); + addButtonXY(_xOffset + 240, _yOffset, 60, 24, "Close", GUI::kCloseCmd); } void TestbedExitDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd, uint32 data) { switch (cmd) { case kCmdRerunTestbed : _rerun = true; - GUI::Dialog::close(); + cmd = GUI::kCloseCmd; default: GUI::Dialog::handleCommand(sender, cmd, data); } @@ -144,8 +154,7 @@ Common::Error TestbedEngine::run() { TestbedConfigManager cfMan(_testsuiteList, "testbed.config"); - // Keep running if rerun requested - TestbedExitDialog tbDialog(_testsuiteList); + // Keep running if rerun requested do { Testsuite::clearEntireScreen(); @@ -158,10 +167,11 @@ Common::Error TestbedEngine::run() { } invokeTestsuites(cfMan); + TestbedExitDialog tbDialog(_testsuiteList); tbDialog.init(); tbDialog.run(); - } while (tbDialog.rerunRequired()); + } while (TestbedExitDialog::rerunRequired()); return Common::kNoError; } -- cgit v1.2.3 From acb32580ce440aa687309999ed11ee6e5ca1fa72 Mon Sep 17 00:00:00 2001 From: Neeraj Kumar Date: Mon, 9 Aug 2010 21:18:27 +0000 Subject: TESTBED: Some more refinements to the GUI and mouse event tests svn-id: r51946 --- engines/testbed/testbed.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'engines/testbed/testbed.cpp') diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index 760213af4f..673858f4c1 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -63,7 +63,11 @@ void TestbedExitDialog::init() { addList(0, _yOffset, 500, 200, strArray, &colors); text = "More Details can be viewed in the Log file : " + Testsuite::getLogFile(); addText(450, 20, text, Graphics::kTextAlignLeft, 0, 0); - text = "Directory : " + Testsuite::getLogDir(); + if (Testsuite::getLogDir().size()) { + text = "Directory : " + Testsuite::getLogDir(); + } else { + text = "Directory : ."; + } addText(500, 20, text, Graphics::kTextAlignLeft, 0, 0); _yOffset += 5; addButtonXY(_xOffset + 80, _yOffset, 120, 24, "Rerun test suite", kCmdRerunTestbed); -- cgit v1.2.3 From 32553308cffd5d2f936f6143e89db703afeb0036 Mon Sep 17 00:00:00 2001 From: Neeraj Kumar Date: Tue, 10 Aug 2010 20:20:28 +0000 Subject: TESTBED: basic template for midi tests svn-id: r51957 --- engines/testbed/testbed.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'engines/testbed/testbed.cpp') diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index 673858f4c1..51ff43a293 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -31,6 +31,7 @@ #include "testbed/events.h" #include "testbed/fs.h" #include "testbed/graphics.h" +#include "testbed/midi.h" #include "testbed/misc.h" #include "testbed/savegame.h" #include "testbed/sound.h" @@ -121,6 +122,9 @@ TestbedEngine::TestbedEngine(OSystem *syst) // Sound ts = new SoundSubsystemTestSuite(); _testsuiteList.push_back(ts); + // Midi + ts = new MidiTestSuite(); + _testsuiteList.push_back(ts); } TestbedEngine::~TestbedEngine() { -- cgit v1.2.3 From 169d1eb0cc52438b00ad204a407b6eeb93fb8614 Mon Sep 17 00:00:00 2001 From: Neeraj Kumar Date: Sat, 14 Aug 2010 06:06:41 +0000 Subject: TESTBED: some more refinements with handling Quit events in GUI svn-id: r52078 --- engines/testbed/testbed.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'engines/testbed/testbed.cpp') diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index 51ff43a293..e538c7f20c 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -98,7 +98,12 @@ TestbedEngine::TestbedEngine(OSystem *syst) // Do not initialize graphics here // However this is the place to specify all default directories - + // Put game-data dir in search path + Common::FSNode gameRoot(ConfMan.get("path")); + if (gameRoot.exists()) { + SearchMan.addDirectory(gameRoot.getDisplayName(), gameRoot); + } + DebugMan.addDebugChannel(kTestbedLogOutput, "LOG", "Log of test results generated by testbed"); DebugMan.addDebugChannel(kTestbedEngineDebug, "Debug", "Engine-specific debug statements"); DebugMan.enableDebugChannel("LOG"); @@ -144,6 +149,9 @@ void TestbedEngine::invokeTestsuites(TestbedConfigManager &cfMan) { int numSuitesEnabled = cfMan.getNumSuitesEnabled(); for (iter = _testsuiteList.begin(); iter != _testsuiteList.end(); iter++) { + if (shouldQuit()) { + return; + } (*iter)->reset(); if ((*iter)->isEnabled()) { Testsuite::updateStats("Testsuite", (*iter)->getName(), count++, numSuitesEnabled, pt); @@ -169,12 +177,12 @@ Common::Error TestbedEngine::run() { cfMan.selectTestsuites(); // Init logging Testsuite::initLogging(true); + invokeTestsuites(cfMan); // Check if user wanted to exit. if (Engine::shouldQuit()) { return Common::kNoError; } - invokeTestsuites(cfMan); TestbedExitDialog tbDialog(_testsuiteList); tbDialog.init(); tbDialog.run(); -- cgit v1.2.3 From 0a7bda50cca6ac76245254c6eb0de84547a018c1 Mon Sep 17 00:00:00 2001 From: Neeraj Kumar Date: Sat, 14 Aug 2010 08:32:39 +0000 Subject: TESTBED: formatting fix, deleted spaces/tabs at end of line svn-id: r52081 --- engines/testbed/testbed.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'engines/testbed/testbed.cpp') diff --git a/engines/testbed/testbed.cpp b/engines/testbed/testbed.cpp index e538c7f20c..a4e6429e44 100644 --- a/engines/testbed/testbed.cpp +++ b/engines/testbed/testbed.cpp @@ -49,7 +49,7 @@ void TestbedExitDialog::init() { addText(450, 20, text, Graphics::kTextAlignCenter, _xOffset, 15); Common::Array strArray; GUI::ListWidget::ColorList colors; - + for (Common::Array::const_iterator i = _testsuiteList.begin(); i != _testsuiteList.end(); ++i) { strArray.push_back(Common::String::printf("%s :", (*i)->getDescription())); colors.push_back(GUI::ThemeEngine::kFontColorNormal); @@ -60,7 +60,7 @@ void TestbedExitDialog::init() { } colors.push_back(GUI::ThemeEngine::kFontColorAlternate); } - + addList(0, _yOffset, 500, 200, strArray, &colors); text = "More Details can be viewed in the Log file : " + Testsuite::getLogFile(); addText(450, 20, text, Graphics::kTextAlignLeft, 0, 0); @@ -103,7 +103,7 @@ TestbedEngine::TestbedEngine(OSystem *syst) if (gameRoot.exists()) { SearchMan.addDirectory(gameRoot.getDisplayName(), gameRoot); } - + DebugMan.addDebugChannel(kTestbedLogOutput, "LOG", "Log of test results generated by testbed"); DebugMan.addDebugChannel(kTestbedEngineDebug, "Debug", "Engine-specific debug statements"); DebugMan.enableDebugChannel("LOG"); @@ -169,7 +169,7 @@ Common::Error TestbedEngine::run() { // TODO: Implement that TestbedConfigManager cfMan(_testsuiteList, "testbed.config"); - + // Keep running if rerun requested do { @@ -182,13 +182,13 @@ Common::Error TestbedEngine::run() { if (Engine::shouldQuit()) { return Common::kNoError; } - + TestbedExitDialog tbDialog(_testsuiteList); tbDialog.init(); tbDialog.run(); } while (TestbedExitDialog::rerunRequired()); - + return Common::kNoError; } -- cgit v1.2.3