aboutsummaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorCyril Bur <cyril.bur@au1.ibm.com>2015-10-14 10:06:31 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-10-14 14:39:15 +1100
commit56f82b7131f26598e9dd8d20ce1dd4a5a599ff7d (patch)
tree3f068eb4e5dbb968a881bf4314239824bd3fc9e7 /external
parent5dcab537f91cd8c66ae2244c6916d32cd92c8723 (diff)
downloadskiboot-56f82b7131f26598e9dd8d20ce1dd4a5a599ff7d.zip
skiboot-56f82b7131f26598e9dd8d20ce1dd4a5a599ff7d.tar.gz
skiboot-56f82b7131f26598e9dd8d20ce1dd4a5a599ff7d.tar.bz2
external/gard/tests: Add tests for the gard tool
Simple tests for the gard tool that can be expanded on over time Signed-off-by: Cyril Bur <cyril.bur@au1.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external')
-rw-r--r--external/gard/Makefile6
-rw-r--r--external/gard/test/Makefile.check16
-rw-r--r--external/gard/test/files/data1.binbin0 -> 20480 bytes
-rwxr-xr-xexternal/gard/test/make-check-test1
-rw-r--r--external/gard/test/results/00-list.err0
-rw-r--r--external/gard/test/results/00-list.out5
-rw-r--r--external/gard/test/results/01-show_1.err0
-rw-r--r--external/gard/test/results/01-show_1.out9
-rw-r--r--external/gard/test/results/02-usage.err18
-rw-r--r--external/gard/test/results/02-usage.out0
-rwxr-xr-xexternal/gard/test/test-gard5
l---------external/gard/test/test.sh1
-rw-r--r--external/gard/test/tests/00-list10
-rw-r--r--external/gard/test/tests/01-show_110
-rw-r--r--external/gard/test/tests/02-usage10
15 files changed, 90 insertions, 1 deletions
diff --git a/external/gard/Makefile b/external/gard/Makefile
index f43be43..2c00dcc 100644
--- a/external/gard/Makefile
+++ b/external/gard/Makefile
@@ -26,12 +26,16 @@ all: $(EXE)
$(EXE): $(OBJS)
$(LINK.o) -o $@ $^
+check: all
+ @ln -sf ../../test/test.sh test/test.sh
+ @test/test-gard
+
install: all
install -D gard $(DESTDIR)$(sbindir)/opal-gard
install -D -m 0644 opal-gard.1 $(DESTDIR)$(mandir)/man1/opal-gard.1
clean:
- rm -f $(OBJS) $(EXE) *.d
+ rm -f $(OBJS) $(EXE) *.d test/test.sh
distclean: clean
diff --git a/external/gard/test/Makefile.check b/external/gard/test/Makefile.check
new file mode 100644
index 0000000..27f1aa0
--- /dev/null
+++ b/external/gard/test/Makefile.check
@@ -0,0 +1,16 @@
+# -*-Makefile-*-
+
+check: check-gard
+
+#Makefile knows to build it before checking
+check-gard:
+ @make CROSS_COMPILE='' -C external/gard/ check
+
+.PHONY: check-gard
+
+clean: gard-test-clean
+
+gard-test-clean:
+ @make -C external/gard clean
+
+.PHONY: gard-test-clean
diff --git a/external/gard/test/files/data1.bin b/external/gard/test/files/data1.bin
new file mode 100644
index 0000000..aa5bf14
--- /dev/null
+++ b/external/gard/test/files/data1.bin
Binary files differ
diff --git a/external/gard/test/make-check-test b/external/gard/test/make-check-test
new file mode 100755
index 0000000..6b9e5db
--- /dev/null
+++ b/external/gard/test/make-check-test
@@ -0,0 +1 @@
+make -C external/gard/ check
diff --git a/external/gard/test/results/00-list.err b/external/gard/test/results/00-list.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/external/gard/test/results/00-list.err
diff --git a/external/gard/test/results/00-list.out b/external/gard/test/results/00-list.out
new file mode 100644
index 0000000..3fd3344
--- /dev/null
+++ b/external/gard/test/results/00-list.out
@@ -0,0 +1,5 @@
+| ID | Error | Type |
++---------------------------------------+
+| 00000001 | 90000015 | physical |
+| 00000002 | 90000016 | physical |
++=======================================+
diff --git a/external/gard/test/results/01-show_1.err b/external/gard/test/results/01-show_1.err
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/external/gard/test/results/01-show_1.err
diff --git a/external/gard/test/results/01-show_1.out b/external/gard/test/results/01-show_1.out
new file mode 100644
index 0000000..4e5726b
--- /dev/null
+++ b/external/gard/test/results/01-show_1.out
@@ -0,0 +1,9 @@
+Record ID: 0x00000001
+========================
+Error ID: 0x90000015
+Error Type: 0xe6
+Res Recovery: 0xff
+Path Type: physical
+>System, Instance #0
+ >Node, Instance #0
+ >Processor, Instance #0
diff --git a/external/gard/test/results/02-usage.err b/external/gard/test/results/02-usage.err
new file mode 100644
index 0000000..2aef39d
--- /dev/null
+++ b/external/gard/test/results/02-usage.err
@@ -0,0 +1,18 @@
+Usage: ./gard [-a -e -f <file> -p] <command> [<args>]
+
+-e --ecc
+ Force reading/writing with ECC bytes.
+
+-f --file <file>
+ Don't search for MTD device, read from <file>.
+
+-p --part
+ Used in conjunction with -f to specifythat just
+ the GUARD partition is in <file> and libffs
+ shouldn't be used.
+
+Where <command> is one of:
+
+ list List current GARD records
+ show Show details of a GARD record
+ clear Clear GARD records
diff --git a/external/gard/test/results/02-usage.out b/external/gard/test/results/02-usage.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/external/gard/test/results/02-usage.out
diff --git a/external/gard/test/test-gard b/external/gard/test/test-gard
new file mode 100755
index 0000000..10da351
--- /dev/null
+++ b/external/gard/test/test-gard
@@ -0,0 +1,5 @@
+#! /bin/sh
+
+. test/test.sh
+
+run_tests "test/tests/*" "test/results"
diff --git a/external/gard/test/test.sh b/external/gard/test/test.sh
new file mode 120000
index 0000000..386568f
--- /dev/null
+++ b/external/gard/test/test.sh
@@ -0,0 +1 @@
+../../test/test.sh \ No newline at end of file
diff --git a/external/gard/test/tests/00-list b/external/gard/test/tests/00-list
new file mode 100644
index 0000000..8e285c4
--- /dev/null
+++ b/external/gard/test/tests/00-list
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+run_binary "./gard" "-p -e -f test/files/data1.bin list"
+if [ "$?" -ne 0 ] ; then
+ fail_test
+fi
+
+diff_with_result
+
+pass_test
diff --git a/external/gard/test/tests/01-show_1 b/external/gard/test/tests/01-show_1
new file mode 100644
index 0000000..66ee732
--- /dev/null
+++ b/external/gard/test/tests/01-show_1
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+run_binary "./gard" "-p -e -f test/files/data1.bin show 1"
+if [ "$?" -ne 0 ] ; then
+ fail_test
+fi
+
+diff_with_result
+
+pass_test
diff --git a/external/gard/test/tests/02-usage b/external/gard/test/tests/02-usage
new file mode 100644
index 0000000..768f5d0
--- /dev/null
+++ b/external/gard/test/tests/02-usage
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+run_binary "./gard"
+if [ "$?" -ne 1 ] ; then
+ fail_test
+fi
+
+diff_with_result
+
+pass_test