[PATCH] add tests for tzset(3)
jdoubleu
hi@jdoubleu.de
Sun Apr 10 17:55:56 GMT 2022
Hi Dimitar,
On 4/10/2022 10:43 AM, Dimitar Dimitrov wrote:
> I get the following failure on pru-none-elf and arm-none-eabi targets:
that is interesting! I just checked and they are still passing on
x86_64-pc-linux-gnu. Which begs the question: What is the difference to
your environment/target platform?
Are you using any additional compilation flags? Have you
enabled/disabled optimizations? Have you enabled the nano I/O API[1]?
What compiler (and version) are you using? How/Where are you running the
tests?
> [..] timezone = "<+0123456789ABCDEF>3:33:33"
The given test case aims to check for tzset's parsing behavior when the
name (inside the angle brackets) exceeds the TZNAME_MAX var, i.e. is too
long to be fully stored. The default behavior is to truncate the name
and ignore all remaining chars[2]. The time should still be parsed.
> Assertion failed! Expected 1647906533 to equal 1647916532.
Now, the interesting part is, that the diff is 9,999 seconds. The time
is off by 6 hours, 20 minutes and 12 seconds. That is 2 hours, 46
minutes and 38 seconds too far in the future. I am not sure where this
is coming from.
Neither does it look like it bailed early[3], because it couldn't parse
the name.
Please try and remove the "<+0123456789ABCDEF>" part from the string in
the tests[4] and re-run the tests.
Could you maybe also post the assembly listing and intermediate output
of the compiler? If you're using gcc, just (re)configure newlib and
rebuild libc:
CFLAGS=-save-temps=obj ../newlib/configure
make clean # get rid of stamp files
make
then copy and attach the following files:
libc/time/libc_a-tzset_r.i
libc/time/libc_a-tzset_r.s
[1]:
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/README;h=97890b9d20ca0ac9f206d7a2334d55a3d7052289;hb=HEAD#l403
[2]: https://sourceware.org/pipermail/newlib/2022/019535.html
[3]:
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/time/tzset_r.c;h=9cb30b188f989f65ec9eb6417f5d74020f8c72e9;hb=HEAD#l57
[4]:
https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/testsuite/newlib.time/tzset.c;h=0e5b196c629bcbecae6148c09bbeba82079c5367;hb=HEAD#l96
Cheers
---
🙎🏻♂️ jdoubleu
More information about the Newlib
mailing list