【发布时间】:2017-01-19 17:37:59
【问题描述】:
我正在编写一些自动化测试来测试代码并向程序员提供反馈。
其中一个要求是检测代码是否成功读取了指定的输入文件。如果没有 - 我们需要相应地向用户提供反馈。检测此问题的一种方法是atime 时间戳,但由于我们的服务器驱动器安装有relatime 选项 - 我们不会为每个文件读取更新atime。更改此选项以记录每个atime 是不可行的,因为它会显着减慢我们的 I/O 操作。
是否有任何其他替代方法可以用来检测给定代码是否确实读取了指定的输入文件?
【问题讨论】:
-
即使有完整的
atime支持,您如何区分读取整个文件的代码和只读取其中一部分的代码?你真的需要检查吗?也许验证代码输出(如果它读取并处理文件,它将匹配)? -
我同意 Sergio 的观点:触摸文件并不意味着它已被成功读取。如果您想真正“确定”;这些程序必须“发回”某种指示。
-
@SergioTulentsev - 我们已经在检查只有在处理输入后才会生成的输出,但是我们需要检测程序员是否正确读取了文件(部分对创建输出没有用处) ,所以我们在这里介绍)。我们经常看到他们在路径上出错(归咎于
C::P),我们希望检测到这一点并提供相关反馈。