diff --git a/buildtest.sh b/buildtest.sh
index c9dd323..de638f5 100755
--- a/buildtest.sh
+++ b/buildtest.sh
@@ -85,6 +85,7 @@
 	cd "$bdir"
 	../sdist/configure $args
 	make -j5
+	make check
 	make DESTDIR="$TEMP/inst_$cfg" install
 	cd ..
 done
diff --git a/configure.ac b/configure.ac
index 6e59037..582f357 100755
--- a/configure.ac
+++ b/configure.ac
@@ -1619,6 +1619,18 @@
 AC_SUBST(PICFLAGS)
 AC_SUBST(PILDFLAGS)
 
+dnl -------
+dnl DejaGNU
+dnl -------
+if test x"$DEJAGNU" = x
+then
+  DEJAGNU="\$(top_srcdir)/tests/global-conf.exp"
+fi
+RUNTESTDEFAULTFLAGS="-x --tool \$\$tool"
+
+AC_SUBST(DEJAGNU)
+AC_SUBST(RUNTESTDEFAULTFLAGS)
+
 dnl ------------------------------
 dnl set paths for state directory
 dnl ------------------------------
@@ -1691,8 +1703,8 @@
 AC_CONFIG_FILES([Makefile lib/Makefile zebra/Makefile ripd/Makefile 
 	  ripngd/Makefile bgpd/Makefile ospfd/Makefile watchquagga/Makefile
 	  ospf6d/Makefile isisd/Makefile babeld/Makefile vtysh/Makefile
-          doc/Makefile ospfclient/Makefile tests/Makefile m4/Makefile
-          redhat/Makefile
+	  doc/Makefile ospfclient/Makefile tests/Makefile m4/Makefile
+	  redhat/Makefile
 	  pkgsrc/Makefile
 	  redhat/quagga.spec 
 	  lib/version.h
diff --git a/tests/.gitignore b/tests/.gitignore
index 93e886c..8baea0a 100644
--- a/tests/.gitignore
+++ b/tests/.gitignore
@@ -10,6 +10,10 @@
 *.lo
 *.la
 *.libs
+*.bak
+*.log
+*.sum
+*.xml
 .arch-inventory
 .arch-ids
 aspathtest
@@ -27,3 +31,4 @@
 testprivs
 testsig
 teststream
+site.exp
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7bc880b..14f7bef 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,3 +1,14 @@
+AUTOMAKE_OPTIONS    = dejagnu
+export DEJAGNU
+
+SUBDIRS =
+
+EXTRA_DIST = \
+	config/unix.exp \
+	global-conf.exp
+
+DEJATOOL =
+
 INCLUDES = @INCLUDES@ -I.. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_builddir)/lib
 DEFS = @DEFS@ $(LOCAL_OPTS) -DSYSCONFDIR=\"$(sysconfdir)/\"
 
diff --git a/tests/config/unix.exp b/tests/config/unix.exp
new file mode 100644
index 0000000..25ea97f
--- /dev/null
+++ b/tests/config/unix.exp
@@ -0,0 +1,104 @@
+
+# every test should always be run and always return some status.
+# so, if we lose sync with a multi-test program, aborted will be used
+# to flag the remainder of the tests as untested.
+#set aborted 0
+
+# only match with color codes since "failed" / "OK" might otherwise
+# be part of the output...
+#set color 1
+
+set config_h [open "../config.h" "r"]
+set config_h_text [read $config_h]
+close $config_h
+set i [string first "#define HAVE_IPV6" $config_h_text]
+if { $i >= 0 } {
+	set have_ipv6 1
+} else {
+	set have_ipv6 0
+}
+send_user "IPv6 enabled: $have_ipv6\n"
+set xfail 0
+
+proc onetest { test_name note start } {
+	global aborted
+	global testprefix
+	global verbose
+	global color
+	global xfail
+
+	if { $aborted > 0 } {
+		untested "$testprefix$test_name"
+		return
+	}
+
+	if { $verbose > 0 } {
+		send_user "$testprefix$test_name$note\n"
+	}
+	expect {
+		"$start"	{ }
+
+		eof	{ unresolved "$testprefix$test_name"; set aborted 1; }
+		timeout	{ unresolved "$testprefix$test_name"; set aborted 1; }
+	}
+
+	if { $aborted > 0 } {
+		send_user "sync failed: $testprefix$test_name$note -- $testprefix aborted!\n"
+		return
+	}
+
+	if { $color } {
+		set pat "(32mOK|31mfailed)"
+	} else {
+		set pat "(OK|failed)"
+	}
+	expect {
+		# need this because otherwise expect will skip over a "failed" and
+		# grab the next "OK" (or the other way around)
+		-re "$pat"  {
+			if { "$expect_out(0,string)" == "32mOK" || "$expect_out(0,string)" == "OK" } {
+				pass "$testprefix$test_name"
+			} else {
+				if { $xfail } {
+					xfail "$testprefix$test_name"
+				} else {
+					fail "$testprefix$test_name"
+				}
+			}
+			return
+		}
+
+		eof	{ unresolved "$testprefix$test_name"; set aborted 1; }
+		timeout	{ unresolved "$testprefix$test_name"; set aborted 1; }
+	}
+
+	if { $aborted > 0 } {
+		send_user "failed: $testprefix$test_name$note -- $testprefix aborted!\n"
+		return
+	}
+}
+
+proc headerline { line } {
+	global aborted
+	if { $aborted > 0 } { return; }
+	expect {
+		$line	{ return; }
+		eof	{ send_user "numbering mismatch!\n"; set aborted 1; }
+		timeout	{ send_user "numbering mismatch!\n"; set aborted 1; }
+	}
+}
+
+proc simpletest { start } {
+	onetest "$start" "" "$start"
+}
+
+proc simpletest_nov6 { start } {
+	global have_ipv6
+	global xfail
+
+	set xfail [expr 1-$have_ipv6]
+	onetest "$start" "" "$start"
+	set xfail 0
+}
+
+
diff --git a/tests/global-conf.exp b/tests/global-conf.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/global-conf.exp
