Pass Readtest and Pressuretest

This commit is contained in:
Victor 2023-11-23 14:45:52 -08:00
parent 9a2289e296
commit 88a15eb1a8

View File

@ -82,7 +82,7 @@ TEST(FileOperationTest, RamDiskTest) {
//use find_entry(specify certain files or directory) //use find_entry(specify certain files or directory)
FileNode* get_dir; FileNode* get_dir;
u_int64_t get_disk_inum; u_int64_t get_disk_inum;
get_dir = fischl_find_entry(fsop->root_node, "/test");//this is file get_dir = fischl_find_entry(fsop->root_node, "/test");//this is file
EXPECT_TRUE(get_dir != NULL);//detect this should find success EXPECT_TRUE(get_dir != NULL);//detect this should find success
EXPECT_STREQ(get_dir->name, "test"); EXPECT_STREQ(get_dir->name, "test");
@ -113,32 +113,41 @@ TEST(FileOperationTest, RamDiskTest) {
} }
// TEST(FileOperationTest, ReadTest) { TEST(FileOperationTest, ReadTest) {
// // read files (TODO: fischl_read) // read files (TODO: fischl_read)
// char read_buffer[IO_BLOCK_SIZE] = {0}; char read_buffer[IO_BLOCK_SIZE] = {0};
// INode inode_read; INode inode;
// inode_read.inode_construct(file_test, *H); u_int64_t get_file_inum;
// fsop.read_datablock(inode_read, 0, read_buffer);
// assert(read_buffer[0] == '1'); //read test file
// inode_read.inode_construct(file_baz, *H); get_file_inum = fsop->namei("/test");
// fsop.read_datablock(inode_read, 3, read_buffer); inode.inode_construct(get_file_inum, *H);
// assert(read_buffer[0] == '4'); fsop->read_datablock(inode, 0, read_buffer);
// fsop.read_datablock(inode_read, 101, read_buffer); EXPECT_EQ(read_buffer[0], '1');
// assert(read_buffer[0] == '5');
// } //read baz file
// TEST(FileOperationTest, PressureTest) { get_file_inum= fsop->namei("/foo/bar/baz");
// printf("=== Part 5: pressure test create files ===\n"); inode.inode_construct(get_file_inum, *H);
// u_int64_t file_pressure = fsop.fischl_mkdir("/pressure", 0); fsop->read_datablock(inode, 3, read_buffer);
// u_int64_t inode_numbers[700]; EXPECT_EQ(read_buffer[0], '4');
// std::string prefix = "/pressure/No_"; fsop->read_datablock(inode, 101, read_buffer);
// for(int i=0;i<700;i++){ EXPECT_EQ(read_buffer[0], '5');
// inode_numbers[i] = fsop.fischl_mkdir((prefix+std::to_string(i)).c_str(), 0); }
// }
// for(int i=0;i<700;i++){ TEST(FileOperationTest, PressureTest) {
// u_int64_t inode_number = fsop.namei((prefix+std::to_string(i)).c_str()); mode_t mode;//set mode
// assert(inode_number == inode_numbers[i]); mode = S_IRWXU | S_IRWXG | S_IRWXO;//future should test permission
// } EXPECT_EQ(fsop->fischl_mkdir("/pressure", mode), 0);
// }
u_int64_t inode_numbers[700];
std::string prefix = "/pressure/No_";
for(int i=0;i<700;i++){
EXPECT_EQ(fsop->fischl_mkdir((prefix+std::to_string(i)).c_str(), mode), 0);
}
for(int i=0;i<700;i++){
EXPECT_EQ(fsop->namei((prefix+std::to_string(i)).c_str()),fsop->disk_namei((prefix+std::to_string(i)).c_str()));
}
}
// TEST(FileOperationTest, UnlinkTest) { // TEST(FileOperationTest, UnlinkTest) {
// printf("=== Part 6: unlink test ===\n"); // printf("=== Part 6: unlink test ===\n");
// fsop.printDirectory(file_pressure); // fsop.printDirectory(file_pressure);