X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=tests%2Ftests.sh;h=76597eb6d621ab0215d2d21ef5e5c53b6a449cf7;hb=ecdd3ec8d7247cb92defb0f071114eb295611196;hp=b22cd02480d73d79635c3461bbd069c956e33876;hpb=c58928dd878855594f520f129e0182ae83bd1a77;p=wannabuild.git diff --git a/tests/tests.sh b/tests/tests.sh index b22cd02..76597eb 100755 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -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 ]" @@ -184,6 +196,8 @@ __END__ wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/quinn-diff $testdir/Sources wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep "bin-a-1 (>= 2)" +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State .*: BD-Uninstallable" +wanna-build -A amd64 -b amd64/build-db --list bd-uninstallable | assert_grep "src-b" echo Uploading the new source with an updated binary package cat > $testdir/Packages <<__END__ @@ -198,7 +212,6 @@ Architecture: amd64 Source: src-a __END__ cat > $testdir/quinn-diff <<__END__ -misc/src-a_1.dsc [optional:uncompiled] misc/src-b_1.dsc [optional:uncompiled] __END__ cat > $testdir/Sources <<__END__ @@ -219,7 +232,8 @@ Binary: bin-b __END__ wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/quinn-diff $testdir/Sources -wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep "State.*:.*Needs-Build" +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State.*:.*Needs-Build" +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep_not "BD-Problem.*:" echo "Exporting database" wanna-build -A amd64 -b amd64/build-db --export $testdir/export1 @@ -235,4 +249,52 @@ then echo "Exporting and importing is not idempotent!" exit 1 fi + +echo "Marking package as failed, with newlines in the argument" +wanna-build -A amd64 -b amd64/build-db -m "$(echo -e "Package failed\nTo Build\n\nBadly\n \nOuch")" --failed src-b_1 +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State.*:.*Failed" + +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 "Giving back failed package" +wanna-build -A amd64 -b amd64/build-db -o --give-back src-b_1 + +echo "Giving back package agian to clear BD-Uninstallable" +wanna-build -A amd64 -b amd64/build-db -o --give-back src-b_1 + +echo "Taking the build" +wanna-build -A amd64 -b amd64/build-db --take src-b_1 +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State.*:.*Building" +echo "Giving back the build" +wanna-build -A amd64 -b amd64/build-db --give-back src-b_1 +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State .*: BD-Uninstallable" + +echo "Running --merge-all with no changes" +wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/quinn-diff $testdir/Sources +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep " State.*:.*Needs-Build" +wanna-build -A amd64 -b amd64/build-db --info src-b | assert_grep_not "BD-Problem.*:" + +echo "Doing a binNMU" +wanna-build -A amd64 -b amd64/build-db -m 'binNMU-Test' --binNMU 1 src-a_2 +wanna-build -A amd64 -b amd64/build-db --info src-a | assert_grep " State.*:.*BD-Uninstallable" +wanna-build -A amd64 -b amd64/build-db --info src-a | assert_grep "BD-Problem.*:" + +echo "Running --merge-all with no changes" +wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/quinn-diff $testdir/Sources +wanna-build -A amd64 -b amd64/build-db --info src-a | assert_grep " State.*:.*Needs-Build" +wanna-build -A amd64 -b amd64/build-db --info src-a | assert_grep "Binary-NMU-Version.*1" + echo "Finished sucessfully"