Move the tests of character value args to floating conversions
out of the %e test and into the NetBSD specific tests, while POSIX once (apparently) required (or seemed to require) support for that, it no longer does (and character value args to float conversions do not make much sense - char valuse are always integers). When char conversions are supported, test that \' (or \" ) (that is, no character following the quote) works as an arg (should result in zero, as there's a \0 in the arg after the quote char). Add some big/small number %g conversion tests.
This commit is contained in:
parent
fdc5bd383d
commit
30a7129418
@ -1,4 +1,4 @@
|
||||
# $NetBSD: printf.sh,v 1.2 2018/09/10 15:02:11 kre Exp $
|
||||
# $NetBSD: printf.sh,v 1.3 2018/09/14 19:57:57 kre Exp $
|
||||
#
|
||||
# Copyright (c) 2018 The NetBSD Foundation, Inc.
|
||||
# All rights reserved.
|
||||
@ -408,6 +408,7 @@ d_decimal()
|
||||
expect 49 '%d' "'1"
|
||||
expect 45 '%d' "'-1"
|
||||
expect 43 '%d' "'+1"
|
||||
expect 00 '%.2d' "'"
|
||||
|
||||
expect 68 '%d' '"D'
|
||||
expect 069 '%03d' '"E'
|
||||
@ -476,6 +477,8 @@ i_decimal()
|
||||
expect '02 ' '%-4.2i' 2
|
||||
expect ' +02' '%+ 4.2i' 2
|
||||
|
||||
expect 0 '%i' '"'
|
||||
|
||||
expect_fail '0' %i x22
|
||||
expect_fail '123' %i 123Mb
|
||||
expect_fail '15' %i 0xfooD
|
||||
@ -996,12 +999,6 @@ e_floats()
|
||||
expect2 ' nan' 'nan(*)' %5e nan
|
||||
expect2 'nan ' 'nan(*)' %-5e NAN
|
||||
|
||||
expect 6.500000e+01 '%e' "'A"
|
||||
expect 6.5e+01 '%.1e' "'A"
|
||||
expect 5e+01 '%.0e' "'1"
|
||||
expect 4.50e+01 '%.2e' "'-1"
|
||||
expect 4.300e+01 '%.3e' "'+1"
|
||||
|
||||
expect_fail 0.000000e+00 '%e' NOT-E
|
||||
expect_fail 1.200000e+00 '%e' 1.2Gb
|
||||
|
||||
@ -1085,6 +1082,16 @@ g_floats()
|
||||
expect 4.4?e+03 %.3g 4444 # p = 3, x = 3 : %.2e
|
||||
expect 1.2e-05 %.2g 0.000012 # p = 2, x = -5: $.1e
|
||||
|
||||
expect 1e+10 %g 10000000000
|
||||
expect 1e+10 %g 1e10
|
||||
expect 1e+10 %g 1e+10
|
||||
expect 1e-10 %g 1e-10
|
||||
expect 10000000000 %.11g 10000000000
|
||||
expect 10000000000. %#.11g 10000000000
|
||||
expect 1e+99 %g 1e99
|
||||
expect 1e+100 %g 1e100
|
||||
expect 1e-100 %g 1e-100
|
||||
|
||||
expect2 inf infinity %g Infinity
|
||||
expect2 -inf -infinity %g -INF
|
||||
expect2 nan 'nan(*)' %g NaN
|
||||
@ -1549,6 +1556,14 @@ NetBSD_extensions()
|
||||
# verify float support, so don't bother...
|
||||
fi
|
||||
|
||||
expect 6.500000e+01 '%e' "'A"
|
||||
expect 6.5e+01 '%.1e' "'A"
|
||||
expect 5e+01 '%.0e' "'1"
|
||||
expect 4.50e+01 '%.2e' "'-1"
|
||||
expect 4.300e+01 '%.3e' "'+1"
|
||||
expect 99.000000 '%f' '"c"
|
||||
expect 97 '%g' '"a"
|
||||
|
||||
# NetBSD (non-POSIX) format excape extensions
|
||||
expect '' '\e'
|
||||
expect '' '\E'
|
||||
@ -1750,7 +1765,7 @@ else
|
||||
Failures=0
|
||||
|
||||
STDERR=$(mktemp ${TMPDIR:-/tmp}/Test-XXXXXX)
|
||||
trap 'rm -f "${STDERR}"' EXIT
|
||||
trap "rm -f '${STDERR}'" EXIT
|
||||
exec 3>"${STDERR}"
|
||||
|
||||
case "$#" in
|
||||
|
Loading…
Reference in New Issue
Block a user