#!/bin/bash # testsuite to test pbuilder-satisfydepends-funcs. if [ -n "$PBUILDER_CHECKOUT" ]; then . "$PBUILDER_CHECKOUT/testlib.sh" . "$PBUILDER_CHECKOUT/pbuilder-satisfydepends-funcs" else # these currently don't need to be exported PBUILDER_TEST_ROOT="${PBUILDER_ROOT:-}" PBUILDER_TEST_PKGLIBDIR="${PBUILDER_PKGLIBDIR:-$PBUILDER_ROOT/usr/lib/pbuilder}" . "$PBUILDER_TEST_PKGLIBDIR/testlib.sh" . "$PBUILDER_TEST_PKGLIBDIR/pbuilder-satisfydepends-funcs" fi DEBIAN_CONTROL="" cleanup() { if [ -n "$DEBIAN_CONTROL" ]; then rm -f "$DEBIAN_CONTROL" fi } test_get_build_deps() { local BINARY_ARCH BINARY_ARCH="$1" cat <"$DEBIAN_CONTROL" Source: amule XXXX: Build-Depends: autotools-dev ( >= 1.2 ) , debhelper , quilt(<<12:0), ## libwxgtk2.8-dev Build-Depends-Indep: test [ amd64 i386 ], test1, test2[!i386 ! amd64], test3 | test4, test5 Misc: test Build-Depends: wrong build depends, line Description: test other things wow EOF get_build_deps } test_get_build_deps_dsc() { cat <"$DEBIAN_CONTROL" -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.0 Source: hello-debhelper Build-Depends: debhelper (>= 7) Checksums-Sha1: fcbf0264928900adf03a7797474375e1a6fa3836 499638 hello-debhelper_2.4.orig.tar.gz 0ea70eb46b4c90a8dbefbe60bebe4b9f9abb2733 5308 hello-debhelper_2.4-3.diff.gz -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQEcBAEBCAAGBQJKml74AAoJEEHOfwufG4sysC4H/26EikyIgIqRuSXMiykc1hmd 97id9nWl+QzgCpUEg/+uDqEW+Bl6291FstGvzTFCwmB5JjH9ErH1LsyG1OLXbFUb H89Em7qkl4o2ACTh255oM7FhVweof3UEaLCZMH+HZVVpHXNpEnhrfDvpTBbPGjUi -----END PGP SIGNATURE----- EOF get_build_deps } test_get_source_control_field_with_comments() { cat <"$DEBIAN_CONTROL" # This is a comment # So is this, but with a blank line above me Format: 1.0 Source: something-funny Build-Depends: debhelper, something-else EOF get_source_control_field "Source" } trap cleanup sigpipe sighup exit # TODO move to build dir DEBIAN_CONTROL="$(tempfile)" expect_output "autotools-dev (>= 1.2), debhelper, quilt (<< 12:0), libwxgtk2.8-dev, test [amd64 i386], test1, test2 [!i386 !amd64], test3 | test4, test5" \ test_get_build_deps "no" expect_output "autotools-dev (>= 1.2), debhelper, quilt (<< 12:0), libwxgtk2.8-dev" \ test_get_build_deps "yes" expect_fail checkbuilddep_archdeps "foo [amd64]" "amd64" expect_success checkbuilddep_archdeps "foo [i386]" "amd64" expect_fail checkbuilddep_archdeps "foo [i386 amd64]" "amd64" expect_success checkbuilddep_archdeps "foo [!amd64]" "amd64" expect_success checkbuilddep_archdeps "foo [!i386 !amd64]" "amd64" test_filter_arch_deps() { echo "$1" | filter_arch_deps "$2" } expect_output "foo" test_filter_arch_deps "foo" "amd64" expect_output "foo" test_filter_arch_deps "foo [amd64]" "amd64" expect_output "bar, foo" test_filter_arch_deps "bar, foo [amd64]" "amd64" expect_output "bar | foo" test_filter_arch_deps "bar | foo [amd64]" "amd64" expect_output "bar" test_filter_arch_deps "bar | foo [amd64]" "i386" expect_fail checkbuilddep_restrictiondeps "foo " "" expect_success checkbuilddep_restrictiondeps "foo " "stage1" expect_fail checkbuilddep_restrictiondeps "foo " "notest" expect_success checkbuilddep_restrictiondeps "foo " "stage1 notest" expect_success checkbuilddep_restrictiondeps "foo " "" expect_fail checkbuilddep_restrictiondeps "foo " "stage1" expect_success checkbuilddep_restrictiondeps "foo " "notest" expect_fail checkbuilddep_restrictiondeps "foo " "stage1 notest" expect_fail checkbuilddep_restrictiondeps "foo " "" expect_success checkbuilddep_restrictiondeps "foo " "stage1" expect_success checkbuilddep_restrictiondeps "foo " "notest" expect_success checkbuilddep_restrictiondeps "foo " "stage1 notest" expect_success checkbuilddep_restrictiondeps "foo " "" expect_success checkbuilddep_restrictiondeps "foo " "stage1" expect_success checkbuilddep_restrictiondeps "foo " "notest" expect_fail checkbuilddep_restrictiondeps "foo " "stage1 notest" expect_success checkbuilddep_restrictiondeps "foo " "" expect_success checkbuilddep_restrictiondeps "foo " "stage1" expect_fail checkbuilddep_restrictiondeps "foo " "notest" expect_success checkbuilddep_restrictiondeps "foo " "stage1 notest" expect_success checkbuilddep_restrictiondeps "foo " "" expect_fail checkbuilddep_restrictiondeps "foo " "stage1" expect_success checkbuilddep_restrictiondeps "foo " "notest" expect_success checkbuilddep_restrictiondeps "foo " "stage1 notest" test_filter_restriction_deps() { echo "$1" | filter_restriction_deps "$2" } expect_output "foo" test_filter_restriction_deps "foo " "" expect_output "" test_filter_restriction_deps "foo " "stage1" expect_output "foo" test_filter_restriction_deps "foo " "stage1" expect_output "bar, foo" test_filter_restriction_deps "bar, foo " "stage1" expect_output "bar | foo" test_filter_restriction_deps "bar | foo " "stage1" expect_output "bar" test_filter_restriction_deps "bar | foo " "stage1" test_filter_arch_restriction_deps() { echo "$1" | filter_arch_deps "$2" | filter_restriction_deps "$3" } expect_output "foo" test_filter_arch_restriction_deps "foo [amd64] " "amd64" "" expect_output "" test_filter_arch_restriction_deps "foo [amd64] " "amd64" "" expect_output "foo" test_filter_arch_restriction_deps "foo [amd64] " "amd64" "" expect_output "" test_filter_arch_restriction_deps "foo [i386] " "amd64" "stage1" expect_output "debhelper (>= 7)" test_get_build_deps_dsc expect_output "something-funny" test_get_source_control_field_with_comments testlib_summary