From: Sean Whitton Date: Fri, 27 Jul 2018 06:30:13 +0000 (+0800) Subject: test suite: add stubbed test for pbuilder subcommand X-Git-Tag: archive/debian/6.1~4 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=e1d8c5971e9506c4bf8cdba37a1b7e69a494260e test suite: add stubbed test for pbuilder subcommand pbuilder requires root, but we want to be able to test the subcommand outside of autopkgtest too. Signed-off-by: Sean Whitton --- diff --git a/debian/tests/control b/debian/tests/control index 81fdeb73..84806550 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -60,7 +60,7 @@ Tests: trustingpolicy-replay Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc, dput-ng -Tests: absurd-gitapply badcommit-rewrite build-modes checkout clone-clogsigpipe clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite newtag-clone-nogit oldnewtagalt oldtag-clone-nogit orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush sourceonlypolicy tag-updates test-list-uptodate unrepresentable version-opt +Tests: absurd-gitapply badcommit-rewrite build-modes checkout clone-clogsigpipe clone-gitnosuite clone-nogit debpolicy-dbretry debpolicy-newreject debpolicy-quilt-gbp defdistro-rpush defdistro-setup distropatches-reject dpkgsourceignores-correct drs-clone-nogit drs-push-masterupdate drs-push-rejects dsd-clone-nogit dsd-divert fetch-localgitonly fetch-somegit-notlast gbp-orig gitconfig gitworktree import-dsc import-maintmangle import-native import-nonnative import-tarbomb inarchivecopy mismatches-contents mismatches-dscchanges multisuite newtag-clone-nogit oldnewtagalt oldtag-clone-nogit orig-include-exclude orig-include-exclude-chkquery overwrite-chkclog overwrite-junk overwrite-splitbrains overwrite-version pbuilder protocol-compat push-buildproductsdir push-newpackage push-newrepeat push-nextdgit push-source push-source-with-changes quilt quilt-gbp quilt-gbp-build-modes quilt-singlepatch quilt-splitbrains quilt-useremail rpush sourceonlypolicy tag-updates test-list-uptodate unrepresentable version-opt Tests-Directory: tests/tests Depends: dgit, dgit-infrastructure, devscripts, debhelper (>=8), fakeroot, build-essential, chiark-utils-bin, bc diff --git a/tests/pretend-pbuilder b/tests/pretend-pbuilder new file mode 100755 index 00000000..8495a2f7 --- /dev/null +++ b/tests/pretend-pbuilder @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use Getopt::Long; + +my $operation = shift; +die "pbuilder: you should use me only to build, dgit" + unless ($operation eq "build" || $operation eq "b"); + +my $debbuildopts = undef; +my $distribution = undef; +GetOptions('debbuildopts=s' => \$debbuildopts, + 'distribution=s' => \$distribution); + +# ignore user args; last argument has to be the .dsc filename +my $dsc = $ARGV[-1]; +die "pbuilder: last argument has wrong file extension" + unless ($dsc =~ m/^(.*)_.*\.dsc$/); + +system "dpkg-source -x $dsc pbuilder"; +chdir 'pbuilder'; +system <