1个不稳定版本
0.5.0 | 2023年10月22日 |
---|
#48 在 #loop
20KB
278 代码行
loopdev
设置和控制循环设备。
提供与Linux实用程序losetup
类似功能的Rust接口。
文档
示例
use loopdev::LoopControl;
let lc = LoopControl::open().unwrap();
let ld = lc.next_free().unwrap();
println!("{}", ld.path().unwrap().display());
ld.attach_file("disk.img").unwrap();
// ...
ld.detach().unwrap();
开发
本地运行测试
不幸的是,测试需要root权限的syscalls,因此必须以root身份运行。模拟这些syscalls意义不大,因为我想要测试它们是否真的按预期工作。如果模拟这些syscalls,那么测试实际上并没有测试到任何有用的东西。
提供了一个vagrant文件,可以用来创建一个安全的环境,以root身份本地运行这些测试。在安装了Vagrant和VirtualBox之后,您可以通过以下步骤运行测试。
vagrant up
vagrant ssh
sudo -i
cd /vagrant
cargo test
请注意,测试是在root权限下构建的,但由于vagrant将此目录映射回主机作为您的普通用户,因此这个问题影响很小。最坏的情况是vagrant盒子会被破坏,可以在几分钟内重建。
依赖项
~0–8.5MB
~68K SLoC