]> pd.if.org Git - zpackage/blobdiff - t/extract.t
add extract test file
[zpackage] / t / extract.t
diff --git a/t/extract.t b/t/extract.t
new file mode 100755 (executable)
index 0000000..b631006
--- /dev/null
@@ -0,0 +1,88 @@
+#!/bin/sh
+
+# test addfile
+
+tn=0
+planned=0
+
+shownote() {
+       if [ "$note" != "" ]; then
+               printf '# %s\n' "$note"
+       fi
+}
+
+okexit() {
+       exitwith 0 "$*"
+}
+
+failsok() {
+       note=
+       if [ $? -eq 0 ]; then
+               printf 'not ';
+               note=$(printf '# got "%d" expected "%d"' "$1" "0")
+       fi
+       tn=$((tn + 1))
+       printf 'ok %d - %s\n' $tn "$*"
+       shownote
+}
+
+exitwith() {
+       note=
+       if [ $? -ne $1 ]; then
+               printf 'not ';
+               note=$(printf '# got "%d" expected "%d"' "$1" "$2")
+       fi
+       shift
+       tn=$((tn + 1))
+       printf 'ok %d - %s\n' $tn "$*"
+       shownote
+}
+
+okstreq() {
+       note=
+       if [ "$1" != "$2" ]; then
+               printf 'not ';
+               note=$(printf 'got "%s" expected "%s"' "$1" "$2")
+       fi
+
+       shift;shift;
+       tn=$((tn + 1))
+       printf 'ok %d - %s\n' $tn "$*"
+       shownote
+}
+
+plan() {
+       planned=$1
+       printf '1..%d\n' $planned
+}
+
+finish() {
+       if [ $planned -eq 0 ]; then
+               printf '1..%d\n' $tn
+       fi
+}
+
+plan 4
+
+PF=test.db
+
+rm -f $PF test.foo
+echo foo > test.foo
+
+hash=$(./zpm-addfile $PF test.foo 2>> test.out)
+save=$?
+
+okexit add foo file content
+okstreq $hash b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c foo hash contents
+
+rm -f foo
+
+./zpm-extract $PF $hash foo
+okexit  extract foo file content
+
+sha=$(sha256sum foo)
+okstreq $hash $sha extracted hash matches
+
+finish
+
+#rm -f $PF test.empty