我希望我的go程序在ubuntu服务器(14.04)上运行,由主管守护,使用假的服务器时间。在我的主管配置中,我使用它作为执行命令:“假时间‘上周五下午5点’/home/user/main”程序运行,但显示当前时间。根据这篇文章:Changingwhattimeaprocessthinksitiswithlibfaketimelibfaketimecannotbeusedwithstaticallylinkedorsetuidprograms,becauseLD_PRELOADisnotavailabletosuchprograms.有没有办法让我编译的go程序使用faketime?
我希望我的go程序在ubuntu服务器(14.04)上运行,由主管守护,使用假的服务器时间。在我的主管配置中,我使用它作为执行命令:“假时间‘上周五下午5点’/home/user/main”程序运行,但显示当前时间。根据这篇文章:Changingwhattimeaprocessthinksitiswithlibfaketimelibfaketimecannotbeusedwithstaticallylinkedorsetuidprograms,becauseLD_PRELOADisnotavailabletosuchprograms.有没有办法让我编译的go程序使用faketime?
当使用libfaketime改变进程的时间速度时,setTimout设置的超时在Linux下运行时根据改变的时间到期但根据原始在MacOS下运行时的系统时间。在Mac操作系统中:DYLD_INSERT_LIBRARIES=src/libfaketime.1.dylibDYLD_FORCE_FLAT_NAMESPACE=yFAKETIME="@2020-12-2400:00:00x3600"node>setTimeout(()=>{console.log('hello');},3600*1000);//Takesanhour在Linux中:LD_PRELOAD=src/libfaketi
当使用libfaketime改变进程的时间速度时,setTimout设置的超时在Linux下运行时根据改变的时间到期但根据原始在MacOS下运行时的系统时间。在Mac操作系统中:DYLD_INSERT_LIBRARIES=src/libfaketime.1.dylibDYLD_FORCE_FLAT_NAMESPACE=yFAKETIME="@2020-12-2400:00:00x3600"node>setTimeout(()=>{console.log('hello');},3600*1000);//Takesanhour在Linux中:LD_PRELOAD=src/libfaketi
我想自动化一些测试,在这些测试中我必须操纵系统时间来检查用golang编写的程序的身份验证行为。根据thispost,libfaketime不适用于golang。有没有另一种方法可以实现我想用libfaketime做的事情?这是来自github的libfaketime功能的描述。libfaketimeinterceptsvarioussystemcallsthatprogramsusetoretrievethecurrentdateandtime.Itthenreportsmodified(faked)datesandtimes(asspecifiedbyyou,theuser)tot