[Bug 1175557] Re: adt-run fulfills dependencies with --built-tree contrary to the manpage
Martin Pitt
martin.pitt at ubuntu.com
Tue Jan 28 15:51:47 UTC 2014
I'm trying to understand how these arguments actually work, keeping my
notes here. Probably not interesting to anyone else, but maybe for me
for future reference.
unbuilt-tree
------------
--unbuilt-tree . --binary ../testpkg_1_all.deb → "build needed for binaries", builds package, installs adt built deb, ignores provided deb
-B .// ../testpkg_1_all.deb → no package build/build deps, fails to find testpkg
--binary ../testpkg_1_all.deb --unbuilt-tree . → build deps, builds package, installs built pkg, NOT given --binary
-B --binary ../testpkg_1_all.deb --unbuilt-tree . → no build, installs local testpkg
→ uses binaries built from the source by default (change with -B)
→ binaries for tests must come before source arg
source
------
../testpkg_1_all.deb ../testpkg_1.dsc → builds package, installs adt built deb
-B ../testpkg_1_all.deb ../testpkg_1.dsc → no build, installs provided deb
-B ../testpkg_1.dsc ../testpkg_1_all.deb → does not find testpkg.deb
→ equivalent to --unbuilt-tree, just with a .dsc
built-tree
----------
../testpkg_1_all.deb ./ → no build, installs local testpkg, pass
→ no binaries built from the source by default
→ binaries for tests must come before source arg
--source/--unbuilt-tree that get built, and --binary arguments cumulate
debs via binaries.register(), and binaries.publish() then enables those.
Thus --binary has to come before the source argument that has the tests
to work, and specifying --binary with a built source makes no sense
unless -B is being used.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to autopkgtest in Ubuntu.
https://bugs.launchpad.net/bugs/1175557
Title:
adt-run fulfills dependencies with --built-tree contrary to the
manpage
Status in “autopkgtest” package in Ubuntu:
New
Bug description:
adt-run(1) says:
--built-tree directory
Specifies that tests from the built source tree directory should
be run. Note that the packages that would normally be installed
as a result of @ in the tests' Depends field (which includes the
case where the Depends field is not specified) are not
installed. The caller must explicitly instruct adt-run to
install any relevant packages.
On the other hand, when I run:
adt-run --built-tree facter-1.6.10 --- adt-virt-schroot saucy-
amd64
then it fulfils the facter test dependency from the archive. I
expected it not to fulfil the dependency and thus for my test to fail.
This is a problem for me because I am trying to test my new dep8 test
for facter to prevent a recurrence of bug 1173265. In order to test my
test, I'm trying to run my new test against a locally rebuilt deb of
facter 1.6.9-2ubuntu1 to verify that it correctly detects the failure
case. So I ran:
adt-run --binaries-fortests=install --binary
facter_1.6.9-2ubuntu1_all.deb --built-tree facter-1.6.10 --- adt-virt-
schroot saucy-amd64
(facter_1.6.9-2ubuntu1_all.deb is my locally rebuilt version, and
factor-1.6.10 is a directory that contains my newest yet-to-upload
merge of facter that includes a new smoke test)
I expected this to fulfill the facter dependency in my test from the
deb, rather than from the archive. But adt-run appeared to ignore this
and fulfill it from the archive instead, causing the test run to pass,
instead of running it from my local .deb and causing the test to fail.
I'm not sure if I'm calling adt-run correctly here, but I am confused
by the documentation. So I reduced the problem and found behaviour
that directly contracts the manpage, as above.
This bug is for the first case, where --built-tree fulfils
dependencies in direct contradiction of the documentation.
ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: autopkgtest 2.2.3ubuntu4
ProcVersionSignature: User Name 3.8.0-19.29-generic 3.8.8
Uname: Linux 3.8.0-19-generic x86_64
ApportVersion: 2.9.2-0ubuntu8
Architecture: amd64
Date: Thu May 2 11:04:13 2013
Ec2AMI: ami-000002a8
Ec2AMIManifest: FIXME
Ec2AvailabilityZone: nova
Ec2InstanceType: m1.small
Ec2Kernel: unavailable
Ec2Ramdisk: unavailable
MarkForUpload: True
PackageArchitecture: all
ProcEnviron:
TERM=screen
LC_COLLATE=C
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: autopkgtest
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/1175557/+subscriptions
More information about the foundations-bugs
mailing list