Fixed issue with adding, adding is now fully functional, added testing for removing

This commit is contained in:
2022-12-06 23:36:35 -06:00
parent ee19c23ea8
commit f80ff37587
3 changed files with 95 additions and 28 deletions
+64 -12
View File
@@ -15,16 +15,14 @@ char* argv[5];
void setUp(void)
{
FuseStructInit(&dummyFuse);
argv[0] = "bin/fuse.out";
argv[1] = "-l";
argv[2] = "test/files/test1.txt";
argv[3] = "-f";
argv[4] = "test/fakefs.test";
GetArguments(argc, argv, &dummyFuse);
OpenFS(&dummyFuse, argv[0]);
fakefs = SetupFS(&dummyFuse);
}
void tearDown(void)
{
;
TearDownFS();
}
void Test_FuseGetArgs_Should_SetDummyArgs(void)
@@ -53,16 +51,13 @@ void Test_FindEmptyBitPosition_Should_ReturnPosition(void)
void Test_FileSystem_Should_SuccessfullyOpen(void)
{
remove(argv[4]);
GetArguments(argc, argv, &dummyFuse);
OpenFS(&dummyFuse, argv[0]);
fakefs = SetupFS(&dummyFuse);
}
void Test_FileSystem_Should_AddFile(void)
void Test_FileSystem_Should_AddFirstFile(void)
{
argv[1] = "-a";
GetArguments(argc, argv, &dummyFuse);
RunFuse(fakefs, &dummyFuse);
TEST_ASSERT_EQUAL(1, fakefs->inodes[0].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test", fakefs->inodes[0].blocks[0].name, 4);
@@ -70,11 +65,39 @@ void Test_FileSystem_Should_AddFile(void)
TEST_ASSERT_EQUAL_CHAR_ARRAY("files", fakefs->inodes[1].blocks[0].name, 5);
TEST_ASSERT_EQUAL(1, fakefs->inodes[2].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test1.txt", fakefs->inodes[2].blocks[0].name, 9);
ino_t inodeLocation = fakefs->inodes[2].blocks[0].inode;
TEST_ASSERT_NOT_EMPTY(fakefs->dataBlocks[inodeLocation].byte);
}
void Test_FileSystem_Should_AddSecondFile(void)
{
RunFuse(fakefs, &dummyFuse);
TEST_ASSERT_EQUAL(1, fakefs->inodes[0].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test", fakefs->inodes[0].blocks[0].name, 4);
TEST_ASSERT_EQUAL(1, fakefs->inodes[1].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("files", fakefs->inodes[1].blocks[0].name, 5);
TEST_ASSERT_EQUAL(1, fakefs->inodes[2].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test2.txt", fakefs->inodes[2].blocks[1].name, 9);
ino_t inodeLocation = fakefs->inodes[2].blocks[1].inode;
TEST_ASSERT_NOT_EMPTY(fakefs->dataBlocks[inodeLocation].byte);
}
void Test_FileSystem_Should_AddThirdFile(void)
{
RunFuse(fakefs, &dummyFuse);
TEST_ASSERT_EQUAL(1, fakefs->inodes[0].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test", fakefs->inodes[0].blocks[0].name, 4);
TEST_ASSERT_EQUAL(1, fakefs->inodes[1].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("files", fakefs->inodes[1].blocks[0].name, 5);
TEST_ASSERT_EQUAL(1, fakefs->inodes[2].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test3.txt", fakefs->inodes[2].blocks[2].name, 9);
ino_t inodeLocation = fakefs->inodes[2].blocks[2].inode;
TEST_ASSERT_NOT_EMPTY(fakefs->dataBlocks[inodeLocation].byte);
}
void Test_FileSystem_Should_ListContents(void)
{
Fuse(argc, argv);
RunFuse(fakefs, &dummyFuse);
TEST_ASSERT_EQUAL(1, fakefs->inodes[0].isValid);
TEST_ASSERT_EQUAL_CHAR_ARRAY("test", fakefs->inodes[0].blocks[0].name, 4);
TEST_ASSERT_EQUAL(1, fakefs->inodes[1].isValid);
@@ -83,14 +106,43 @@ void Test_FileSystem_Should_ListContents(void)
TEST_ASSERT_EQUAL_CHAR_ARRAY("test1.txt", fakefs->inodes[2].blocks[0].name, 9);
TEST_MESSAGE("This only runs the list operation. Check info yourself.");
}
void Test_FileSystem_Should_RemoveFile(void)
{
RunFuse(fakefs, &dummyFuse);
TEST_ASSERT_EQUAL(0, fakefs->inodes[2].blocks[0].isValid);
}
void Test_FileSystem_Should_RemoveEmptyDirectories(void)
{
TEST_ASSERT_EQUAL(0, fakefs->inodes[2].isValid);
TEST_ASSERT_EQUAL(0, fakefs->inodes[1].blocks[0].isValid);
TEST_ASSERT_EQUAL(0, fakefs->inodes[1].isValid);
TEST_ASSERT_EQUAL(0, fakefs->inodes[0].blocks[0].isValid);
}
int main(void)
{
remove("test/fakefs.test");
argv[0] = "bin/fuse.out";
argv[1] = "-l";
argv[2] = "test/files/test1.txt";
argv[3] = "-f";
argv[4] = "test/fakefs.test";
UNITY_BEGIN();
RUN_TEST(Test_FuseGetArgs_Should_SetDummyArgs);
RUN_TEST(Test_FindEmptyBitPosition_Should_ReturnPosition);
RUN_TEST(Test_FileSystem_Should_SuccessfullyOpen);
RUN_TEST(Test_FileSystem_Should_AddFile);
argv[1] = "-a";
RUN_TEST(Test_FileSystem_Should_AddFirstFile);
argv[2] = "test/files/test2.txt";
RUN_TEST(Test_FileSystem_Should_AddSecondFile);
argv[2] = "test/files/test3.txt";
RUN_TEST(Test_FileSystem_Should_AddThirdFile);
argv[1] = "-l";
RUN_TEST(Test_FileSystem_Should_ListContents);
argv[1] = "-r";
argv[2] = "test/files/test2.txt";
RUN_TEST(Test_FileSystem_Should_RemoveFile);
RUN_TEST(Test_FileSystem_Should_RemoveEmptyDirectories);
return UNITY_END();
}