Bug#817079: autopkgtest: *3* copies for running a test?!

Rene Engelhard rene at debian.org
Tue Mar 8 00:18:59 UTC 2016


Package: autopkgtest
Version: 3.19.3
Severity: important

Hi,

I have the following test:

--- snip ---
Tests: junit-subsequentcheck
Depends: libreoffice, libreoffice-subsequentcheckbase, libreoffice-sdbc-hsqldb, [...]
--- snip --

Then I run

$ adt-run -B -s -d --unbuilt-tree . --timeout-copy=10000 --- null

from the *source package*.

(there's no build needed, as junit-subsequentcheck already does built what it
needs. copy timeout choosen as "randomly big", the default for sure is not
enough for LO. Note this:

(jessie)rene at frodo ..Office/libreoffice/libreoffice-5.1.1.3 % du -hs
3.1G	.
)

So let's see.

adt-run: DBG: Parsed options: Namespace(apt_pocket=[], auto_control=True, copy=[], env=[], gainroot=None, logfile=None, output_dir=None, set_lang=None, setup_commands=[], shell=False, shell_fail=True, summary=None, timeout_build=None, timeout_copy=10000, timeout_factor=1.0, timeout_install=None, timeout_short=None, timeout_test=None, user=None, verbosity=2)
adt-run: DBG: Remaining arguments: ['-B', '--unbuilt-tree', '.']
adt-run: DBG: Interpreted actions: ['--no-built-binaries', '--unbuilt-tree', '.']
adt-run: DBG: Virt runner arguments: ['null']
adt-run: DBG: testbed init
adt-run [00:35:16]: version 3.19.3
adt-run [00:35:16]: host frodo; command line: /usr/bin/adt-run -B -s -d --unbuilt-tree . --timeout-copy=10000 --- null
adt-run: DBG: got reply from testbed: ok
adt-run: DBG: testbed open, scratch=None
adt-run: DBG: sending command to testbed: open
adt-run: DBG: got reply from testbed: ok /tmp/adt-run.c6BSZ8
adt-run: DBG: sending command to testbed: print-execute-command
adt-run: DBG: got reply from testbed: ok env
adt-run: DBG: sending command to testbed: capabilities
adt-run: DBG: got reply from testbed: ok isolation-machine downtmp-host=/tmp/adt-run.c6BSZ8
adt-run: DBG: testbed capabilities: ['isolation-machine', 'downtmp-host=/tmp/adt-run.c6BSZ8']
adt-run: DBG: testbed command ['dpkg', '--print-architecture'], kind short, sout pipe, serr pipe, env []
adt-run: DBG: testbed command exited with code 0
adt-run [00:35:17]: testbed dpkg architecture: amd64
adt-run: DBG: testbed command ['which', 'eatmydata'], kind short, sout pipe, serr pipe, env []
adt-run: DBG: testbed command exited with code 1
adt-run: DBG: testbed command ['which', 'dpkg-query'], kind short, sout pipe, serr pipe, env []
adt-run: DBG: testbed command exited with code 0
adt-run: DBG: testbed command ['sh', '-ec', "dpkg-query --show -f '${Package}\\t${Version}\\n' > /tmp/adt-run.c6BSZ8/testbed-packages"], kind short, sout raw, serr pipe, env []
adt-run: DBG: testbed command exited with code 0
adt-run: DBG: sending command to testbed: copyup /tmp/adt-run.c6BSZ8/testbed-packages /tmp/adt-run.output.4ufg40yp/testbed-packages
adt-run: DBG: got reply from testbed: ok
adt-run: DBG: testbed command ['uname', '-srv'], kind short, sout pipe, serr pipe, env []
adt-run: DBG: testbed command exited with code 0
adt-run [00:35:17]: testbed running kernel: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29)
adt-run: DBG: Binaries: initialising
adt-run [00:35:17]: @@@@@@@@@@@@@@@@@@@@ unbuilt-tree .
adt-run: DBG: blame += .
adt-run: DBG: testbed reset: modified=False, deps_installed=[](r: False), deps_new=[](r: False)
adt-run: DBG: testbed command ['mkdir', '-p', '/tmp/adt-run.c6BSZ8'], kind short, sout raw, serr pipe, env []
adt-run: DBG: testbed command exited with code 0
adt-run: DBG: sending command to testbed: copydown ./ /tmp/adt-run.c6BSZ8/ubtree-./


Here it copies the source tree to /tmp/. OK. I assume ubtree means
"unbuilt tree". #1

adt-run: DBG: got reply from testbed: ok
adt-run: DBG: testbed command ['sh', '-ec', 'exec 3>&1 >&2; set -x; cd /; builddir=$(mktemp -d /tmp/adt-run.c6BSZ8/build.XXX); cd $builddir; cp -rd --preserve=timestamps -- "/tmp/adt-run.c6BSZ8/ubtree-." real-tree; chmod -R a+rX .; cd [a-z0-9]*/.; pwd >&3; sed -n "1 {s/).*//; s/ (/\\n/; p}" debian/changelog >&3; set +e; grep -q "^Restrictions:.*\\bbuild-needed\\b" debian/tests/control 2>/dev/null; echo $? >&3'], kind build, sout pipe, serr raw, env []
+ cd /
+ mktemp -d /tmp/adt-run.c6BSZ8/build.XXX
+ builddir=/tmp/adt-run.c6BSZ8/build.Pdm
+ cd /tmp/adt-run.c6BSZ8/build.Pdm
+ cp -rd --preserve=timestamps -- /tmp/adt-run.c6BSZ8/ubtree-. real-tree

Here it copies the source tree from #1 to _an other_ "real" tree. Why? This is
cp #2.

+ chmod -R a+rX .
+ cd real-tree/.
+ pwd
+ sed -n 1 {s/).*//; s/ (/\n/; p} debian/changelog
+ set +e
+ grep -q ^Restrictions:.*\bbuild-needed\b debian/tests/control
+ echo 1
adt-run: DBG: testbed command exited with code 0
adt-run [00:52:46]: testing package libreoffice version 1:5.1.1~rc3-2
adt-run [00:52:46]: build not needed
adt-run: DBG: sending command to testbed: copyup /tmp/adt-run.c6BSZ8/build.Pdm/real-tree/ /tmp/adt-run.output.4ufg40yp/tests-tree/

What on earth? Another copy? From "real-tree" to "tests-tree"?

adt-run [00:52:46]: testing package libreoffice version 1:5.1.1~rc3-2
adt-run [00:52:46]: build not needed
adt-run: DBG: sending command to testbed: copyup /tmp/adt-run.c6BSZ8/build.Pdm/real-tree/ /tmp/adt-run.output.4ufg40yp/tests-tree/
adt-run: DBG: got reply from testbed: ok
adt-run: DBG: processing dependency libreoffice
[...]

AH, FINALLY.

Copying 3.1GB three times? Especially as there's no build-needed etc.
At least "real-tree" to "test-tree" can be avoided, if you already have a
"ubtree"? And if you have "ubtree" and don't need a build, why copy it over
again? It's not as you run into the dir you started it from.

1 copy to /tmp should be enough here. Takes already enough time and disk.

Or maybe

01:01 < terceiro> if should be probably mounted inside the testbed instead of 
                  copied

Regards,

Rene

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'buildd-unstable'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages autopkgtest depends on:
ii  apt-utils       1.2.5
ii  libdpkg-perl    1.18.4
ii  procps          2:3.3.11-3
ii  python3         3.5.1-2
ii  python3-debian  0.1.27

Versions of packages autopkgtest recommends:
ii  autodep8  0.3

Versions of packages autopkgtest suggests:
pn  lxc          <none>
pn  lxd-client   <none>
ii  qemu-system  1:2.5+dfsg-5
ii  qemu-utils   1:2.5+dfsg-5
pn  schroot      <none>

-- no debconf information



More information about the autopkgtest-devel mailing list