summaryrefslogtreecommitdiffstats
path: root/sbin/gbde/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/gbde/test.sh')
-rw-r--r--sbin/gbde/test.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/sbin/gbde/test.sh b/sbin/gbde/test.sh
new file mode 100644
index 0000000..0fe384d
--- /dev/null
+++ b/sbin/gbde/test.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+# $FreeBSD$
+
+set -e
+
+MD=99
+mdconfig -d -u $MD || true
+
+mdconfig -a -t malloc -s 1m -u $MD
+
+D=/dev/md$MD
+
+./gbde init $D -P foo -L /tmp/_l1
+./gbde setkey $D -p foo -l /tmp/_l1 -P bar -L /tmp/_l1
+./gbde setkey $D -p bar -l /tmp/_l1 -P foo -L /tmp/_l1
+
+./gbde setkey $D -p foo -l /tmp/_l1 -n 2 -P foo2 -L /tmp/_l2
+./gbde setkey $D -p foo2 -l /tmp/_l2 -n 3 -P foo3 -L /tmp/_l3
+./gbde setkey $D -p foo3 -l /tmp/_l3 -n 4 -P foo4 -L /tmp/_l4
+./gbde setkey $D -p foo4 -l /tmp/_l4 -n 1 -P foo1 -L /tmp/_l1
+
+./gbde nuke $D -p foo1 -l /tmp/_l1 -n 4
+if ./gbde nuke $D -p foo4 -l /tmp/_l4 -n 3 ; then false ; fi
+./gbde destroy $D -p foo2 -l /tmp/_l2
+if ./gbde destroy $D -p foo2 -l /tmp/_l2 ; then false ; fi
+
+./gbde nuke $D -p foo1 -l /tmp/_l1 -n -1
+if ./gbde nuke $D -p foo1 -l /tmp/_l1 -n -1 ; then false ; fi
+if ./gbde nuke $D -p foo2 -l /tmp/_l2 -n -1 ; then false ; fi
+if ./gbde nuke $D -p foo3 -l /tmp/_l3 -n -1 ; then false ; fi
+if ./gbde nuke $D -p foo4 -l /tmp/_l4 -n -1 ; then false ; fi
+
+./gbde init $D -P foo
+./gbde setkey $D -p foo -P bar
+./gbde setkey $D -p bar -P foo
+
+./gbde setkey $D -p foo -n 2 -P foo2
+./gbde setkey $D -p foo2 -n 3 -P foo3
+./gbde setkey $D -p foo3 -n 4 -P foo4
+./gbde setkey $D -p foo4 -n 1 -P foo1
+
+mdconfig -d -u $MD || true
+echo "***********"
+echo "Test passed"
+echo "***********"
+exit 0
OpenPOWER on IntegriCloud