Re: [PATCH] add tests for tzset(3)

jdoubleu <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.