summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--core/test/Makefile.check1
-rw-r--r--core/test/run-time-utils.c60
3 files changed, 62 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index d9d8ddc9..6d602191 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,6 +29,7 @@ ccan/list/test/run-single-eval
ccan/list/test/run-with-debug
ccan/str/test/run-STR_MAX_CHARS
core/test/run-console-log
+core/test/run-time-utils
core/test/run-timer
ccan/*/test/gmon.out
core/test/run-device
diff --git a/core/test/Makefile.check b/core/test/Makefile.check
index 452dfc13..56ce61da 100644
--- a/core/test/Makefile.check
+++ b/core/test/Makefile.check
@@ -11,6 +11,7 @@ CORE_TEST := core/test/run-device \
core/test/run-trace core/test/run-msg \
core/test/run-pel \
core/test/run-pool \
+ core/test/run-time-utils \
core/test/run-timer
CORE_TEST_NOSTUB := core/test/run-console-log
diff --git a/core/test/run-time-utils.c b/core/test/run-time-utils.c
new file mode 100644
index 00000000..905390a7
--- /dev/null
+++ b/core/test/run-time-utils.c
@@ -0,0 +1,60 @@
+/* Copyright 2013-2015 IBM Corp.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ * implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <config.h>
+#include <stdlib.h>
+#include <string.h>
+#include <assert.h>
+#include <stdarg.h>
+#include <stdio.h>
+
+#define __TEST__
+
+#include "../time-utils.c"
+
+int main(void)
+{
+ struct tm *t = malloc(sizeof(struct tm));
+ uint32_t *ymd = malloc(sizeof(uint32_t));
+ uint64_t *hms = malloc(sizeof(uint64_t));
+
+ t->tm_year = 1982;
+ t->tm_mon = 0;
+ t->tm_mday = 29;
+ t->tm_hour = 7;
+ t->tm_min = 42;
+ t->tm_sec = 24;
+
+ tm_to_datetime(t, ymd, hms);
+
+ assert(*ymd == 0x19820129);
+ assert(*hms == 0x742240000000000ULL);
+
+ memset(t, 0, sizeof(struct tm));
+
+ *ymd = 0x19760412;
+
+ datetime_to_tm(*ymd, *hms, t);
+ assert(t->tm_year == 1976);
+ assert(t->tm_mon == 03);
+ assert(t->tm_mday == 12);
+ assert(t->tm_hour == 7);
+ assert(t->tm_min == 42);
+ assert(t->tm_sec == 24);
+
+ return 0;
+}
+
OpenPOWER on IntegriCloud