From 2e690698fef46656959d76b7d69b7162b734a96d Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Sun, 25 Sep 2016 03:38:56 -0500 Subject: [PATCH] add extract test file --- Makefile | 5 +-- t/extract.t | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 2 deletions(-) create mode 100755 t/extract.t diff --git a/Makefile b/Makefile index 7ed73d3..26e1a17 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,9 @@ lzma.c: mklzma lzma.o: lzma.c gcc -std=c99 -Wall -c -o $@ $< -test: zpm-addfile - prove -e'' t/*.t + +test: zpm-addfile zpm-extract + prove -e '' t/*.t programs: elftype soname zpm-addfile zpm-extract diff --git a/t/extract.t b/t/extract.t new file mode 100755 index 0000000..b631006 --- /dev/null +++ b/t/extract.t @@ -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 -- 2.40.0