[Scummvm-git-logs] scummvm master -> d6669cb0c57b2689a6a2c9c50c8fb563329901da

bluegr noreply at scummvm.org
Wed Jul 2 06:33:23 UTC 2025


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .

Summary:
1c5a20f5de COMMON: Properly set error when save game can't be opened (fixes failing test in testbed)
da72893e31 TESTBED: Fix broken ImageAlbum tests
9caf1c9898 TESTBED: Fix tests failing for files with trailing dots
d6669cb0c5 TESTBED: Fix running in non-interactive mode


Commit: 1c5a20f5de71bd4e25e9f38b3bd7b9fe861f378d
    https://github.com/scummvm/scummvm/commit/1c5a20f5de71bd4e25e9f38b3bd7b9fe861f378d
Author: Christian Kündig (christian at kuendig.info)
Date: 2025-07-02T09:33:18+03:00

Commit Message:
COMMON: Properly set error when save game can't be opened (fixes failing test in testbed)

Changed paths:
    backends/saves/default/default-saves.cpp


diff --git a/backends/saves/default/default-saves.cpp b/backends/saves/default/default-saves.cpp
index 7546a3d2c9a..6ebee53a17c 100644
--- a/backends/saves/default/default-saves.cpp
+++ b/backends/saves/default/default-saves.cpp
@@ -115,12 +115,14 @@ Common::InSaveFile *DefaultSaveFileManager::openForLoading(const Common::String
 
 	for (const auto &lockedFile : _lockedFiles) {
 		if (filename == lockedFile) {
+			setError(Common::kReadingFailed, Common::String::format("Savefile '%s' is locked and cannot be loaded", filename.c_str()));
 			return nullptr; // file is locked, no loading available
 		}
 	}
 
 	SaveFileCache::const_iterator file = _saveFileCache.find(filename);
 	if (file == _saveFileCache.end()) {
+		setError(Common::kPathDoesNotExist, Common::String::format("Savefile '%s' does not exist", filename.c_str()));
 		return nullptr;
 	} else {
 		// Open the file for loading.


Commit: da72893e31ea1715ce67f6e9e1b36b2569e369c6
    https://github.com/scummvm/scummvm/commit/da72893e31ea1715ce67f6e9e1b36b2569e369c6
Author: Christian Kündig (christian at kuendig.info)
Date: 2025-07-02T09:33:18+03:00

Commit Message:
TESTBED: Fix broken ImageAlbum tests

Changed paths:
    engines/testbed/sound.cpp


diff --git a/engines/testbed/sound.cpp b/engines/testbed/sound.cpp
index ad3d6453944..523074959b2 100644
--- a/engines/testbed/sound.cpp
+++ b/engines/testbed/sound.cpp
@@ -354,7 +354,7 @@ SoundSubsystemTestSuite::SoundSubsystemTestSuite() {
 	// Make audio-files discoverable
 	Common::FSNode gameRoot(ConfMan.getPath("path"));
 	if (gameRoot.exists()) {
-		SearchMan.addSubDirectoryMatching(gameRoot, "audiocd-files");
+		SearchMan.addSubDirectoryMatching(gameRoot, "audiocd-files", 0, 2, false);
 		if (SearchMan.hasFile("track01.mp3") && SearchMan.hasFile("track02.mp3") && SearchMan.hasFile("track03.mp3") && SearchMan.hasFile("track04.mp3")) {
 			addTest("AudiocdOutput", &SoundSubsystem::audiocdOutput, true);
 		} else {


Commit: 9caf1c98989ddf7f19b1f5348883c099be0f17aa
    https://github.com/scummvm/scummvm/commit/9caf1c98989ddf7f19b1f5348883c099be0f17aa
Author: Christian Kündig (christian at kuendig.info)
Date: 2025-07-02T09:33:18+03:00

Commit Message:
TESTBED: Fix tests failing for files with trailing dots

Changed paths:
    engines/testbed/fs.cpp


diff --git a/engines/testbed/fs.cpp b/engines/testbed/fs.cpp
index 4ff99d3d2f4..31893b5938a 100644
--- a/engines/testbed/fs.cpp
+++ b/engines/testbed/fs.cpp
@@ -20,6 +20,7 @@
  */
 
 #include "common/config-manager.h"
+#include "common/file.h"
 #include "common/stream.h"
 #include "common/util.h"
 
@@ -38,8 +39,17 @@ namespace Testbed {
  */
 bool FStests::readDataFromFile(Common::FSDirectory *directory, const char *file) {
 
-	Common::SeekableReadStream *readStream = directory->createReadStreamForMember(file);
+	if (!SearchMan.isPathDirectory(directory->getFSNode().getPath())) {
+		SearchMan.addDirectory(directory->getFSNode().getPath(), 0, 1, false);
+	}
 
+	Common::ScopedPtr<Common::File> f(new Common::File());
+	if (!f->open(file)) {
+		Testsuite::logDetailedPrintf("Can't open game file\n");
+		return false;
+	}
+	
+	Common::SeekableReadStream *readStream = f.release();
 	if (!readStream) {
 		Testsuite::logDetailedPrintf("Can't open game file for reading\n");
 		return false;


Commit: d6669cb0c57b2689a6a2c9c50c8fb563329901da
    https://github.com/scummvm/scummvm/commit/d6669cb0c57b2689a6a2c9c50c8fb563329901da
Author: Christian Kündig (christian at kuendig.info)
Date: 2025-07-02T09:33:18+03:00

Commit Message:
TESTBED: Fix running in non-interactive mode

Changed paths:
    engines/testbed/config.cpp
    engines/testbed/config.h


diff --git a/engines/testbed/config.cpp b/engines/testbed/config.cpp
index ff81d57a6c9..cfa1d5c2e53 100644
--- a/engines/testbed/config.cpp
+++ b/engines/testbed/config.cpp
@@ -205,13 +205,6 @@ void TestbedInteractionDialog::handleCommand(GUI::CommandSender *sender, uint32
 	GUI::Dialog::handleCommand(sender, cmd, data);
 }
 
-void TestbedConfigManager::initDefaultConfiguration() {
-	// Default Configuration
-	// Add Global configuration Parameters here.
-	ConfParams.setSessionAsInteractive(ConfMan.getBool("interactive-mode"));
-	_configFileInterface.setKey("isSessionInteractive", "Global", ConfParams.isSessionInteractive() ? "true" : "false");
-}
-
 void TestbedConfigManager::writeTestbedConfigToStream(Common::WriteStream *ws) {
 	for (Common::Array<Testsuite *>::const_iterator i = _testsuiteList.begin(); i < _testsuiteList.end(); i++) {
 		_configFileInterface.setKey("this", (*i)->getName(), boolToString((*i)->isEnabled()));
@@ -243,9 +236,18 @@ Common::WriteStream *TestbedConfigManager::getConfigWriteStream() const {
 void TestbedConfigManager::parseConfigFile() {
 	Common::SeekableReadStream *rs = getConfigReadStream();
 
+	// get interactive mode from global config
+	ConfParams.setSessionAsInteractive(ConfMan.getBool("interactive-mode"));
+	_configFileInterface.setKey("isSessionInteractive", "Global", ConfParams.isSessionInteractive() ? "true" : "false");
+
 	if (!rs) {
 		Testsuite::logPrintf("Info! No config file found, using default configuration.\n");
-		initDefaultConfiguration();
+		return;
+	}
+
+	if (!ConfParams.isSessionInteractive()) {
+		// Non-interactive sessions don't need to go beyond (they run all tests)
+		Testsuite::logPrintf("Info! Non interactive session, skipping config parsing.\n");
 		return;
 	}
 	_configFileInterface.loadFromStream(*rs);
diff --git a/engines/testbed/config.h b/engines/testbed/config.h
index d222fabf180..f1e9dd0db35 100644
--- a/engines/testbed/config.h
+++ b/engines/testbed/config.h
@@ -56,7 +56,6 @@ public:
 	Testsuite *getTestsuiteByName(const Common::String &name);
 	bool stringToBool(const Common::String &str) { return str.equalsIgnoreCase("true") ? true : false; }
 	Common::String boolToString(bool val) { return val ? "true" : "false"; }
-	void initDefaultConfiguration();
 	int getNumSuitesEnabled();
 
 private:




More information about the Scummvm-git-logs mailing list