[Development] date/time adjust for (auto) testing

Curtis Mitch mitch.curtis at theqtcompany.com
Wed Jun 3 10:00:54 CEST 2015


> -----Original Message-----
> From: development-bounces+mitch.curtis=theqtcompany.com at qt-project.org
> [mailto:development-bounces+mitch.curtis=theqtcompany.com at qt-project.org]
> On Behalf Of André Somers
> Sent: Wednesday, 3 June 2015 8:39 AM
> To: <development at qt-project.org>
> Subject: [Development] date/time adjust for (auto) testing
> 
> Hi,
> 
> We have applications that use the current date and time at places spread
> around the code. For normal operations, that works very nicely. However,
> we find that for (auto) testing, it would be very convenient if we could
> trick the application into believing it is some other date/time, so that
> we can test if certain behaviours work the way we would like to
> automatically. Currently, these tests take a lot of time because we
> actually need to manually adjust the system date and time, do some
> stuff, then adjust again, etc.
> 
> It would be really confortable if there was some control to set a
> date/time offset (so the time keeps running) or a fixed date/time to be
> returned from currentDate(), currentTime() or currentDateTime()
> respectively. I guess access to such a thing does not belong in the main
> Qt classes, but is really a testing tool, so perhaps it could find
> refuge in QtTest somewhere. Would a contribution adding such a thing
> stand any chance of being accepted, or would this be considered out of
> scope or even unwanted?
> 
> An alternative might be to hook the windows kernel API, but that may be
> much tricker to get right and may have unforseen consequences for the
> code injected by Squish doing the actual testing.
> 
> André
> 
> --
> 
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development

Sounds like a great thing to have if you can get it working. The QDateTime tests themselves would benefit from this quite a lot.

Perhaps you've already seen, but it looks like Thiago attempted something similar with a8c74ddcf78604c9038ba2a2bea81e445e4b3c58:

http://code.qt.io/cgit/qt/qtbase.git/tree/tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp#n2988





More information about the Development mailing list