[PATCH] Allow testing of _relative family of time formatting and parsing functions
From: Alex Riesen <hidden>
Date: 2016-06-15 22:47:20
Subsystem:
the rest · Maintainer:
Linus Torvalds
To complement the testability of approxidate. --- Alex Riesen, Fri, Aug 28, 2009 21:33:02 +0200:
It should allow safe testing of this part of the code.
And this should really allow testing of it:
$ ./test-date '10.days.ago'
10.days.ago -> bad -> Thu Jan 1 01:00:00 1970
10.days.ago -> Tue Aug 18 22:50:20 2009
relative: 10.days.ago -> Fri Dec 22 12:00:00 1989
relative: 10 days ago, out of Fri Dec 22 12:00:00 1989
$
According to Wikipedia, absolutely nothing of note happened
at the day 10 January, 1990.
test-date.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/test-date.c b/test-date.c
index 62e8f23..dcc7973 100644
--- a/test-date.c
+++ b/test-date.c@@ -4,6 +4,17 @@ int main(int argc, char **argv) { int i; + struct tm tm; + struct timeval when = {0, 0}; + tm.tm_sec = 0; + tm.tm_min = 0; + tm.tm_hour = 12; + tm.tm_mday = 1; + tm.tm_mon = 0 /* January */; + tm.tm_year = 90 /* 1990 */ ; + tm.tm_isdst = -1; + when.tv_sec = mktime(&tm); + for (i = 1; i < argc; i++) { char result[100]; time_t t;
@@ -15,6 +26,12 @@ int main(int argc, char **argv) t = approxidate(argv[i]); printf("%s -> %s\n", argv[i], ctime(&t)); + + t = approxidate_relative(argv[i], &when); + printf("relative: %s -> %s\n", argv[i], ctime(&t)); + + printf("relative: %s, out of %s\n", + show_date_relative(t, 0, &when), ctime(&t)); } return 0; }
--
1.6.4.1.263.g468a