如何测试文件系统实现?

时间:2013-12-19 06:15:03

标签: c linux filesystems

我将在C中实现一个文件系统,我想知道如何在不将其安装到内核中或使用FUSE API的情况下进行测试。理想情况下,我想要做的是使用dd命令创建一个虚拟硬盘驱动器并使用Linux系统调用(如write和read)进行交互(这个想法是不写驱动程序)。那可能吗?

(如果我拼错了单词,我很抱歉,但是eanglish不是我的第一语言。如果这是偏离主题,我很抱歉,这是我的第一个问题)

感谢。

2 个答案:

答案 0 :(得分:0)

如果您确实在实施文件系统,则可以在虚拟机中对其进行测试。

否则,您可以在存在于真实文件系统中的文件中实现文件系统,并实现一些函数,如读/写/等...

答案 1 :(得分:0)

虚拟硬盘和虚拟文件系统有点不同, - 在实现它们时编写不同的功能并处理不同的请求。鉴于您实现了一个文件系统,您最好的选择是通过FUSE公开您的文件系统进行测试。然后编写不同的测试,访问基于FUSE的文件系统以执行各种任务。

不幸的是,测试文件系统很困难,需要编写许多测试。还需要使用不同的软件(文件管理器)进行手动测试。