summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-06-24 15:22:48 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-06-24 15:26:03 +1000
commitb4df9010338021cd2a26641f6294c8baa2f888e1 (patch)
tree46b2c9210718330a557986d55ea27652a11ffda6
parent5e8158245446028d86edf3a166217eda4a78ba47 (diff)
downloadtalos-skiboot-b4df9010338021cd2a26641f6294c8baa2f888e1.tar.gz
talos-skiboot-b4df9010338021cd2a26641f6294c8baa2f888e1.zip
Add unit test for core/time-utils
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-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