From e38810caf39c37e77cef2079084681ba7493484f Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 3 Nov 2023 17:47:32 -0700 Subject: [PATCH 1/2] add layer0 test --- test/CMakeLists.txt | 13 +++++++------ test/layer0.cpp | 28 ++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 test/layer0.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fd0a947..1b77761 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,10 +1,11 @@ -set(TARGET_NAME run_tests) +set(TARGET_LAYER0 test_layer0) # add test sources here ... -add_executable(${TARGET_NAME} +add_executable(${TARGET_LAYER0} + # add need lib and source code here + layer0.cpp +) - ../lib/fischl.cpp - testfischl.cpp - -) \ No newline at end of file +# add test to activate ctest -VV +add_test(NAME ${TARGET_LAYER0} COMMAND sudo ./${TARGET_LAYER0}) \ No newline at end of file diff --git a/test/layer0.cpp b/test/layer0.cpp new file mode 100644 index 0000000..4d95e8d --- /dev/null +++ b/test/layer0.cpp @@ -0,0 +1,28 @@ +#include +#include +#include +#include "rawdisk.h" + +int main() { + char *d = strdup("/dev/vdb"); + RawDisk *H = new RawDisk(d); + + char *buf = "iloveosdfjlseirfnerig"; + char readBuffer[512] = {0}; // Initialize to zeros + + //printf("dir %s, numSectors %lld, diskSize %lld \n", H->dir, H->numSectors, H->diskSize); + + //use number to substitute H->getnumSector(), getnumSectors() are not yest implemented + for(off_t i = 0; i < 10; i++) { + H->rawdisk_write(i, buf); + } + //use number to substitute H->getnumSector(), getnumSectors() are not yest implemented + for(off_t i = 0; i < 10; i++) { + H->rawdisk_read(i, readBuffer); + assert(strncmp(readBuffer, buf, strlen(buf)) == 0); + } + + delete H; // Delete the RawDisk object + + return 0; +} From 0442a53fbf3adbf324afe3c3be87f3b1cf051c00 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 3 Nov 2023 18:55:02 -0700 Subject: [PATCH 2/2] Allow specifying disk directory as parameter, /dev/vdc is default path --- test/CMakeLists.txt | 4 ++-- test/layer0.cpp | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 1b77761..4ff961f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,5 @@ set(TARGET_LAYER0 test_layer0) - +set(DIR_PLACE /dev/vdb) # add test sources here ... add_executable(${TARGET_LAYER0} @@ -8,4 +8,4 @@ add_executable(${TARGET_LAYER0} ) # add test to activate ctest -VV -add_test(NAME ${TARGET_LAYER0} COMMAND sudo ./${TARGET_LAYER0}) \ No newline at end of file +add_test(NAME ${TARGET_LAYER0} COMMAND sudo ./${TARGET_LAYER0} ${DIR_PLACE}) \ No newline at end of file diff --git a/test/layer0.cpp b/test/layer0.cpp index 4d95e8d..1b8faeb 100644 --- a/test/layer0.cpp +++ b/test/layer0.cpp @@ -3,8 +3,14 @@ #include #include "rawdisk.h" -int main() { - char *d = strdup("/dev/vdb"); +int main(int argc, char *argv[]) { + char *d = NULL; + if(argc < 2){ + d = strdup("/dev/vdc"); + }else{ + d = argv[1]; + } + RawDisk *H = new RawDisk(d); char *buf = "iloveosdfjlseirfnerig";