\$quinn_source = "$testdir/quinn-diff-output";
\$quinn_source_multi_section = 0;
@admin_users = qw(wbadm $USER);
+\$mailprog = "/bin/true";
%distributions = (
"unstable" => { },
);
function wanna-build {
# Here we make sure that the "require /etc/wanan-build.conf" does not
# have effect, and load our own file instead.
- echo "Executing wanna-build" "$@" >&2
+ #echo "Executing wanna-build" "$@" >&2
export PERL5LIB=/home/jojo/debian/wanna-build/testsetup/bin
perl -e '
package conf;
wanna-build -A amd64 -b amd64/build-db --create-db --info no-package-1.2.3
echo Load some sources
-wanna-build -A amd64 -b amd64/build-db --merge-all <(cat <<__END__
+
+cat > $testdir/Packages <<__END__
Package: bin-a-indep
Version: 1
Architecture: all
Source: src-a
__END__
-) <( cat <<__END__
+cat > $testdir/quinn-diff <<__END__
misc/src-a_1.dsc [optional:uncompiled]
__END__
-) <( cat <<__END__
+cat > $testdir/Sources <<__END__
Package: src-a
Version: 1
Architecture: any
Section: misc
Priority: standard
-Build-Depends: compiler
Binary: bin-a-indep,bin-a-1
__END__
-)
+wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/quinn-diff $testdir/Sources
# Test that they exist are in state Needs-Build
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 ' State.*: Uploaded'
echo Load the binaries for the sources
-wanna-build -A amd64 -b amd64/build-db --merge-all <(cat <<__END__
+cat > $testdir/Packages <<__END__
Package: bin-a-indep
Version: 1
Architecture: all
Architecture: amd64
Source: src-a
__END__
-) <( cat <<__END__
+cat > $testdir/quinn-diff <<__END__
__END__
-) <( cat <<__END__
+cat > $testdir/Sources <<__END__
Package: src-a
Version: 1
Architecture: any
Section: misc
Priority: standard
-Build-Depends: compiler
Binary: bin-a-indep,bin-a-1
__END__
-)
+wanna-build -A amd64 -b amd64/build-db --merge-all $testdir/Packages $testdir/quinn-diff $testdir/Sources
# Test that they exist are in state Needs-Build
wanna-build -A amd64 -b amd64/build-db --info src-a | assert_grep ' State .*: Installed'
echo Upload another source that needs bin-a-1 in Version 2
-wanna-build -A amd64 -b amd64/build-db --merge-all <(cat <<__END__
+cat > $testdir/Packages <<__END__
Package: bin-a-indep
Version: 1
Architecture: all
Architecture: amd64
Source: src-a
__END__
-) <( cat <<__END__
+cat > $testdir/quinn-diff <<__END__
misc/src-b_1.dsc [optional:uncompiled]
__END__
-) <( cat <<__END__
+cat > $testdir/Sources <<__END__
Package: src-a
Version: 1
Architecture: any
Section: misc
Priority: standard
-Build-Depends: compiler
Binary: bin-a-indep,bin-a-1
Package: src-b
Build-Depends: bin-a-1 (>= 2)
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 "bin-a-1 (>= 2)"
echo Uploading the new source with an updated binary package
-wanna-build -A amd64 -b amd64/build-db --merge-all <(cat <<__END__
+cat > $testdir/Packages <<__END__
Package: bin-a-indep
Version: 2
Architecture: all
Architecture: amd64
Source: src-a
__END__
-) <( cat <<__END__
+cat > $testdir/quinn-diff <<__END__
misc/src-a_1.dsc [optional:uncompiled]
misc/src-b_1.dsc [optional:uncompiled]
__END__
-) <( cat <<__END__
+cat > $testdir/Sources <<__END__
Package: src-a
-Version: 1
+Version: 2
Architecture: any
Section: misc
Priority: standard
-Build-Depends: compiler
-Binary: bin-a-indep,bin-a-1,bin-a-2
+Binary: bin-a-indep,bin-a-1
Package: src-b
Version: 1
Build-Depends: bin-a-1 (>= 2)
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"
+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"