[kvm-unit-tests PATCH v1 2/6] s390x: basic self test

David Hildenbrand
2017-05-12T10:58:46Z

Test if the general infrastructure is working. The test will fail until
we have proper sclp console output.

Signed-off-by: David Hildenbrand <david@redhat.com>
---
s390x/Makefile | 2 ++
s390x/selftest.c | 31 +++++++++++++++++++++++++++++++
s390x/unittests.cfg | 5 +++++
3 files changed, 38 insertions(+)
create mode 100644 s390x/selftest.c

diff --git a/s390x/Makefile b/s390x/Makefile
index f9468bb..549c1c0 100644
--- a/s390x/Makefile
+++ b/s390x/Makefile
@@ -1,3 +1,5 @@
+tests = $(TEST_DIR)/selftest.elf
+
all: test_cases

test_cases: $(tests)
diff --git a/s390x/selftest.c b/s390x/selftest.c
new file mode 100644
index 0000000..827ef60
--- /dev/null
+++ b/s390x/selftest.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Red Hat Inc
+ *
+ * Authors:
+ * Thomas Huth <thuth@redhat.com>
+ * David Hildenbrand <david@redhat.com>
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Library General Public License version 2.
+ */
+#include <libcflat.h>
+#include <util.h>
+
+int main(int argc, char**argv)
+{
+ report_prefix_push("selftest");
+
+ if (argc != 3)
+ report_abort("Wrong number of arguments");
+
+ if (strcmp(argv[0], "s390x/selftest.elf") != 0)
+ report_abort("wrong program name");
+ if (strcmp(argv[1], "test") != 0)
+ report_abort("wrong parameter value");
+ if (strcmp(argv[2], "123") != 0)
+ report_abort("wrong parameter value");
+
+ report("test true", true, 0);
+
+ return report_summary();
+}
diff --git a/s390x/unittests.cfg b/s390x/unittests.cfg
index b1e0b1e..92e01ab 100644
--- a/s390x/unittests.cfg
+++ b/s390x/unittests.cfg
@@ -17,3 +17,8 @@
# # to check separated by a space but each check
# # parameter needs to be of the form <path>=<value>
##############################################################################
+
+[selftest-setup]
+file = selftest.elf
+groups = selftest
+extra_params = -append 'test 123'
--
2.9.3