3

我正在尝试为一些应该迭代文件系统树的代码编写测试用例,但如果文件在另一台设备上则应该停止。在为它编写测试时,我考虑在 中创建一个文件/dev/shm,从我的测试目录符号链接到它,然后检查它是否未被读取,但/dev/shm似乎是特定于 Linux 的。mount-ing atmpfs可能是一个选项,但它需要root ...

任何想法如何实现?

4

2 回答 2

3

尝试 FUSE: http: //fuse.sourceforge.net/。FUSE 在 Linux、FreeBSD/NetBSD、OpenSolaris 和 Mac OS X 下受支持,因此,您用于测试的任何玩具文件系统(请参阅http://sourceforge.net/p/fuse/wiki/FileSystems/)都会

a) 是跨平台的 b) 在用户空间中(不需要 root)和 c) 不需要太多的测试脚手架来设置和拆除

于 2015-01-31T15:25:04.093 回答
0

这取决于您如何定义“设备”。您是否考虑同一设备上同一磁盘上不同文件系统上的文件?

使用您可以从包含返回的字段中的字段stat(2)的文件系统中获取数字 ID 。这样您就可以区分文件系统。st_devstruct stat

于 2015-01-24T17:56:19.957 回答