[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#7325: new test failure due to non-portability of printf formats like
From: |
Jim Meyering |
Subject: |
bug#7325: new test failure due to non-portability of printf formats like %05.3s |
Date: |
Thu, 11 Nov 2010 14:54:40 +0100 |
Pádraig Brady wrote:
> On 11/11/10 11:49, Jim Meyering wrote:
>> Paul Eggert wrote:
>>
>>> On 11/10/2010 01:04 AM, Jim Meyering wrote:
>>>> + /* %.X => precision defaults to 9
>>>> + %.5X => precision is 5
>>>> + %#.X => precision is determined by fstimeprec
>>>> + %#.3X => precision is 3 (specified overrides "#") */
>>>
>>> How about something like this instead?
>>>
>>> %.X => precision is 9 (until POSIX goes sub-nanosecond :-)
>>> %.5X => precision is 5
>>> %.*X => precision determined by fstimeprec
>>>
>>> Then there's no reason for the "overrides" case.
>>
>> Good idea. I prefer that.
...
Regardless, of syntax, can any of you suggest a good way to test this?
I can think of a few, but each has disadvantages.
- mount an ext2 file system and ensure that there are no nanoseconds
Pro: works all the time, as long as ext2 is an option
Con: root-only and requires mkfs.ext2
Code:
dd if=/dev/zero of=blob count=2 seek=2M > /dev/null || skip=1
mkdir mnt || skip=1
mkfs -t ext2 -F blob \
|| skip_test_ "failed to create ext2 file system"
mount -oloop blob mnt || skip=1
touch -d '1970-01-01 18:43:33.5000000000' k || fail=1
test "$(stat -c '%.*Y' k)" = 63813 || fail=1
- require a modern file system type and run a loop like this,
hoping to find a time stamp with fewer than "normal" digits of
nanosecond precision.
$ for i in $(seq 10); do rm -f k; touch -d '1970-01-01
18:43:33.5000000000' k; /cu/src/stat -c "%.*Y" k; done
63813.500000000
63813.50000000
63813.500000000
63813.500000000
63813.500000000
63813.50000000
63813.500000000
63813.500000000
63813.500000000
63813.500000000
Pro: does not require mount privileges
Con: I suppose it may fail some of the time, no matter how many
iterations we perform.
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, (continued)
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Pádraig Brady, 2010/11/08
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/08
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Eric Blake, 2010/11/08
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Paul Eggert, 2010/11/08
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/09
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/10
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Paul Eggert, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Pádraig Brady, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s,
Jim Meyering <=
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Pádraig Brady, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/12
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Pádraig Brady, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Eric Blake, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Paul Eggert, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Pádraig Brady, 2010/11/11
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/12
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Pádraig Brady, 2010/11/12
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Jim Meyering, 2010/11/12
- bug#7325: new test failure due to non-portability of printf formats like %05.3s, Paul Eggert, 2010/11/12