我正在编写一个框架来测试CernVM FS的行为。基本上,我有一项服务可以挂载通过 http 提供的远程文件系统,并在用户尝试访问配置的挂载点时立即使用自动挂载进行。
我必须编写的测试之一是检查 cvmfs 是否遵守 dns 请求的超时配置。因此,我将 dns 设置为等待 180 秒,但如果使用代理,则服务必须在 10 秒后停止以尝试挂载文件夹,如果是直接连接,则在 5 秒后尝试挂载文件夹。
我已经定义了三个测试(一个具有良好的 dns,另外两个具有睡眠 dns,有和没有代理)。所有测试都成功(因此,实际上当 dns 处于睡眠状态时它会失败),但我不知道如何检查 Perl opendir 命令在声明它无法访问该文件夹之前等待多长时间。
我该如何衡量这个时间?我知道它必须失败,但我想确保它在 10 或 5 秒后失败(取决于配置)。
我必须在 Perl 中完成,但任何建议都将不胜感激。