diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 7 | ||||
-rw-r--r-- | tests/config/unix.exp | 18 | ||||
-rw-r--r-- | tests/lib/libzebra.exp | 0 | ||||
-rw-r--r-- | tests/libzebra.tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/libzebra.tests/tabletest.exp | 9 | ||||
-rw-r--r-- | tests/libzebra.tests/teststream.exp | 28 |
6 files changed, 62 insertions, 2 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 153922b9..93c06b03 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,12 +1,15 @@ AUTOMAKE_OPTIONS = dejagnu export DEJAGNU -DEJATOOL = +DEJATOOL = libzebra -SUBDIRS = bgpd.tests +SUBDIRS = \ + bgpd.tests \ + libzebra.tests EXTRA_DIST = \ config/unix.exp \ lib/bgpd.exp \ + lib/libzebra.exp \ global-conf.exp INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib diff --git a/tests/config/unix.exp b/tests/config/unix.exp index 25ea97f4..b41f072c 100644 --- a/tests/config/unix.exp +++ b/tests/config/unix.exp @@ -20,6 +20,24 @@ if { $i >= 0 } { send_user "IPv6 enabled: $have_ipv6\n" set xfail 0 +proc onesimple { test_name match } { + global verbose + global aborted + global testprefix + if { $aborted > 0 } { + untested "$testprefix$test_name" + return + } + if { $verbose > 0 } { + send_user "$testprefix$test_name$note\n" + } + expect { + "$match" { pass "$testprefix$test_name"; } + eof { fail "$testprefix$test_name"; set aborted 1; } + timeout { unresolved "$testprefix$test_name"; set aborted 1; } + } +} + proc onetest { test_name note start } { global aborted global testprefix diff --git a/tests/lib/libzebra.exp b/tests/lib/libzebra.exp new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/lib/libzebra.exp diff --git a/tests/libzebra.tests/Makefile.am b/tests/libzebra.tests/Makefile.am new file mode 100644 index 00000000..0d29e287 --- /dev/null +++ b/tests/libzebra.tests/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = \ + tabletest.exp diff --git a/tests/libzebra.tests/tabletest.exp b/tests/libzebra.tests/tabletest.exp new file mode 100644 index 00000000..5838d4fc --- /dev/null +++ b/tests/libzebra.tests/tabletest.exp @@ -0,0 +1,9 @@ +set timeout 10 +set testprefix "tabletest " +set aborted 0 + +spawn "./tabletest" + +for {set i 0} {$i < 6} {incr i 1} { onesimple "cmp $i" "Verifying cmp"; } +for {set i 0} {$i < 11} {incr i 1} { onesimple "succ $i" "Verifying successor"; } +onesimple "pause" "Verified pausing" diff --git a/tests/libzebra.tests/teststream.exp b/tests/libzebra.tests/teststream.exp new file mode 100644 index 00000000..ca602e30 --- /dev/null +++ b/tests/libzebra.tests/teststream.exp @@ -0,0 +1,28 @@ +set timeout 10 +spawn "./teststream" + +expect { + "endp: 15, readable: 15, writeable: 1009" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "0xef 0xbe 0xef 0xde 0xad 0xbe 0xef 0xde 0xad 0xbe 0xef 0xde 0xad 0xbe 0xef" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "endp: 15, readable: 15, writeable: 0" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "0xef 0xbe 0xef 0xde 0xad 0xbe 0xef 0xde 0xad 0xbe 0xef 0xde 0xad 0xbe 0xef" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "c: 0xef" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "w: 0xbeef" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "l: 0xdeadbeef" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +expect { + "q: 0xdeadbeefdeadbeef" { } + eof { fail "teststream"; exit; } timeout { fail "teststream"; exit; } } +pass "teststream" |