linux - 在 Linux 中测试磁盘空间不足

标签 linux testing

我有一个程序在写入某个文件时磁盘空间不足时可能会死掉,我不确定是否是这种情况。

我想运行它看看,但我的测试服务器不会很快用完空间。有什么办法可以 mock 这种行为吗?看起来没有任何方法可以在 Ubuntu 中设置文件夹/文件大小限制,并且设置用户配额将是一个过程(由于获得权限)

是否有测试这种情况的通用方法?

我正在运行 Ubuntu 12.04

最佳答案

  1. 创建一个你想要大小的文件(这里是 10MB)

    dd if=/dev/zero of=/home/qdii/test bs=1024 count=10000

  2. 用这个文件做一个环回设备

    losetup -f/home/qdii/test

  3. 在您想要的文件系统中格式化该设备

    mkfs.ext4/dev/loopXXX

  4. 将它挂载到任何你想要的地方(/mnt/test 应该存在)

    sudo mount/dev/loopXXX/mnt/test

  5. 将您的程序复制到该分区并进行测试

    cp/path/my/program/mnt/test && cd/mnt/test && ./program


用创建的循环设备losetup替换/dev/loopXXX,用losetup -a查找。

完成后,不要忘记:

  • 使用 sudo umount/mnt/test 卸载。
  • 在使用后清理循环设备,使用 losetup -D/dev/loopXXX
  • 删除文件。

关于linux - 在 Linux 中测试磁盘空间不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16044204/

相关文章:

java - org.openqa.selenium.ElementNotVisibleException : Element is not currently visible and so may not be interacted with Command duration or timeout:

java - 设置用于测试的默认 Content-Type

linux - 通过终端创建文件并在脚本 python3 中加入两个文件

linux - Netlogo HPC CPU 使用百分比增加

python - 有选择地使用具有周期性输出的 bash 脚本输出来触发另一个脚本

c - 如何将程序加载到内存中与预期地址不同的地址?

ruby - 第三个 elsif 语句生成 nil 和不需要的输出

c++ - 为什么 msgrcv() 将垃圾字符输入缓冲区?

ruby - 如何调试被测代码

security - 如何通过“测试驱动开发”确保安全编码?