]> git.donarmstrong.com Git - wannabuild.git/blobdiff - tests/tests.sh
[tests] assert_grep_not function
[wannabuild.git] / tests / tests.sh
index a20da905f9d885444402203cd581cbed8de1778b..d6da8842f1e756fbe6ce841743c644b8502dc28a 100755 (executable)
@@ -36,6 +36,18 @@ function assert_grep {
        fi
 }
 
+function assert_grep_not {
+       cat > $testdir/assert_grep
+       if grep -q "$1" $testdir/assert_grep 
+       then
+         echo "Could find unexpected \"$1\" in:"
+         cat $testdir/assert_grep
+         # We are in a pipe, i.e. a subshell, so kill the parent 
+         kill -TERM $parent_pid
+         exit 1
+       fi
+}
+
 cd "$(dirname $0)"/..
 
 assert "[ -e bin/wanna-build ]"
@@ -221,4 +233,18 @@ wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/qu
 
 wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep "State.*:.*Needs-Build"
 
+echo "Exporting database"
+wanna-build -A amd64 -b amd64/build-db --export $testdir/export1
+
+echo "Importing database"
+wanna-build -A amd64 -b amd64/build-db --import $testdir/export1
+
+echo "Exporting database again"
+wanna-build -A amd64 -b amd64/build-db --export $testdir/export2
+
+if ! diff -q $testdir/export1 $testdir/export2
+then
+       echo "Exporting and importing is not idempotent!"
+       exit 1
+fi
 echo "Finished sucessfully"