diff options
author | Cameron Cawley | 2019-07-01 18:51:14 +0100 |
---|---|---|
committer | Filippos Karapetis | 2019-08-11 22:15:54 +0300 |
commit | 43b4528552dc7b2a04abd31f88e1e83a726fc98b (patch) | |
tree | 7156551fb6fabd894b7b3161f35808f04fdb2145 /engines/testbed | |
parent | 75539407921c660f06b80ed2e242372bee76c5dd (diff) | |
download | scummvm-rg350-43b4528552dc7b2a04abd31f88e1e83a726fc98b.tar.gz scummvm-rg350-43b4528552dc7b2a04abd31f88e1e83a726fc98b.tar.bz2 scummvm-rg350-43b4528552dc7b2a04abd31f88e1e83a726fc98b.zip |
TESTBED: Add createDirectory() test in FStests
Diffstat (limited to 'engines/testbed')
-rw-r--r-- | engines/testbed/fs.cpp | 30 | ||||
-rw-r--r-- | engines/testbed/fs.h | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/engines/testbed/fs.cpp b/engines/testbed/fs.cpp index 07b1c0f2af..012581a576 100644 --- a/engines/testbed/fs.cpp +++ b/engines/testbed/fs.cpp @@ -172,6 +172,35 @@ TestExitStatus FStests::testWriteFile() { } +/** + * This test creates a directory testbed.dir, and confirms if the directory is created successfully + */ +TestExitStatus FStests::testCreateDir() { + const Common::String &path = ConfMan.get("path"); + Common::FSNode gameRoot(path); + if (!gameRoot.exists()) { + Testsuite::logPrintf("Couldn't open the game data directory %s", path.c_str()); + return kTestFailed; + } + + Common::FSNode dirToCreate = gameRoot.getChild("testbed.dir"); + + // TODO: Delete the directory after creating it + if (dirToCreate.exists()) { + Testsuite::logDetailedPrintf("Directory already exists in game data dir\n"); + return kTestSkipped; + } + + if (!dirToCreate.createDirectory()) { + Testsuite::logDetailedPrintf("Can't create directory in game data dir\n"); + return kTestFailed; + } + + Testsuite::logDetailedPrintf("Directory created successfully\n"); + return kTestPassed; +} + + FSTestSuite::FSTestSuite() { // FS tests depend on Game Data files. @@ -187,6 +216,7 @@ FSTestSuite::FSTestSuite() { } addTest("ReadingFile", &FStests::testReadFile, false); addTest("WritingFile", &FStests::testWriteFile, false); + addTest("CreateDir", &FStests::testCreateDir, false); } void FSTestSuite::enable(bool flag) { diff --git a/engines/testbed/fs.h b/engines/testbed/fs.h index 966f138d71..690e601dfb 100644 --- a/engines/testbed/fs.h +++ b/engines/testbed/fs.h @@ -41,6 +41,7 @@ bool readDataFromFile(Common::FSDirectory *directory, const char *file); // will contain function declarations for FS tests TestExitStatus testReadFile(); TestExitStatus testWriteFile(); +TestExitStatus testCreateDir(); TestExitStatus testOpeningSaveFile(); // add more here |