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 ]"
__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)"
+# does not work on stable:
+#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__
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__
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 "Reason.*:"
echo "Exporting database"
wanna-build -A amd64 -b amd64/build-db --export $testdir/export1
echo "Exporting and importing is not idempotent!"
exit 1
fi
+
+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 "Reason.*:"
+
echo "Finished sucessfully"