aboutsummaryrefslogtreecommitdiff
path: root/engines/testbed/midi.cpp
diff options
context:
space:
mode:
authorNeeraj Kumar2010-08-12 14:47:25 +0000
committerNeeraj Kumar2010-08-12 14:47:25 +0000
commit4c3ea30e329be219fe916f633fb880f3cec83f92 (patch)
tree383bfa8771879dc23b4ea047190f84e899678720 /engines/testbed/midi.cpp
parentf6a1cb991fef5de697d97af1418e719592fbcee6 (diff)
downloadscummvm-rg350-4c3ea30e329be219fe916f633fb880f3cec83f92.tar.gz
scummvm-rg350-4c3ea30e329be219fe916f633fb880f3cec83f92.tar.bz2
scummvm-rg350-4c3ea30e329be219fe916f633fb880f3cec83f92.zip
TESTBED: disable tests when required data is not found
svn-id: r52041
Diffstat (limited to 'engines/testbed/midi.cpp')
-rw-r--r--engines/testbed/midi.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/testbed/midi.cpp b/engines/testbed/midi.cpp
index 57ac1a64d2..bae78b352b 100644
--- a/engines/testbed/midi.cpp
+++ b/engines/testbed/midi.cpp
@@ -128,6 +128,7 @@ TestExitStatus MidiTests::playMidiMusic() {
driver->setTimerCallback(NULL, NULL);
driver->close();
delete smfParser;
+ delete driver;
if (Testsuite::handleInteractiveInput("Were you able to hear the music as described?", "Yes", "No", kOptionRight)) {
Testsuite::logDetailedPrintf("Error! Midi: Can't play Music\n");
@@ -137,7 +138,18 @@ TestExitStatus MidiTests::playMidiMusic() {
}
MidiTestSuite::MidiTestSuite() {
- addTest("MidiTests", &MidiTests::playMidiMusic);
+ if (SearchMan.hasFile("music.mid")) {
+ addTest("MidiTests", &MidiTests::playMidiMusic);
+ } else {
+ // add some fallback test if filesystem loading failed
+ Testsuite::logPrintf("Warning! Midi: Sound data file music.mid not found\n");
+ _isMidiDataFound = false;
+ enable(false);
+ }
+}
+
+void MidiTestSuite::enable(bool flag) {
+ Testsuite::enable(_isMidiDataFound & flag);
}
}