diff options
-rw-r--r-- | test/ChangeLog | 6 | ||||
-rw-r--r-- | test/fmtspcl.awk | 37 | ||||
-rw-r--r-- | test/fmtspcl.tok | 1 |
3 files changed, 34 insertions, 10 deletions
diff --git a/test/ChangeLog b/test/ChangeLog index 0b41abba..b8816a5f 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2018-07-12 Arnold D. Robbins <arnold@skeeve.com> + + * fmtspcl.awk: Improve the formatting, add testing of uppercase + formats, fix a bug. + * fmtspcl.tok: Adjust for code changes. + 2018-06-22 Andrew J. Schorr <aschorr@telemetry-investments.com> * Makefile.am (EXTRA_DIST): Add files for numrange. diff --git a/test/fmtspcl.awk b/test/fmtspcl.awk index 6f037a3a..eb99df65 100644 --- a/test/fmtspcl.awk +++ b/test/fmtspcl.awk @@ -1,26 +1,43 @@ -function display(x,str, i,res) { +function display(x, str, i, res) { for (i = 0; i < n; i++) { if ((res = sprintf(formats[i],x)) != str) printf "sprintf(%s,%s) = %s (!= %s)\n", - formats[i],x,res,str + formats[i], x, res, str } } BEGIN { nan = sqrt(-1) - nan_str = sprintf("%f",nan) - nnan_str = sprintf("%f",-nan) + nan_str = sprintf("%f", nan) + nnan_str = sprintf("%f", -nan) inf = -log(0) - inf_str = sprintf("%f",inf) + inf_str = sprintf("%f", inf) + ninf_str = sprintf("%f", -inf) n = 0 + formats[n++] = "%a" formats[n++] = "%f" - formats[n++] = "%s" formats[n++] = "%g" formats[n++] = "%x" formats[n++] = "%d" - display(nan,nan_str) - display(-nan,nnan_str) - display(inf,inf) - display(-inf,"-"inf_str) + formats[n++] = "%s" + display(nan, nan_str) + display(-nan, nnan_str) + display(inf, inf_str) + display(-inf, ninf_str) + + # Now test uppercase floating-point format strings + for (j = 0; j < n; j++) + formats[j] = toupper(formats[j]) + + n -= 3 # interger and string formats don't count (%x, %d, %s) + nan_str = toupper(nan_str) + nnan_str = toupper(nnan_str) + inf_str = toupper(inf_str) + ninf_str = toupper(ninf_str) + + display(nan, nan_str) + display(-nan, nnan_str) + display(inf, inf_str) + display(-inf, ninf_str) } diff --git a/test/fmtspcl.tok b/test/fmtspcl.tok index ba823b83..6fa0d1da 100644 --- a/test/fmtspcl.tok +++ b/test/fmtspcl.tok @@ -1,4 +1,5 @@ gawk: fmtspcl.awk:10: warning: sqrt: called with negative argument -1 +gawk: fmtspcl.awk:3: warning: %a format is POSIX standard but not portable to other awks gawk: fmtspcl.awk:3: warning: [s]printf: value positive_nan is out of range for `%x' format gawk: fmtspcl.awk:3: warning: [s]printf: value positive_nan is out of range for `%d' format gawk: fmtspcl.awk:3: warning: [s]printf: value negative_nan is out of range for `%x' format |