Re: The time_zone tests that fail

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 12 Mar 2025 at 17:52, Dennis Clarke wrote:
> This is a default out of the box install of Devuan Linux which is just a
> really fantastic Linux distro based on the Debian goodness. However the
> Microsoft SystemD has been entirely removed.

Please don't. Nobody cares if you incorrectly think systemd has
anything to do with Microsoft.


> > I see from your follow-up that it fixed your original issue. I'm still
> > curious why all the C++ time zone tests fail. Do you have an
> > incomplete/modified tzdata file on the system? If no tzdata files are
> > found, then a bundled copy of tzdata should get used, so if they're
> > failing that suggests your system does have the data but it's
> > incomplete.
> >
> > Could you please look in the
> > x86_64-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log file and
> > search for ^FAIL and see what the errors are?
>
> t$ find . -type f -name libstdc++.log
> ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
> t$
> t$ wc -l ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
> 115033 ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
> t$
>
> Yikes .... 115033 lines.
>
> t$
> t$ grep '^FAIL' ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
> FAIL: std/time/time_zone/get_info_local.cc  -std=gnu++20 execution test
> FAIL: std/time/time_zone/get_info_local.cc  -std=gnu++26 execution test
> FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++20 execution test
> FAIL: std/time/time_zone/get_info_sys.cc  -std=gnu++26 execution test
> FAIL: std/time/tzdb/1.cc  -std=gnu++20 execution test
> FAIL: std/time/tzdb/1.cc  -std=gnu++26 execution test
> FAIL: std/time/exceptions.cc  -std=gnu++20 execution test
> FAIL: std/time/exceptions.cc  -std=gnu++26 execution test
> FAIL: std/time/zoned_time/1.cc  -std=gnu++20 execution test
> FAIL: std/time/zoned_time/1.cc  -std=gnu++26 execution test
> FAIL: std/time/zoned_time/custom.cc  -std=gnu++20 execution test
> FAIL: std/time/zoned_time/custom.cc  -std=gnu++26 execution test
> FAIL: std/time/zoned_time/io.cc  -std=gnu++20 execution test
> FAIL: std/time/zoned_time/io.cc  -std=gnu++26 execution test
> FAIL: libstdc++-prettyprinters/chrono.cc execution test
> FAIL: libstdc++-prettyprinters/chrono.cc execution test
> t$
>
> No idea why these are failing.

Look in the log, it will tell you. All you've shown is that they fail,
which was already in the gcc-testresults email.

Search for ^FAIL in the file and look at the lines surrounding it.
They're probably all failing for the same reason.

> I think the timezone data is complete but who knows ?
>
> t$ ls -abp /usr/share/zoneinfo/
> ./           EET        Hongkong           Mexico/     ROK
> ../          Egypt      HST                MST         Singapore
> Africa/      Eire       Iceland            MST7MDT     Turkey
> America/     EST        Indian/            Navajo      tzdata.zi

The tzdata.zi file above and the leapseconds file below are all that
matters, and they're present.

> Antarctica/  EST5EDT    Iran               NZ          UCT
> Arctic/      Etc/       iso3166.tab        NZ-CHAT     Universal
> Asia/        Europe/    Israel             Pacific/    US/
> Atlantic/    Factory    Jamaica            Poland      UTC
> Australia/   GB         Japan              Portugal    WET
> Brazil/      GB-Eire    Kwajalein          posix/      W-SU
> Canada/      GMT        leapseconds        posixrules  zone1970.tab
> CET          GMT+0      leap-seconds.list  PRC         zone.tab
> Chile/       GMT-0      Libya              PST8PDT     Zulu
> CST6CDT      GMT0       localtime          right/
> Cuba         Greenwich  MET                ROC
> t$
>
> The machine has localtime linked to UTC for reasons of sanity :
>
> t$ ls -lad /etc/localtime
> lrwxrwxrwx 1 root root 27 Mar  6 00:35 /etc/localtime ->
> /usr/share/zoneinfo/Etc/UTC
> t$
>
> Generally I have my TZ env var set to GMT0 :
>
> t$ echo $TZ
> GMT0
> t$
>
> Perhaps I should have that as UTC ?

$TZ isn't used by std::chrono

> I have ntpd running and getting time from four awesome servers :

That shouldn't matter either, the tests should be agnostic to the
current time, so they don't care if your system clock is accurate.

> So is there a way to run a single test and just get all the verbosity
> one could ask for?

Yes, but you don't need to because it's already in the libstdc++.log file.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux