1 /* Test that posixtime works as required.
2 Copyright (C) 2011 Free Software Foundation, Inc.
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17 /* Written by Jim Meyering. */
28 #define STREQ(a, b) (strcmp (a, b) == 0)
38 static struct posixtm_test const T[] =
40 { 1300000000, 0, "%F", "2011-03-13" },
50 for (i = 0; T[i].fmt; i++)
54 struct tm *tm = gmtime (&t);
60 n = nstrftime (buf, sizeof buf, T[i].fmt, tm, utc, T[i].in_ns);
64 printf ("nstrftime failed with format %s\n", T[i].fmt);
67 if (! STREQ (buf, T[i].exp))
70 printf ("%s: result mismatch: got %s, expected %s\n",
71 T[i].fmt, buf, T[i].exp);