tests: add a test program for lib/command.c

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/tests/libzebra.tests/Makefile.am b/tests/libzebra.tests/Makefile.am
index 14138a0..a1ffea3 100644
--- a/tests/libzebra.tests/Makefile.am
+++ b/tests/libzebra.tests/Makefile.am
@@ -1,3 +1,4 @@
 EXTRA_DIST = \
 	tabletest.exp \
+	testcommands.exp \
 	testnexthopiter.exp
diff --git a/tests/libzebra.tests/testcommands.exp b/tests/libzebra.tests/testcommands.exp
new file mode 100644
index 0000000..f760c6d
--- /dev/null
+++ b/tests/libzebra.tests/testcommands.exp
@@ -0,0 +1,23 @@
+set timeout 30
+set test_name "testcommands"
+
+spawn sh -c "./testcommands -e 0 < testcommands.in | diff -au - testcommands.out"
+
+expect {
+	eof {
+	}
+	timeout {
+		exp_close
+		fail "$test_name: timeout"
+	}
+}
+
+catch wait result
+set os_error    [lindex $result 2]
+set exit_status [lindex $result 3]
+
+if { $os_error == 0 && $exit_status == 0 } {
+	pass "$test_name"
+} else {
+	fail "$test_name"
+}