aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <josmyers@redhat.com>2024-09-20 23:24:45 +0000
committerJoseph Myers <josmyers@redhat.com>2024-09-20 23:24:45 +0000
commit378039ca578c2ea93095a1e710d96f58c68a3997 (patch)
tree5f5e36ab8c7fb4be235e265e3c0e09f26c31fa06
parentb5d3737b305525315e0c7c93ca49eadc868eabd5 (diff)
downloadglibc-378039ca578c2ea93095a1e710d96f58c68a3997.zip
glibc-378039ca578c2ea93095a1e710d96f58c68a3997.tar.gz
glibc-378039ca578c2ea93095a1e710d96f58c68a3997.tar.bz2
Add tests of more strtod special cases
There is very little test coverage of inputs to strtod-family functions that don't contain anything that can be parsed as a number (one test of ".y" in tst-strtod2), and none that I can see of skipping initial whitespace. Add some tests of these things to tst-strtod2. Tested for x86_64.
-rw-r--r--stdlib/tst-strtod2.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/stdlib/tst-strtod2.c b/stdlib/tst-strtod2.c
index c84bd79..d00bc13 100644
--- a/stdlib/tst-strtod2.c
+++ b/stdlib/tst-strtod2.c
@@ -31,6 +31,20 @@ struct test_strto ## FSUF \
{ "0x1px", 1.0 ## LSUF, 3 }, \
{ "0x1p+x", 1.0 ## LSUF, 3 }, \
{ "0x1p-x", 1.0 ## LSUF, 3 }, \
+ { "", 0.0 ## LSUF, 0 }, \
+ { ".", 0.0 ## LSUF, 0 }, \
+ { "-", 0.0 ## LSUF, 0 }, \
+ { "-.", 0.0 ## LSUF, 0 }, \
+ { ".e", 0.0 ## LSUF, 0 }, \
+ { "-.e", 0.0 ## LSUF, 0 }, \
+ { " \t", 0.0 ## LSUF, 0 }, \
+ { " \t.", 0.0 ## LSUF, 0 }, \
+ { " \t-", 0.0 ## LSUF, 0 }, \
+ { " \t-.", 0.0 ## LSUF, 0 }, \
+ { " \t.e", 0.0 ## LSUF, 0 }, \
+ { " \t-.e", 0.0 ## LSUF, 0 }, \
+ { " \t\f\r\n\v1", 1.0 ## LSUF, 7 }, \
+ { " \t\f\r\n\v-1.5e2", -150.0 ## LSUF, 12 }, \
{ "INFx", INFINITY, 3 }, \
{ "infx", INFINITY, 3 }, \
{ "INFINITx", INFINITY, 3 }, \