我想要针对一年以来未重新启动的 Linux 系统的测试代码。我没有找到自过去两个月以来未重新启动的系统。有没有办法模拟它?
我尝试了一种奇怪的方法,将系统时间更改为一年前并重新启动系统,然后将日期更改为当前时间。但这不会解决我的问题。
我想针对大整数计数器进行测试。
我想要针对一年以来未重新启动的 Linux 系统的测试代码。我没有找到自过去两个月以来未重新启动的系统。有没有办法模拟它?
我尝试了一种奇怪的方法,将系统时间更改为一年前并重新启动系统,然后将日期更改为当前时间。但这不会解决我的问题。
我想针对大整数计数器进行测试。
与其尝试将其作为系统测试进行测试,您可以在其中测试整个程序,而是将访问系统正常运行时间的代码(返回您担心的大整数)与使用执行计算的代码部分分开时间。然后对后者进行单元测试。
如果您在 Linux 上使用 C 或 C++ 进行编程,您可能正在使用sysinfo
系统调用来获得正常运行时间。在这种情况下,您可以将计算代码发送到一个指向struct sysinfo
. 您的单元测试可以填写您想要的任何大值sysinfo.uptime
。
有多种方法可以检查最新的启动时间,例如:
% last reboot | head -n 1
reboot ~ Tue Aug 13 09:56
% sysctl kern.boottime
kern.boottime: { sec = 1376377004, usec = 264281 } Tue Aug 13 09:56:44 2013