[libvirt PATCH 0/3] tests: virtimetest: Skip more tests near year's end

Andrea Bolognani abologna at redhat.com
Mon Jan 3 10:00:38 UTC 2022


On Sun, Jan 02, 2022 at 12:17:31AM -0500, Laine Stump wrote:
> On 1/1/22 2:07 PM, Andrea Bolognani wrote:
> >    tests: virtimetest: Skip more tests near year's end
>
> Ugh, I had managed to repress the memories of this, and now it's come back
> :-O

Same :)

> *if* you can explain to me why (at 11:55PM local time on Jan 1) all 28 of
> virtimetest cases were run by "ninja -C build test", with test 27 & 28
> failing, *but* when I just ran build/tests/virtimetest directly, it
> succeeded - running it under gdb I found that isNearYearEnd() properly
> returned true, so the final 8 tests aren't run (as you would expect).
>
> Not only that, but when I ran "ninja -C build test" at 12:01AM Jan 2, test
> 28 failed; it also failed when I directly ran virtimetest.
>
> For the first problem - is it possible that ninja is setting the timezone to
> something different during the build? My machine is in EST (UTC -5).

I don't think that's the case: I hacked virtimetest to print out the
timezone, and I get the same output whether I run it through 'meson
test' (or 'ninja test') or as a standalone program.

While doing so, I also realized something that should probably have
been obvious: since each call to TEST_LOCALOFFSET() sets the TZ
environment variable and invokes tzset(), depending on where in the
test program it is called isNearYearEnd() might return a different
result.

So perhaps we should call isNearYearEnd() once, before the first call
to TEST_LOCALOFFSET(), and use that result to decide which tests to
skip?

Honestly I'm still unclear on the interactions between the data we're
testing and the local timezone of the machine we're running tests on.
I basically shamelessly cargo-culted the existing approach :)

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list