aboutsummaryrefslogtreecommitdiffstats
path: root/fastos/src/tests/filetest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fastos/src/tests/filetest.cpp')
-rw-r--r--fastos/src/tests/filetest.cpp195
1 files changed, 12 insertions, 183 deletions
diff --git a/fastos/src/tests/filetest.cpp b/fastos/src/tests/filetest.cpp
index a3470810e2e..88e81c2bbaf 100644
--- a/fastos/src/tests/filetest.cpp
+++ b/fastos/src/tests/filetest.cpp
@@ -5,6 +5,7 @@
#include <memory>
#include <cassert>
#include <sys/mman.h>
+#include <filesystem>
namespace {
@@ -46,176 +47,6 @@ public:
const std::string woFilename = "generated/writeonlytest.txt";
const std::string rwFilename = "generated/readwritetest.txt";
- void DirectoryTest()
- {
- TestHeader ("Directory management (remove & empty) test");
-
- const char *dirName = "tmpTestDir";
- char file1[1024];
- char file2[1024];
- char file3[1024];
- char file4[1024];
- char file5[1024];
- char subdir1[512];
- char subdir2[512];
- sprintf(file1, "%s%sfile1", dirName, FastOS_File::GetPathSeparator());
- sprintf(file2, "%s%sfile2", dirName, FastOS_File::GetPathSeparator());
- sprintf(file3, "%s%sfile2", dirName, FastOS_File::GetPathSeparator());
- sprintf(subdir1, "%s%sdir1", dirName, FastOS_File::GetPathSeparator());
- sprintf(subdir2, "%s%sdir2", dirName, FastOS_File::GetPathSeparator());
- sprintf(file4, "%s%sfile4", subdir2, FastOS_File::GetPathSeparator());
- sprintf(file5, "%s%sfile5", subdir2, FastOS_File::GetPathSeparator());
-
- FastOS_StatInfo statInfo;
-
- bool success = false;
-
- // Don't run at all if the directory already exists
- assert(!FastOS_File::Stat(dirName, &statInfo));
-
- FastOS_File::MakeDirectory(dirName);
-
- // Verify that we succeed with an empty directory
- FastOS_File::EmptyDirectory(dirName);
- success = FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Removing empty directory.");
-
- // Verify that we can empty a directory with files in it
- createFile(file1);
- createFile(file2);
- createFile(file3);
- FastOS_File::EmptyDirectory(dirName);
- success =
- !FastOS_File::Stat(file1, &statInfo) &&
- !FastOS_File::Stat(file2, &statInfo) &&
- !FastOS_File::Stat(file3, &statInfo) &&
- FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Deleting dir with files in it.");
-
- // Verify that we can empty a directory with files and directories in it
- createFile(file1);
- createFile(file2);
- createFile(file3);
- FastOS_File::MakeDirectory(subdir1);
- FastOS_File::MakeDirectory(subdir2);
- createFile(file4);
- createFile(file5);
- FastOS_File::EmptyDirectory(dirName);
- success = FastOS_File::Stat(dirName, &statInfo) &&
- !FastOS_File::Stat(file1, &statInfo) &&
- !FastOS_File::Stat(file2, &statInfo) &&
- !FastOS_File::Stat(file3, &statInfo) &&
- !FastOS_File::Stat(file4, &statInfo) &&
- !FastOS_File::Stat(file5, &statInfo) &&
- !FastOS_File::Stat(subdir1, &statInfo) &&
- !FastOS_File::Stat(subdir2, &statInfo);
- Progress(success, "Emptying directory with files and folders in it.");
-
- // Verify that we don't empty the directory if we find a file to keep
- createFile(file1);
- createFile(file2);
- createFile(file3);
- FastOS_File::MakeDirectory(subdir1);
- FastOS_File::MakeDirectory(subdir2);
- createFile(file4);
- createFile(file5);
- FastOS_File::EmptyDirectory(dirName, "file1");
- success = FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Emptying dir with keepfile in it.");
- // Verify that all but the file to keep are removed
- success = FastOS_File::Stat(file1, &statInfo) &&
- !FastOS_File::Stat(file2, &statInfo) &&
- !FastOS_File::Stat(file3, &statInfo) &&
- !FastOS_File::Stat(file4, &statInfo) &&
- !FastOS_File::Stat(file5, &statInfo) &&
- !FastOS_File::Stat(subdir1, &statInfo) &&
- !FastOS_File::Stat(subdir2, &statInfo);
- Progress(success, "Looking for keepfile.");
-
- // Verify that we don't empty the sub-directory if we find a file to keep
- createFile(file1);
- createFile(file2);
- createFile(file3);
- FastOS_File::MakeDirectory(subdir1);
- FastOS_File::MakeDirectory(subdir2);
- createFile(file4);
- createFile(file5);
- FastOS_File::EmptyDirectory(dirName, "file4");
- success = FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Emptying file with nested keepfile.");
- // Verify that all but the file to keep are removed
- success = !FastOS_File::Stat(file1, &statInfo) &&
- !FastOS_File::Stat(file2, &statInfo) &&
- !FastOS_File::Stat(file3, &statInfo) &&
- FastOS_File::Stat(file4, &statInfo) &&
- !FastOS_File::Stat(file5, &statInfo) &&
- !FastOS_File::Stat(subdir1, &statInfo) &&
- FastOS_File::Stat(subdir2, &statInfo);
- // Progress(success, "Looking for nested keepfile."); // Unsupported for now.
-
-
- FastOS_File::EmptyAndRemoveDirectory(dirName);
-
- FastOS_File::MakeDirectory(dirName);
-
- // Verify that we can remove an empty directory
- FastOS_File::EmptyAndRemoveDirectory(dirName);
- success = !FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Deleting empty directory.");
-
- // Verify that we can remove a directory with files in it
- FastOS_File::MakeDirectory(dirName);
- createFile(file1);
- createFile(file2);
- createFile(file3);
- FastOS_File::EmptyAndRemoveDirectory(dirName);
- success = !FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Deleting a directory with files in it.");
-
- // Verify that we can remove a directory with files and directories in it
- FastOS_File::MakeDirectory(dirName);
- createFile(file1);
- createFile(file2);
- createFile(file3);
- FastOS_File::MakeDirectory(subdir1);
- FastOS_File::MakeDirectory(subdir2);
- createFile(file4);
- createFile(file5);
- FastOS_File::EmptyAndRemoveDirectory(dirName);
- success = !FastOS_File::Stat(dirName, &statInfo);
- Progress(success, "Deleting directory with files and directories in it.");
-
- }
-
- void MoveFileTest() {
- TestHeader ("Moving files (across volumes too) test");
-
- const char *dirName = "tmpTestDir";
- char file1[1024];
- char file2[1024];
- char file3[1024];
- sprintf(file1, "%s%sfile1", dirName, FastOS_File::GetPathSeparator());
- sprintf(file2, "%s%sfile2", dirName, FastOS_File::GetPathSeparator());
- sprintf(file3, "%stmp%sfile3", FastOS_File::GetPathSeparator(),
- FastOS_File::GetPathSeparator());
-
- FastOS_File::MakeDirectory(dirName);
- createFile(file1);
-
- FastOS_StatInfo statInfo;
- // Move file to new name in same dir.
- FastOS_File::MoveFile(file1, file2);
- Progress(FastOS_File::Stat(file2, &statInfo), "Moving one within a directory.");
-
- // Move file to /tmp.
- FastOS_File::MoveFile(file2, file3);
- Progress(FastOS_File::Stat(file3, &statInfo), "Moving to /tmp/");
-
- // Clean up
- FastOS_File::Delete(file3);
- FastOS_File::EmptyAndRemoveDirectory(dirName);
- }
-
void GetCurrentDirTest ()
{
TestHeader ("Get Current Directory Test");
@@ -252,7 +83,7 @@ public:
int i;
const int bufSize = 1000;
- FastOS_File::MakeDirectory("generated");
+ std::filesystem::create_directory(std::filesystem::path("generated"));
FastOS_File file("generated/memorymaptest");
bool rc = file.OpenReadWrite();
@@ -294,7 +125,7 @@ public:
}
delete [] buffer;
}
- FastOS_File::EmptyAndRemoveDirectory("generated");
+ std::filesystem::remove_all(std::filesystem::path("generated"));
PrintSeparator();
}
@@ -305,7 +136,7 @@ public:
int i;
const int bufSize = 40000;
- FastOS_File::MakeDirectory("generated");
+ std::filesystem::create_directory(std::filesystem::path("generated"));
FastOS_File file("generated/diotest");
bool rc = file.OpenWriteOnly();
@@ -429,7 +260,7 @@ public:
delete [] buffer;
}
- FastOS_File::EmptyAndRemoveDirectory("generated");
+ std::filesystem::remove_all(std::filesystem::path("generated"));
PrintSeparator();
}
@@ -483,7 +314,7 @@ public:
void WriteOnlyTest ()
{
TestHeader("Write-Only Test");
- FastOS_File::MakeDirectory("generated");
+ std::filesystem::create_directory(std::filesystem::path("generated"));
FastOS_File *myFile = new FastOS_File(woFilename.c_str());
@@ -541,14 +372,14 @@ public:
Progress(deleteResult, "Delete file '%s'.", woFilename.c_str());
delete(myFile);
- FastOS_File::EmptyAndRemoveDirectory("generated");
+ std::filesystem::remove_all(std::filesystem::path("generated"));
PrintSeparator();
}
void ReadWriteTest ()
{
TestHeader("Read/Write Test");
- FastOS_File::MakeDirectory("generated");
+ std::filesystem::create_directory(std::filesystem::path("generated"));
FastOS_File *myFile = new FastOS_File(rwFilename.c_str());
@@ -637,7 +468,7 @@ public:
Progress(deleteResult, "Delete file '%s'.", rwFilename.c_str());
delete(myFile);
- FastOS_File::EmptyAndRemoveDirectory("generated");
+ std::filesystem::remove_all(std::filesystem::path("generated"));
PrintSeparator();
}
@@ -731,8 +562,8 @@ public:
sprintf(file4, "%s%sfile4", dirName, FastOS_File::GetPathSeparator());
sprintf(file5, "%s%sfile5", dirName, FastOS_File::GetPathSeparator());
- FastOS_File::EmptyAndRemoveDirectory(dirName);
- FastOS_File::MakeDirectory(dirName);
+ std::filesystem::remove_all(std::filesystem::path(dirName));
+ std::filesystem::create_directory(std::filesystem::path(dirName));
printf("Creating files to copy. Some of them are quite large...\n\n");
createFile(file1);
createFile(file3, 20*1024*1024); // 20MB file.
@@ -789,7 +620,7 @@ public:
"Size of copied file should be %u bytes.", sizeOfFile5);
- FastOS_File::EmptyAndRemoveDirectory("./tmpDir");
+ std::filesystem::remove_all(std::filesystem::path("tmpDir"));
PrintSeparator();
}
@@ -798,8 +629,6 @@ public:
printf("This test should be run in the 'tests' directory.\n\n");
printf("grep for the string '%s' to detect failures.\n\n", failString);
- DirectoryTest();
- MoveFileTest();
CopyFileTest();
GetCurrentDirTest();
DirectIOTest();