From ef3a0fcdad439948e501e951e8b1055e4971d008 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 11 May 2003 22:41:23 +0000 Subject: [PATCH] (do_test): Add tests for - flag. --- time/tst-strftime.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/time/tst-strftime.c b/time/tst-strftime.c index 1feb741..374fba4 100644 --- a/time/tst-strftime.c +++ b/time/tst-strftime.c @@ -1,5 +1,6 @@ #include #include +#include #include @@ -67,6 +68,42 @@ do_test (void) free (buf); } + struct tm ttm = + { + /* Initialize the fields which are needed in the tests. */ + .tm_mday = 1, + .tm_hour = 2 + }; + const struct + { + const char *fmt; + const char *exp; + size_t n; + } ftests[] = + { + { "%-e", "1", 1 }, + { "%-k", "2", 1 }, + { "%-l", "2", 1 }, + }; +#define nftests (sizeof (ftests) / sizeof (ftests[0])) + for (cnt = 0; cnt < nftests; ++cnt) + { + char buf[100]; + size_t r = strftime (buf, sizeof (buf), ftests[cnt].fmt, &ttm); + if (r != ftests[cnt].n) + { + printf ("strftime(\"%s\") returned %zu not %zu\n", + ftests[cnt].fmt, r, ftests[cnt].n); + result = 1; + } + if (strcmp (buf, ftests[cnt].exp) != 0) + { + printf ("strftime(\"%s\") produced \"%s\" not \"%s\"\n", + ftests[cnt].fmt, buf, ftests[cnt].exp); + result = 1; + } + } + return result; } -- 2.7.4