aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeeraj Kumar2010-08-07 20:35:50 +0000
committerNeeraj Kumar2010-08-07 20:35:50 +0000
commitdab72c519c7aa4ba1e7bc451222e8d0ac3367ac3 (patch)
treedb64a9cc413d3d4b0af2e55d261881ace9c896bb
parenta4a28eb16e3f2c9d1f4e79120b359821d731eecf (diff)
downloadscummvm-rg350-dab72c519c7aa4ba1e7bc451222e8d0ac3367ac3.tar.gz
scummvm-rg350-dab72c519c7aa4ba1e7bc451222e8d0ac3367ac3.tar.bz2
scummvm-rg350-dab72c519c7aa4ba1e7bc451222e8d0ac3367ac3.zip
TESTBED: fixed default disabling of FS testsuite when game data files are not found
svn-id: r51840
-rw-r--r--engines/testbed/config.cpp12
-rw-r--r--engines/testbed/fs.cpp16
-rw-r--r--engines/testbed/fs.h3
-rw-r--r--engines/testbed/testsuite.cpp2
4 files changed, 24 insertions, 9 deletions
diff --git a/engines/testbed/config.cpp b/engines/testbed/config.cpp
index 1cfb1bc395..e8f7c71272 100644
--- a/engines/testbed/config.cpp
+++ b/engines/testbed/config.cpp
@@ -78,12 +78,18 @@ void TestbedOptionsDialog::handleCommand(GUI::CommandSender *sender, uint32 cmd,
case GUI::kListItemDoubleClickedCmd:
ts = _testSuiteArray[_testListDisplay->getSelected()];
if (ts) {
+ // Toggle status
if (ts->isEnabled()) {
ts->enable(false);
- _testListDisplay->markAsDeselected(_testListDisplay->getSelected());
} else {
ts->enable(true);
+ }
+
+ // Now render status
+ if (ts->isEnabled()) {
_testListDisplay->markAsSelected(_testListDisplay->getSelected());
+ } else {
+ _testListDisplay->markAsDeselected(_testListDisplay->getSelected());
}
}
break;
@@ -181,7 +187,6 @@ void TestbedConfigManager::writeTestbedConfigToStream(Common::WriteStream *ws) {
}
}
_configFileInterface.saveToStream(*ws);
- _configFileInterface.clear();
ws->flush();
}
@@ -287,6 +292,9 @@ void TestbedConfigManager::selectTestsuites() {
TestbedOptionsDialog tbd(_testsuiteList, this);
tbd.runModal();
}
+
+ // Clear it to remove entries before next rerun
+ _configFileInterface.clear();
}
} // End of namespace Testbed
diff --git a/engines/testbed/fs.cpp b/engines/testbed/fs.cpp
index 6bd67022ee..7cae7ef6c1 100644
--- a/engines/testbed/fs.cpp
+++ b/engines/testbed/fs.cpp
@@ -149,21 +149,23 @@ bool FStests::testWriteFile() {
FSTestSuite::FSTestSuite() {
- addTest("ReadingFile", &FStests::testReadFile, false);
- addTest("WritingFile", &FStests::testWriteFile, false);
-}
-
-void FSTestSuite::enable(bool flag) {
+ // FS tests depend on Game Data files.
+ // If those are not found. Disable this testsuite.
const Common::String &path = ConfMan.get("path");
Common::FSNode gameRoot(path);
Common::FSNode gameIdentificationFile = gameRoot.getChild("TESTBED");
if (!gameIdentificationFile.exists()) {
logPrintf("WARNING! : Game Data not found. Skipping FS tests\n");
+ _isGameDataFound = false;
Testsuite::enable(false);
- return;
}
- Testsuite::enable(flag);
+ addTest("ReadingFile", &FStests::testReadFile, false);
+ addTest("WritingFile", &FStests::testWriteFile, false);
+}
+
+void FSTestSuite::enable(bool flag) {
+ Testsuite::enable(_isGameDataFound & flag);
}
} // End of namespace Testbed
diff --git a/engines/testbed/fs.h b/engines/testbed/fs.h
index a5e79c10ce..9977369176 100644
--- a/engines/testbed/fs.h
+++ b/engines/testbed/fs.h
@@ -67,6 +67,9 @@ public:
return "File system tests (Navigation, Read/Write)";
}
void enable(bool flag);
+
+private:
+ bool _isGameDataFound;
};
} // End of namespace Testbed
diff --git a/engines/testbed/testsuite.cpp b/engines/testbed/testsuite.cpp
index efd31c051d..76d9049a39 100644
--- a/engines/testbed/testsuite.cpp
+++ b/engines/testbed/testsuite.cpp
@@ -93,6 +93,7 @@ void Testsuite::logPrintf(const char *fmt, ...) {
if (_ws) {
_ws->writeString(buffer);
+ _ws->flush();
debugCN(kTestbedLogOutput, "%s", buffer);
} else {
debugCN(kTestbedLogOutput, "%s", buffer);
@@ -110,6 +111,7 @@ void Testsuite::logDetailedPrintf(const char *fmt, ...) {
if (_ws) {
_ws->writeString(buffer);
+ _ws->flush();
debugCN(1, kTestbedLogOutput, "%s", buffer);
} else {
debugCN(1, kTestbedLogOutput, "%s", buffer);