autopkgtest 3.18.1~ubuntu14.04.1 source package in Ubuntu

Changelog

autopkgtest (3.18.1~ubuntu14.04.1) trusty-backports; urgency=medium

  * No-change backport to trusty

autopkgtest (3.18.1) unstable; urgency=medium

  * With --apt-pocket=POCKET=pkgname,... also include <release>-updates.
  * cloud-vm-setup, adt-setup-vm: Disable /etc/cron.daily/apt.
  * Detect if apt fails to download packages (as opposed to installing them),
    retry up to three times, and eventually fail with exit code 16. This
    avoids failing tests due to DNS/infrastructure problems and handling them
    as tmpfails instead.
  * Add test case for multiple Tests: with --apt-pocket=proposed=pkg
    selection and nonexisting dependency.
  * Properly keep track of apt pinnings across testbed resets.
  * cloud-vm-setup, adt-setup-vm: Purge open-iscsi.
  * Treat apt errors (exit code 100) from source download/extraction as
    tmpfail.
  * ssh-setup/nova: Stop adding apt sources for restricted/multiverse, as
    current images now have them by default (see LP #1177432). This avoids
    duplicate apt sources which cause stderr failure with some tests.
  * Recognize negative architecture restrictions in test Depends:.
    (LP: #1516959)
  * tools/adt-buildvm-ubuntu-cloud: Counter-hack LP #1510345 harder by
    checking /proc/cmdline instead of /etc/default/grub.

autopkgtest (3.18) unstable; urgency=medium

  Behaviour changes/improvements:
  * adt-virt-lxc: Drop --eatmydata option. Conceptually this isn't specific to
    the LXC runner, it should always be used for package installation (when
    available) with all runners, but never for tests.
  * setup-commands/cloud-vm-setup, tools/adt-setup-vm: Install and use
    eatmydata.
  * Use eatmydata for --apt-upgrade and installing test dependencies, if
    available.
  * ssh-setup/nova: Provide custom implementation of "wait-reboot" using "nova
    reboot --poll". This works more reliably on some clouds.
  * ssh-setup/nova: Call "nova boot" with --debug to better be able to
    diagnose failures.
  * Extend --apt-pocket=POCKET option to accept an additional
    "=pkgname1,src:srcname1,..." package list. An entry "src:srcname" expands
    to all binary packages built by that source. If given, set up apt pinning
    to use only those packages from POCKET, so that package updates in that
    pocket can be tested independently from each other for better isolation.
    (LP: #1503150)
  * Add ssh-setup/maas: Acquire and Deploy a machine via MAAS to use as an
    autopkgtest testbed. It assumes that MaaS is already set up, machines are
    commissioned to it, and you added your ssh key to it.

  Bug fixes:
  * ssh-setup/nova: Drop "Warning: PoC", we've been using this in production
    for a long time.
  * tools/adt-setup-vm: Check if we already have a configuration for the
    specific network interface that we are configuring, not just any
    interface.
  * tools/adt-buildvm-ubuntu-cloud: Counter-hack the Ubuntu livecd-rootfs
    workaround for LP #1510345 by creating a configuration for ens3 and
    removing the one for eth0.

autopkgtest (3.17.4) unstable; urgency=medium

  * Fix --apt-pocket for apt sources with [options].
  * Add tests/testarchive.py module for creating dynamic archives of mock
    debs, and add a full integration test for --apt-pocket.
  * Fix version in adt-run output (@version@ moved to adt_testbed.py).
  * adt-setup-vm, cloud-vm-setup: Purge lxc/lxd.
  * tests/testdesc: Skip Debian.test_builddeps_profiles test if dpkg is too
    old to support build profiles.

autopkgtest (3.17.3) unstable; urgency=medium

  * Set DEB_BUILD_OPTIONS=parallel=<#cpu> for builds and tests (as they
    sometimes build packages). (LP: #1399177)
  * If copying up files/artifacts through shared dir fails because of
    inaccessible files, fall back to piping them through the auxverb.
  * adt-build-lxc: Install dbus; a lot of software indirectly expects it
    (e. g. calling systemctl as user).
  * tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge
    libcpan-changes-perl, it breaks some Perl autopkgtests.
  * tools/adt-setup-vm, setup-commands/cloud-vm-setup: Purge git, it breaks
    Ruby's autopkgtests.
  * NullRunner.test_tmp_install: Explicitly require Json 1.0 GI version, to
    silence warning with current pygobject.

autopkgtest (3.17.2) unstable; urgency=medium

  * ssh-setup/nova: Use instance UUIDs instead of names after initial "nova
    boot", to avoid name collisions. (LP: #1495788)
  * adt-setup-vm: Drop "pin eth0 name" hack, this was fixed properly in
    systemd 226-2.
  * adt-setup-vm: Generalize ethernet ifupdown setup for net.ifnames.
  * adt_binaries.py: Fix resetting of testbed (regression in 3.17).

autopkgtest (3.17.1) unstable; urgency=medium

  * Add new private python modules to Makefile, to actually ship them.
  * tests/adt-run: Fix test regression when $ADT_TEST* are not set.

autopkgtest (3.17) unstable; urgency=medium

  * setup-commands/cloud-vm-setup: Provide fallback for Ubuntu 12.04 which
    does not yet have /etc/default/grub.cfg.d/.
  * adt-virt-ssh: Add --timeout-ssh option. Thanks Leo Arias for the initial
    patch. (LP: #1488358)
  * adt-run: Add --env option to pass arbitrary environment variables to the
    test.
  * adt-virt-lxc: In the auxverb, clean up leaked background processes which
    share the same stdout/stderr, to avoid eternal hangs. (LP: #1488359)
  * Move Testbed class and related logic into separate module
    lib/adt_testbed.py, and clean up some unnecessary code interdependencies
    and error handling. This will make it easier to write alternative CLI
    frontents. This also handles test timeouts in a better way: There now is a
    proper "summary" report as "FAIL timed out", and subsequent tests will now
    run. (Closes: #741322)
  * Drop the --leave-lang option. Please use the explicit option --set-lang
    instead, to avoid weakly defined behaviour.
  * Move Binaries class into separate module lib/adt_binaries.py.
  * Testbed.execute(): Explicitly decode output of programs as UTF-8, instead
    of relying on the host locale's encoding.
  * tools/adt-setup-vm: Only configure eth0 in ifupdown if it actually exists,
    and then make sure it does not get renamed any more.
  * Add @builddeps@ build profile parsing fallback for libdpkg-perl < 1.04;
    just ignore all build profiles.
  * ssh-setup/nova: Add workaroud for cloud-init bug writing a wrong
    /etc/hosts. (LP #1494678)
  * adt-run: Log running kernel after each boot. (part of LP #1491865)
  * Track initial kernel version after test bed setup and when a test/reboot
    changes the running kernel version. Log these, and create a new
    "testinfo.json" in the output dir with this information. (LP: #1491865)
  * If --env options are specified, add these as list of name=value strings as
    "custom_environment" key to testinfo.json.
  * Put vserver arguments into testinfo.json.

autopkgtest (3.16.3) unstable; urgency=medium

  * adt-setup-vm: Use /etc/cloud.cfg.d/ to avoid conffile prompts on upgrades.
    (LP: #1477626)
  * Don't invoke QEMU with -localtime. QEMU defaults to and Linux prefers the
    hw clock in UTC. This avoids large time jumps when doing NTP.
  * adt-setup-vm: Start autopkgtest shell after all other SysV init
    scripts/facilities, to avoid a too early start of tests while boot is
    still in progress.
  * doc/README.package-tests.rst: Use comma separator in examples.
  * VirtSubproc.check_exec(): Actually error out on stderr as documented.
  * adt-virt-ssh: Verify that sudo does not write errors, as that
    interferes with auxverbs and generally is a sign of host mis-configuration
    (typically wrong hostname).
  * ssh-setup-nova: Set hostname to "adt". This avoids overly long host names
    from defaulting to nova instance names (which can be very long).
  * ssh-setup/nova: Fix parsing of IP address from "nova show" to avoid
    tripping over instance names containing "network". (LP: #1481574)
  * Fix error message and code for "invalid test depends" errors.
  * tests/pep8: Ignore E402 ("module level import not at top of file"), as
    that's impossible to satisfy; we have to set sys.path before.
  * ssh-setup/nova: In cleanup(), wait until the instance gets deleted. This
    avoids name collisions and instance quota overflow.
  * adt-run: Always show summary at the end, which is particularly helpful for
    multiple tests. (LP: #1484991)
  * adt-run.1: Clarify that without any logging options adt-run only logs to
    stderr. (LP: #1485661)
  * adt-virt-lxc: If the executed command exits with 255, translate that to
    253 in the auxverb wrapper, as 255 is the exit code for failures of the
    auxverb itself. This avoids considering ordinary test failures as
    temporary testbed failures.
  * adt-run: Show host name, to more easily identify hosts with frequent
    failures.
  * adt-virt-lxc: Always call lxc-stop with --kill, as the containers are not
    precious and normal shutdown might hang.
  * adt-virt-lxc: In cleanup, stop LXC container before removing the shared
    downtmp, to ensure that we always clean up the running container. Also
    don't fail on errors. (LP: #1488879)
  * ssh-setup/nova: Add missing apt sources for -updates/-security
    restricted/multiverse pockets.

autopkgtest (3.16.2) unstable; urgency=medium

  * Exit with code 4 ("test failure") if a test times out, instead of 16
    ("testbed failure").
  * Exit with code 12 ("erroneous package") if test dependencies are
    unsatisfiable and put badpkg/blame into summary, instead of exiting with
    code 20 ("other unexpected failures including bad usage").
  * Exit with code 12 ("erroneous package") and a proper error message if
    debian/tests/<testname> does not exist, instead of code 20 and a confusing
    message about chmod failing and *-stderr missing.
  * Exit with code 12 ("erroneous package") instead of 20 if test dependency
    package install fails.
  * adt-virt-ssh: If the executed command exits with 255, translate that to
    253 in the auxverb wrapper, as 255 is ssh's (and auxverb's) exit code if
    something with the connection failed. This avoids considering ordinary
    test failures as temporary testbed failures. (LP: #1475679)

autopkgtest (3.16.1) unstable; urgency=medium

  * setup-commands/cloud-vm-setup: Fix installation of linux-generic on
    Ubuntu.
  * ssh-setup/nova: Clean up userdata temp file on failed nova boot.
  * If the test fails with exit code 127 (usually "command not found"),
    consider this a test failure (code 4), not a testbed failure (code 16).
  * doc/README.package-tests.rst: Document that "Tests:" and similar fields
    can be comma separated too, like everywhere else in Debian's control
    files.
  * ssh-setup/nova: Show name of created nova instance, so that it's easier to
    map instances to a test.
  * run-from-checkout: Exec adt-run to avoid keeping the shell wrapper process
    around.
  * ssh-setup/snappy: Fix check whether --image and --channel are specified
    together. (LP: #1474735)
  * ssh-setup/nova: Allow selecting net IDs by name.

autopkgtest (3.16) unstable; urgency=medium

  Behaviour changes and improvements:
  * ssh-setup/nova: Re-try nova boot up to three times if it fails, and sleep
    5 minutes in between. This occasionally fails due to exceeding quota or
    temporary glitches.
  * Drop gpg-signing local archive and mark it as [trusted=yes] instead. This
    gets rid of the requirement to generate a gpg key on first run. Drop
    corresponding --gnupg-home option. (LP: #1472691)
  * Drop long-obsolete --tmp-dir backwards compat option.
  * ssh-setup/snappy: Adjust ubuntu-device-flash arguments to new
    release/channel structure from Ubuntu 15.10, and default to rolling/edge.
    Add new --release option.

  Bug fixes:
  * ssh-setup/nova: Silence "invalid command wait-reboot" warning.
  * setup-commands/cloud-vm-setup: Purge cloud-init too. It sometimes causes
    longer hangs on boot and might interfere with tests in other ways, and we
    only need it for first-time initialization anyway.
  * adt-virt-qemu: adt-buildvm-ubuntu-cloud: Don't use -enable-kvm QEMU option
    if /dev/kvm does not exist. (Closes: #790650)
  * Quiesce warnings from tar. Avoids "time stamp is in the future" log spew.
    (LP: #1468868)
  * Move apt sources setup from setup-commands/cloud-vm-setup to
    ssh-setup/nova. --apt-pocket does not work with the former as that runs
    too late.
  * Use Dpkg::Deps to evaluate/reduce build dependencies for expanding
    "@builddeps@". This handles build profiles. (Closes: #787093)
  * Resolve build profiles when installing build dependencies to build tested
    package.
  * Adjust NullRunner.test_tmp_install_perl test case to use
    libtest-requires-perl instead of libtest-tester-perl; the latter got
    removed from Debian.

autopkgtest (3.15.1) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Fix lsb_release fallback if python3-distro-info
    is not available.
  * adt-buildvm-ubuntu-cloud: Don't move the uninitialized image to final
    location if QEMU failed.
  * adt-buildvm-ubuntu-cloud: Check availability of genisoimage and access of
    /dev/kvm before downloading image. (LP: #1466486)
  * Get along with dpkg-query not existing, such as in latest Ubuntu Snappy
    images. Skip generation of testbed-packages artifact in that case.
    (LP: #1469647)
  * Adjust NullRunner.test_tmp_install test case to work with pygobject 3.16.

autopkgtest (3.15) unstable; urgency=medium

  Behaviour changes and improvements:
  * The specified --output-dir now must not exist or be empty. If it is
    non-empty, adt-run now will refuse to use it instead of cleaning it. This
    is safer, to avoid accidentally using the home directory or similarly
    precious data. (LP: #1463561)
  * Add --no-auto-control option to disable autodep8. (Closes: #788659)
  * ssh-setup/nova: Add -e/--env option to append to /etc/environment. This is
    mostly useful to configure $http_proxy and friends.
  * ssh-setup/nova: Add --mirror option.
  * Add setup-commands/cloud-vm-setup: --setup-commands script for cloud
    instances to prepare them for running autopkgtests. This is similar to
    adt-setup-vm, but won't configure serial console or networking.

  Bug fixes:
  * adt-setup-vm: Print a warning if calling update-grub fails, instead of
    aborting. This fixes vmdebootstrap --grub, as that installs grub after
    running the customization script. Adjust adt-virt-qemu.1 manpage to
    recommend the --grub option of vmdebootstrap.
  * testdesc.py, parse_rfc822(): Entirely ignore lines which only contain
    whitespace after filtering out intra-line comments. They break
    continuation line parsing in python-debian >= 0.1.23. (Closes: #784942)
  * adt-setup-vm: Add inclusion of interfaces.d/ to /etc/network/interfaces.
    This belongs into vmdebootstrap (#788792), but fix that locally for the
    time being.
  * adt-run.1: Document --testname.

autopkgtest (3.14.3) unstable; urgency=medium

  * adt-virt-lxc: Don't try to set up a shared downtmp with unprivileged
    (user) containers. This is full of permission errors due to the mapped
    UIDs.
  * tests/adt-run LxcRunner: Use $ADT_TEST_LXC as unprivileged user container
    if it exists.
  * adt-buildvm-ubuntu-cloud: Check at the beginning if QEMU command is
    available and exit with proper error message if not. (LP: #1460066)
  * If auxverb fails with exit code 126, 127, 254, or 255, consider this a
    failure of auxverb/the testbed itself, not of the program run under it.
    (As specified in doc/README.virtualisation-server.rst) (LP: #1462540)

autopkgtest (3.14.2) unstable; urgency=medium

  * Add tests/testpkg-{simple,reboot,reboot-prepare}: Very simple stub
    packages for manual testing.
  * VirtSubproc, cmd_reboot(): Disconnect the backgrounded reboot command from
    stdout/err, to avoid it getting killed by the ssh runner. (LP: #1454735)

autopkgtest (3.14.1) unstable; urgency=medium

  * Go back to using the backgrounded reboot command as we had before 3.14.
    Just calling "reboot" is prone to hangs and timeouts in case reboot is too
    fast and shuts down our communication channel.
  * Fix --override-control option in adt-run(1). (LP: #1453495)
  * Fail with an error if --override-control file does not exist.
    (LP: #1453503)
  * ssh-setup/snappy: Add -b/--show-boot option to direct boot and console
    messages to stdout. (LP: #1453154)
  * adt-virt-qemu.1: Document --show-boot option.
  * Add test case for using a @ command line include file for a virt runner.
  * Strip leading and trailing space from argument lines in '@' included
    command line argument files. (LP: #1453498)

autopkgtest (3.14) unstable; urgency=medium

  Improvements:
  * adt-virt-ssh: Add --reboot option to indicate that testbed can be
    rebooted. This is useful when running without a setup script (which can
    already declare capabilities).
  * Simplify reboot implementation: Just call "reboot" as root in the testbed
    to trigger rebooting, and replace the former hook_reboot() in adt-virt-*
    with hook_wait_reboot() which merely waits for the testbed to go down and
    come back up. This also replaces the "reboot" command for ssh setup
    scripts to "wait-reboot" and in most cases it is not needed to implement
    this at all (except for the "adb" script).
  * Add /tmp/autopkgtest-reboot-prepare script for testbeds which support
    rebooting. This saves the current state but leaves the actual reboot to
    the test itself. This is useful if rebooting should happen with unusual
    means (e. g. kexec) or as part of testing something else (like a system
    upgrade). (LP: #1445819)
  * Log complete command line invocation, for easier local reproduction,
    comparison of log files, and clarifying which options were used.
    (LP: #1449413)

  Bug fixes:
  * Update Vcs-Git: field for anonscm.debian.org.
  * Drop obsolete XS-Testsuite: control field.
  * adt-setup-vm: Fix script error if $ADT_SETUP_VM_POST_COMMAND is not set.
  * README.click-tests.rst: Describe x-source manifest entry.
  * Mark test dependencies as manually installed, so that they don't go away
    if a test calls "apt-get autoremove".
  * Set DEBIAN_FRONTEND=noninteractive for tests. This avoids stderr messages
    about "unable to open stdin" and similar when tests call apt-get install.

autopkgtest (3.13) unstable; urgency=medium

  * ssh-setup/adb: Add --keep-screen-active option to keep
   "powerd-cli display" running after the tests. Use with caution!
   (LP: #1441023)
  * adt-buildvm-ubuntu-cloud: Add --post-command for running a shell command
    after setup for additional customization.
  * ssh-setup/adb: Quote tr arguments.
  * click tests: Look into app/tests/autopilot/ for tests as well if no
    explicit path is given. This is the default location of the Ubuntu cmake
    templates.

autopkgtest (3.12.1) unstable; urgency=medium

  [ Didier Roche ]
  * setup-commands/ubuntu-touch-session: Use "upstart" instead of "init".
    (LP: #1422681)

  [ Martin Pitt ]
  * adt-build-lxc: When removing the old root file system, remove btrfs
    subvolumes in it.
  * README.package-tests.rst: Document that '#' can be used for comments.
    (Part of LP #1434543)
  * Ignore debian/tests/control stanzas with unknown fields, as documented.
    (LP: #1434543)
  * adt-buildvm-ubuntu-cloud: Drop workaround for LP #1428495, it got fixed in
    cloud-init a while ago.
  * adt-buildvm-ubuntu-cloud: Fix cloud-init's prerm hacking to apply after
    dist-upgrades.

autopkgtest (3.12) unstable; urgency=medium

  * ssh-setup/adb: Re-enable ssh after reboot, in case an upgrade disables it.
  * ssh-setup/adb: Try to create /userdata/.adb_onlock, to get adb after
    rebooting without human interaction.
  * Fix apt-get install --simulate version parsing with third-party sources.
    (LP: #1430017)
  * ssh-setup-nova: Add --security-groups option. (LP: #1429862)
  * adt-buildvm-ubuntu-cloud: Avoid non-blocking reads from the socket in
    verbose mode, this sometimes causes hangs. Go back to blocking reads, but
    don't wait between them.
  * Fix UnicodeDecodeError on .deb package name reading. (LP: #1430773)
  * adt-virt-ssh: Export $SUDO_ASKPASS to tests if sudo is available.
    (LP: #1431421)

autopkgtest (3.11.1) unstable; urgency=medium

  * Fix autopkgtest-reboot to also work when being called through sudo, and
    for forking test scripts.
  * Avoid failure if /var/cache/apparmor/click-ap.rules does not exist any
    more after a reboot, like on snappy.
  * adt-buildvm-ubuntu-cloud: Avoid cloud-init's prerm stopping cloud-init's
    services while we are still running them. This makes it possible to purge
    cloud-init from user-data, and avoids killing apt/dpkg underneath us. This
    needs a cleaner solution, but is a good enough workaround for now.
    (LP: #1427999)
  * adt-buildvm-ubuntu-cloud: Don't wait between serial console reads while
    we have data. Provides faster/smoother output in --verbose mode.
  * ssh-setup/nova: Fix error message on missing keypair, the command is
    "keypair-add", not "keypair-create". Thanks Thomi Richards! (LP: #1428433)
  * adt-buildvm-ubuntu-cloud: Add workaround for recent cloud-init regression
    that disables ssh (LP #1428495)
  * adt-run: Suggest common reason for unsatisfiable test dependencies.
    Suggest using a current image, or run apt-get update/-U (for apt-get) or
    --setup-commands ro-apt-update (for temp dir install mode). (LP: #1425682)
  * Quiesce confusing "failed to create symbolic link
    /sbin/autopkgtest-reboot" warning on read-only testbeds.

autopkgtest (3.11) unstable; urgency=medium

  Improvements:
  * Add action argument --testname to run only one individual test from the
    next package.

  Bug fixes:
  * Restore click AppArmor profiles after a test, if we modified them before
    the test.
  * When running a deb test in a click+AppArmor environment, update AppArmor
    rules for all clicks for introspectability and temporary test
    dependencies. This takes about a minute before the test, and another one
    after the test, but is necessary for use cases like ubuntu-sanity-tests.
    (LP: #1424889)

autopkgtest (3.10) unstable; urgency=medium

  Improvements:
  * adt-virt-lxc: Add reboot support for non-ephemeral containers.
  * tests/run-parallel: Don't run all test classes in parallel, it creates too
    much load. Serialize test classes which use the same runner.

  Bug fixes:
  * VirtSubproc.py, cmd_reboot(): Fix debug message.
  * tests/adt-run: Avoid re-downloading ubuntu-device-flash images by
    symlinking ~/.cache/ubuntuimages from the temp $HOME into the real user's
    $HOME.
  * adt-virt-lxc: Fix check for eatmydata when using --eatmydata.
  * adt-virt-qemu: Synchronize ttyS0 output before writing eofcat.
  * adt-virt-qemu, adt-virt-lxc: Asynchronously call reboot, to avoid eternal
    hangs when it reboots too fast for us to notice that it finished.

autopkgtest (3.9.7) unstable; urgency=medium

  * Include "Package-Type: deb" marked packages for testing. Fixes regression
    with testing paramiko.
  * adt-virt-qemu: Robustify setupup of shared /autopkgtest directory.
  * VirtSubProc.expect(): Read data without delay as long as we have some.
  * adt-virt-qemu: Add --show-boot option to show boot messages from serial
    console.
  * adt-setup-vm: Configure "console=ttyS0" boot option in grub on non-i386
    architectures too, to fix serial consoles with systemd images. Create
    /etc/default/grub.d/ if necessary.
  * adt-setup-vm: Only configure grub if update-grub is available.
    (Closes: #778907)
  * adt-virt-qemu: Increase reboot and dpkg-reconfigure timeouts; on loaded
    machines these might take longer than 5s.
  * adt-run: Unless --leave-lang is given, unset $LANGUAGE and all $LC_* for
    tests, to avoid clobbering the testbed locale with the host's.
    (LP: #1423359)

autopkgtest (3.9.6) unstable; urgency=medium

  * Skip test_tmp_install_imagemagick test case if python3-wand is not
    available.
  * adt-virt-ssh: Ignore errors when cleaning up the work dir. This races with
    sshd cleaning up its control socket, don't stumble over that.
    (LP: #1420355)
  * Implement --timeout-factor, which was forgotten with the rewrite in
    version 3.2. (LP: #1420540)
  * ssh-setup/adb: Fix waiting for the desktop to boot: Lower D-Bus call
    timeout to 5 seconds, and fix retry loop to time out afer 5 minutes of
    real time instead of a fixed number of retries (as the duration of the
    D-Bus call is not very reliable).
  * virt-subproc/adt-virt-ssh: Don't try to exit the ssh muxer if we don't
    have a ssh command yet. This happens when the setup script fails to open
    the testbed.

autopkgtest (3.9.5) unstable; urgency=medium

  * adt-run install_tmp(): If we have Python and Perl modules, don't specify
    the Python modules in $PERL5LIB.
  * Recognize udev rules from packages in temp dir install mode. Copy them to
    /run/udev/rules.d/ and trigger them. (LP: #1417966)
  * setup-commands/ubuntu-touch-session: Don't fail on udevadm failure, which
    cannot work in schroots.
  * adt-virt-qemu: Ensure that python3 or python is available (which is
    required for the auxverb helper) and exit with a meaningful error message
    if it isn't. Adjust the manpage accordingly. Fix adt-setup-vm to install
    python3-minimal if no Python is already installed. Thanks to Christian
    Kastner for the initial patch! (Closes: #777478)
  * Support temp dir install mode for python[3]-wand's really broken way of
    finding the imagemagick shared libraries. (LP: #1419024)

autopkgtest (3.9.4) unstable; urgency=medium

  * Recognize modern "Package-Type:" control field in addition to
    XC-Package-Type.
  * ssh-setup/adb: Guard adb wait-for-device with a 5 min timeout.
    (LP: #1414939)
  * README.running-tests.rst: Fix mis-spelled ro-apt setup command.
  * Add setup-commands/ro-apt-update: Shortcut for temporarily mounting a
    readonly root file system writable and run apt-get. This allows tests to
    download/unpack test dependencies on older images whose apt indexes are
    out of date. (LP: #1408350)
  * Export temp dir install mode variables in the test run script instead of
    merely running it under that environment, so that we trump non-extending
    LD_LIBRARY_PATHs in /etc/environment. (LP: #1407949)
  * setup-commands/ubuntu-touch-session: Ensure that /dev/uinput is always
    accessible, as we don't necessarily have local logind sessions during
    tests. (part of LP #1415514)
  * setup-commands/ubuntu-touch-session: Unset UPSTART_JOB (which crept into
    the environment from a recent upstart version) when calling initctl, to
    fix querying the session D-BUS address. (LP: #1415514)

autopkgtest (3.9.3) unstable; urgency=medium

  [ Christian Kastner ]
  * Clean up /etc/dpkg/dpkg.cfg.d/autopkgtest on upgrades if its contents are
    just "force-unsafe-io", indicating that this file was generated by the
    above bug.

autopkgtest (3.9.2) unstable; urgency=medium

  * adt-setup-vm: Fix all other places which operated on the host instead of
    the guest file system when specifying a directory argument.

autopkgtest (3.9.1) unstable; urgency=medium

  [ Martin Pitt ]
  * Revert installation of ubuntu-device-flash in adt-run autopkgtest, it's
    too unstable (timeouts and grub errors due to qemu in qemu).

  [ Christian Kastner ]
  * adt-run: Fix detection of dpkg-dev in the testbed. (Closes: #775073)
  * adt-setup-vm: Set umask to 0022 so that ordinary users in the testbed can
    read generated files. (Closes: #775075)
  * adt-setup-vm: Modify guest's dpkg config for enabling force-unsafe-io, not
    host's, when a root directory is specified as argument. (Closes: #775076)
  * adt-setup-vm: Make sure $proxy variable exists before using it. Fixes
    crash when apt is not configured to use a proxy. (Closes: #775092)

autopkgtest (3.9) unstable; urgency=medium

  Improvements:
  * Add "snappy" ssh setup script to run tests in an Ubuntu Snappy
    (http://www.ubuntu.com/snappy) testbed in QEMU. This uses a given image
    with -i/--image, or constructs a temporary one using ubuntu-device-flash
    (which caches its downloads and is fast).
  * adt-run autopkgtest: Install ubuntu-device-flash and qemu-kvm if
    available, to run the snappy ssh script tests under autopkgtest in Ubuntu.
  * ssh setup script "reboot" commands can now simply "exit 10" if they want
    adt-run to just call "reboot" through ssh, instead of having a custom
    implementation.

  Bug fixes:
  * tools/adt-setup-vm: Avoid debconf prompts during dist-upgrade.
  * adt-virt-ssh: Wait for ssh to become available before checking for sudo.
    Fixes root capability detection for setup scripts which don't already wait
    for ssh themselves.
  * VirtSubproc.cmd_reboot: Avoid multi-line shell command so that this also
    gets along with the ssh runner.
  * Fix FileNotFoundError if built tree does not have a debian/changelog file.
    Simply skip detection of source package version in this case.

autopkgtest (3.8.1) unstable; urgency=medium

  * If the testbed does not have root privileges (e. g. missing sudo
    password), install click packages with pkcon and skip the AppArmor rule
    adjustment. This makes non-root click tests at least work for
    non-Autopilot cases. (LP: #1384417)
  * Make --shell-fail also apply to test dependency installation failure.
  * Run root tests through "su" as well (if possible), to ensure that these
    also get a proper PAM/logind session with all runners. (LP: #1393474)
  * Skip the test_tmp_install tests if apt-get download does not work. This
    might happen in some build environments which completely disable
    networking or don't have working apt-get download for some reason.
    (Closes: #769687)
  * Don't put the log FIFO into the output directory. This avoids keeping it
    in --output-dir, which fails if the output dir happens to be in the tested
    tree itself. (LP: #1393426)
  * adt-setup-vm: Don't purge man-db. It uninstalls way too much on images
    which aren't just minimal environments.
  * adt-setup-vm: Drop bogus "X-Start-Before" line in generated init.d script.
    (Closes: #770517)
  * Respect DEB_BUILD_OPTIONS=nocheck (side issue in #769687)

autopkgtest (3.8) unstable; urgency=medium

  Improvements:
  * adt-build-lxc: Configure unsafe dpkg I/O and disable apt's download of
    package translations, like adt-setup-vm.
  * adt-build-lxc: Use eatmydata for lxc-create if available, and install
    eatmydata into containers. For Ubuntu, stop installing the default
    $packages_template (which is ssh,vim).
  * adt-virt-lxc: Pass any additional options/arguments (after --) verbatim to
    lxc-start{,-ephemeral}.
  * adt-virt-lxc: Stop running ephemeral containers with --keep-data by
    default, as this makes them unnecessarily slow due to running on disk.
    Environments with little RAM are instead advised to explicitly supply this
    or --storage-type as extra arguments.

  Bug fixes:
  * Create autopkgtest-reboot command in /tmp, as /sbin/ might be read-only
    (and /run is usually "noexec", so we can't put it there either). Write it
    with "noclobber" to guard against symlink attacks.
  * During reboot, if /var/cache/ isn't writable (as on Ubuntu touch images,
    argh), fall back to saving the current temp dir in /home.
  * adt-virt-ssh: Recreate the sudo wrapper after reboot, as it is in /tmp.
  * ssh-setup/adb: Setup adb port forwarding again after rebooting.
  * Fix error message if /tmp/autopkgtest-reboot already exists.
  * Fix extra space in apt-get option, which breaks apt-get's option parsing
    in some circumstances.
  * adt-build-lxc: Fix hardcoded "utopic" release name for cache cleanup on
    btrfs, use the actual release name from the command line. (LP: #1392589)

autopkgtest (3.7.1) unstable; urgency=medium

  * NullRunner.test_tmp_install_perl: Use a package from Ubuntu main, to fix
    FTBFS in Ubuntu's buildds.
  * Fix AppArmor rule adjustment for a local click package.
  * When executing a command in the testbed times out, don't wait for it
    after killing if the auxverb includes "sudo". We can't kill those
    processes, so we'd wait forever; we can only hope that they eventually
    terminate themselves after we stop the testbed. Fixes non-working timeouts
    for LXC runner with the --sudo option.
  * Show "set -x" trace of AppArmor reconfiguration in debug mode.
  * Use "install" instead of "short" time out for downloading and unpacking
    dependencies in "temp dir" mode.
  * ssh-setup/adb: Retry connecting with ssh a few times, the first time
    doesn't always succeed immediately after enabling ssh.
  * tools/adt-setup-vm: Prevent subsequent cloud-init runs from modifying the
    apt sources again.

autopkgtest (3.7) unstable; urgency=medium

  Improvements/cleanup:
  * When not logging to a file, colorize adt-run debug/info/warning/error
    messages to better tell them apart from from apt and test output.
  * adt-virt-schroot: Simplify determination of schroot session location.
  * adt-virt-chroot: Drop support for dchroot arguments. dchroot has been
    obsoleted by schroot for a long time now, and isn't being tested by the
    developers. Allow relative chroot paths.
  * adt-virt-ssh: Rewrite adt-ssh-wrapper to not call the readlink command on
    every single /proc/*/fd/*. This is too slow on devices like Ubuntu Touch,
    where it adds an extra ~ 5 seconds to every command.
  * ssh-setup/adb: Drop --rw and --apt-update options. They stopped working
    when adb switched to running as user, and can be done with
    --setup-commands.
  * Recognize Perl modules in temp dir install mode.
  * Consider programs in the temp dir install tree for preparing the source
    package. This makes it possible to run --source or --apt-source tests in
    read-only environments without dpkg-dev installed. (LP: #1383878)
  * With --apt-upgrade, retry apt-get update a third time after one minute.
    With just a second try we still get occasional hash sum mismatches.
  * Recognize Qt plugins in the temp dir install tree, so that autopilot tests
    work on images which don't have autopilot-qt installed any more.
  * Remove the "adt-satdep" package after test installation finished, to avoid
    tests being confused about an unexpected package.
  * ssh-setup/adb: Drop "autopilot --dbus-probe enable" call. It wastes some
    1.5 minutes and is not needed any more, as we now reconfigure AppArmor for
    the particular clicks that we want to test.

  Bug fixes:
  * adt-virt-ssh: Terminate the ssh connection muxer on cleanup. Fixes eternal
    hangs on waiting for tee with the --output-dir option, as the muxer
    inherits our stderr. (LP: #1384324)
  * Fix crash when running from a git checkout, but git is not installed.
  * ssh-setup/adb: Robustify powerd-cli invocation. It previously failed
    randomly.
  * ssh-setup/adb: Quiesce some noise from various phablet-config/gdbus/adb
    commands.
  * ssh-setup/adb: If the welcome wizard is already running, just kill that
    instead of the entire session. In particular, this avoids killing adb on
    both the host and the device.

autopkgtest (3.6) unstable; urgency=medium

  [ Antonio Terceiro ]
  * README.package-tests.rst: Make references to the control field consistent.

  [ Martin Pitt ]
  * When parsing .changes files, always register the debs before the dscs and
    stop assuming Files: having this order already. (Closes: #764795)
  * Drop the builtin synthesis of Perl/Ruby tests and use autodep8 instead.
    Update the spec accordingly, and add a Recommends: autodep8.
    (Closes: #763847)
  * adt-build-lxc: Implement LXC cache cleanup for btrfs by removing the image
    snapshots instead of rm -r'ing the cache dir, as the latter will fail.
  * adt-setup-vm: Fix missing hashbang of generated /etc/init.d/autopkgtest.
    (Regression from 3.5.5)

autopkgtest (3.5.5) unstable; urgency=medium

  * adt-virt-ssh: Be more liberal when parsing the setup script's
    capabilities, accept spaces and commas.
  * adt-virt-ssh: Refactor code so that setup script's "revert" commands can
    update/refresh the ssh config. Often revert translates to close and
    re-open, which changes the IP. Update manpage and ssh-setup/SKELETON
    accordingly.
  * ssh-setup/nova: Make parsing commands work with mawk too, to avoid
    depending on gawk.
  * ssh-setup/nova: Implement a simple revert by a simple teardown/providing a
    new instance. (This might become more efficient in the future with using
    snapshots.)
  * adt-buildvm-ubuntu-cloud: Put vmalloc kernel commandline config into
    separate grub.d/ directory, to avoid subsequent cloud-init invocations
    overwriting it.
  * tools/adt-setup-vm: Add setup steps that adt-buildvm-ubuntu-cloud does, so
    that vmdebootstrap generated VMs are functionally on par with the Ubuntu
    cloud images: Set up serial console, dpkg unsafe-io, install some
    additional packages, remove unnecessary packages, bump vmalloc on i386.
  * adt-buildvm-ubuntu-cloud: Remove most of the setup steps from user-data,
    and call adt-setup-vm instead. This keeps the knowledge of how to set up
    VM testbeds in one single place.

autopkgtest (3.5.4) unstable; urgency=medium

  adt-run fixes:
  * Make apt-get source calls again show what's being downloaded, but not all
    the other noise around it.
  * Avoid copying down the tests tree into the testbed if it already exists
    there. This is the common case for the first test in unbuilt trees, and
    avoids one round of expensive large copying for the ssh and qemu runners.
  * Fix relative --override-control paths: They should not be relative to the
    source dir but relative to the current dir where adt-run is called.

  ssh-setup/nova fixes:
  * Add -N/--net-id argument for OpenStack deployments which require setting
    an explicit --nic net-id.
  * Stop using nova boot's --file option, it does not work any more (see
    LP#1376176); use --user-data instead. Also set some go-faster apt options.
  * Wait until ssh is available and cloud-init is done.
  * Stop making --keyname mandatory. If not given, use the first one from
    "nova keypair-list".
  * Fix crash if ~/.ssh/known_hosts does not exist.

  ssh-setup/adb fixes:
  * Drop the sudo'ing for unlocking the screen. It stopped working and is not
    necessary, now that we don't have images with adb running as root any
    more.
  * Fix unity8 restart after disabling first-time wizard to work on current
    Ubuntu Touch images.
  * Wait until com.canonical.UnityGreeter becomes available. This is a better
    way to wait for the desktop to be started up, and also reliably unlocks
    the greeter.
  * During revert, don't fail if there are no configured networks.
  * Add -b/--reboot option to reboot the device before running the test.
  * Disable --reset option for now; it is broken as it does not restore the
    password and developer mode. Point towards using --reboot, which should be
    good enough for most cases in r/o mode.

  adt-virt-ssh fixes:
  * Implement reboot.
  * Tests or builds sometimes leak background processes which might still be
    connected to ssh's stdout/err; create and use a wrapper script that kills
    these after the main program (build or test script) finishes, otherwise we
    get eternal hangs as ssh waits until nothing is connected to its tty any
    more.

  Other fixes:
  * adt-buildvm-ubuntu-cloud: Purge more unnecessary packages.

autopkgtest (3.5.3) unstable; urgency=medium

  * ssh-setup/adb: Use the new "phablet-config network" to save/restore wifi
    connections, which also works with non-root adb.
  * Give adt-run's tee processes some time to catch up between printing
    results and stderr, to avoid scrambled logs. (LP: #1373441)
  * Fix NullRunner.test_timeout_no_output for older Python versions.
  * tests/pyflakes: Skip test if pyflakes3 is not available (for backports).
  * Bump Standards version to 3.9.6 (no changes necessary).
  * NullRunner.test_timeout_no_output: Slightly relax time bound to make
    failures less likely on loaded/slow machines.
  * Install clicks with --allow-unauthenticated to support local developer
    generated packages. (LP: #1372640)

autopkgtest (3.5.2) unstable; urgency=medium

  [ Martin Pitt ]
  * Make apt-get source and package unpack output a bit less verbose.
  * Avoid "grep: debian/tests/control: No such file or directory" warning for
    packages with implicit test control. (Closes: #762009)
  * Adjust "unpack into temp dir" mode for multi-archified typelib locations
    introduced in gobject-introspection 1.41.4-1.

  [ Niko Tyni ]
  * Test perl packages that include test.pl, not just t/. (Closes: #762013)

autopkgtest (3.5.1) unstable; urgency=medium

  * Fix apt cleanup to remove configuration files before apt-get update.
  * When using local binaries, tell apt-get to only download our
    autopkgtest.list, not all apt lists again.
  * Move autopkgtest gpg directory from ~/.autopkgtest/gpg to
    ~/.cache/autopkgtest/. Check the former location for backwards
    compatiblity.
  * Invoke gpg with --no-random-seed-file to avoid VCS noise when using
    tests/home/.
  * run-from-checkout: Use --gnupg-home with our tests/home to avoid GPG key
    generation.
  * adt-run: Defer GPG key creation until binary publishing time. This avoids
    key creation entirely for the common case of not using any local or built
    binaries.
  * tests: Use apt-doc instead of cpp-doc, as the latter is in Debian contrib
    only. (Closes: #761417)
  * When determining whether a testbed reset is necessary in between tests,
    also consider if recommends were/will be installed. (Closes: #761420)
  * README.package-tests.rst: Packages with implicit test control (ruby/perl)
    should use a different Testsuite: value, namely
    autopkgtest-pkg-{ruby,perl}, to avoid breaking compatibility with the
    specification and to other implementations like sadt.
  * autopkgtest-reboot: Switch from SIGPIPE to SIGKILL, as that is much more
    reliable.
  * Reorganize NullRunner tests so that most run also as normal user (and
    hence during package build); only keep four tests in NullRunnerRoot which
    actually do need root privileges.
  * Improve NullRunner.test_timeout_no_output test case to ensure that the
    test is properly killed after timing out.
  * Fix invocation of tests so that they retain the default SIGINT handler.
    This changes cleanup after a timeout, add new procps dependency for this.
    (Closes: #761596)

autopkgtest (3.5) unstable; urgency=medium

  Improvements:
  * VirtSubProc.cmd_reboot(): Save/restore downtmp instead of creating a new
    one. This is more useful for reboot scenarios within tests.
  * Support tests that want to reboot the testbed (for runners which support
    rebooting). Document this in doc/README.package-tests.rst.
  * tests/testdesc: Add test case for Debian packages without a test control.
  * If there is no Debian test control file, synthesize one for Ruby and Perl
    packages, using gem2deb-test-runner and pkg-perl-autopkgtest. Thanks to
    Antonio Terceiro!
  * ssh-setup/adb: Unlock the greeter before running tests.

  Bug fixes:
  * qemu: Reconfigure tzdata after copying /etc/timezone, to make that change
    actually active.
  * qemu: Wait an additional 3 seconds after the login prompt appears on
    ttyS0. Without that, the system time is wrong, causing bad file
    timestamps. Unfortunately polling runlevel or the "hwclock" status file
    doesn't help.
  * Always keep the same downtmp even after resetting the testbed.  Some built
    trees/tests use absolute path names and break when being moved around
    after a reset. This already worked in most cases by accident due to a bug,
    but now clean up the code to be explicit about it.
  * Expand '@' to quasi-versioned (>= 0~) dependencies to avoid satisfying
    them by virtual packages. (Closes: #761003)
  * Ensure that the build tree is world-readable. Fixes permission error when
    running adt-run as non-root with a different --user and a tight umask.
    (Closes: #761049)
  * lxc: Ensure the container root directory is accessible to non-root users.
    Works around lxc-start-ephemeral bug with tight umasks.
    (https://launchpad.net/bugs/1367730)
  * lxc: Fix lxc-clone option (--new, not --name).

autopkgtest (3.4.1) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Use host's http[s] proxy in the VM, rewriting
    localhost addresses accordingly.
  * qemu: Accept any runlevel between 2 and 5 as "booted", to also work with
    systemd. (Closes: #760060)
  * adt-run: Read built tree changelogs with UTF-8 encoding. (Closes: #759752)
  * adt-virt-lxc: Source /etc/profile as well, to get $PATH in Debian
    environments.

autopkgtest (3.4) unstable; urgency=medium

  * Produce a summary file by default when --output-dir is given.
  * ssh-setup/adb: Add missing $ADBOPTS for reverting to factory state.
  * Add support for retrieving a click source from bzr (from the manifest's
    x-source/vcs-bzr key) if --click-source is not given.
  * ssh-setup/adb: Use SystemImage D-BUS call for factory reset instead of
    direct recovery commands, to also work as user.
  * ssh-setup/adb: Add --password/-p option to specify a different sudo
    password than "phablet".
  * adt-run: Fix $USER in tests if testbed does not have root.
  * adt-run: Source shell profiles if testbed does not have root. Fixes
    running click tests on Ubuntu Touch without a sudo password.
  * ssh-setup/adb: Try common sudo passwords for CI ("phablet" and "0000"); if
    those do not work, and none is specified with --password, tests cannot run
    as root (which should be fine for most cases).
  * ssh-setup/adb: Stop using system-image-cli to detect an Ubuntu phone, as
    that does not work as user. Check for unity8 instead, like in other parts
    of the code.
  * ssh-setup/adb: Fix cleaning up of first-time wizard for non-root adb.

autopkgtest (3.3.3) unstable; urgency=medium

  * ssh-setup/adb: Always parse options, so that $ADBOPTS is also defined for
    operations other than "open". Fixes failure on close when multiple devices
    are present.
  * adt-run manpage: Fix references to documentation. (Closes: #758016)
  * README.package-tests.rst: Point out that dpkg-source >= 1.17.11 adds the
    Testsuite: field automatically. Thanks to Guillem Jover!
  * ssh-setup/adb: Use PropertyService to enable ssh, for future compatibility
    with non-root adb.
  * ssh-setup/adb: Protect against failures of ssh-keygen when pruning the
    localhost fingerprint. It fails if ~/.ssh/known_hosts does not exist.
  * When copying down, properly fail when there are unremovable files in an
    existing directory, instead of ignoring them and making the subsequent
    copytree() fail. This helps to get better error messages for #757396.
  * Fix crash on undeletable files in source trees. (Closes: #757396)
  * ssh-setup/adb: If there is no default ssh key, create an
    ~/.ssh/id_autopkgtest and use that.
  * Run autopilot tests with generating a subunit stream in
    <output-dir>/artifacts/<testname>.subunit, and in verbose mode.

autopkgtest (3.3.2) unstable; urgency=medium

  * When logging output to a file, properly close the "tee" processes' stdin
    and wait for them to finish, instead of just killing them. This avoids
    truncated logs on heavily loaded machines.
  * Fix NullRunnerNoRoot.test_tmp_install test if gir1.2-json-1.0 is already
    installed.
  * Use long options for calling programs except for the most common ones, for
    easier comprehension.
  * qemu: Read all responses from ttyS1 after sending commands. Qemu 2.1 seems
    to configure serial sockets differently, and not flushing responses
    confuses it.
  * qemu: Use "cache=unsafe" option to improve performance when the overlay is
    not on a tmpfs.
  * Further robustify cleaning up the chroots in the ChrootRunner tests.
  * adt-build-lxc: When updating containers, move the new rootfs completely to
    the original container. The rsync approach did not reliably update all
    files.

autopkgtest (3.3.1) unstable; urgency=medium

  * Accept comma separators in Tests:, Restrictions:, and Features: fields;
    this is consistent with Depends: and avoids skipping tests. (LP: #1347958)
  * Generalize implementation of getting an interactive shell in testbeds.
    Most runners now don't need to provide a hook_shell() any more.
  * Export install environment to interactive testbed shells, so that
    unpacked test depends in the temp dir are accessible. (LP: #1339103)
  * lxc: Don't fail on a nonexisting /etc/environment or /etc/default/locale.
    (LP: #1348749)
  * adb ssh script: Add --apt-update option to run "apt-get update" (with
    temporarily switching to r/w), to run tests on older development images.
    (LP: #1342838)
  * Drop the very short and unnecessary install timeouts from the NullRunner
    tests.

autopkgtest (3.3) unstable; urgency=medium

  Improvements:
  * Define "Classes:" (Debian) / "classes" (click manifest) test control field
    in the specifications. For packages whose tests should run on particular/a
    set of different hardware/platforms, this can specify a list of abstract
    class names such as "desktop" or "graphics-driver". Consumers of
    autopkgtest can then map these class names to particular
    machines/platforms/policies.
  * Fall back to searching for --setup-commands files in
    /usr/share/autopkgtest/setup-commands/ if they are specified without path,
    to reduce typing.
  * Fall back to searching adt-virt-ssh's --setup-script in
    /usr/share/autopkgtest/ssh-setup/ if they don't exist in the current
    directory, to reduce typing.

  Bug fixes:
  * When running a test as user on a root testbed, run source extraction under
    set -e, to fail early at the proper error. (LP: #1346388)
  * Add test case for non-existing --apt-source package name.
  * Add "installed" autopkgtest to run adt-run against a simple source tree in
    $ADTTMP, to avoid using Python modules from the autopkgtest source tree.
    This spots grave bugs like in 3.2.1.

autopkgtest (3.2.2) unstable; urgency=medium

  * adt-run: Fix typo that broke --apt-source with "build-needed" tests.

autopkgtest (3.2.1) unstable; urgency=medium

  * Ship forgotten adt_run_args module.

autopkgtest (3.2) unstable; urgency=medium

  Improvements:
  * Add --copy option to copy a file or directory into the testbed.
  * Support specifying a click name like "com.example.myapp" with --click to
    test an already installed click instead of a local *.click file.
    (LP: #1338899)
  * Introduce "autopilot_module" click test control field for specifying an
    autopilot test module name. This allows tests to require additional test
    dependencies, restrictions, etc. without having to specify the full
    invocation of autopilot. (LP: #1338911)
  * In "unpack into temp dir" mode, ignore Python 2.x test dependencies. They
    are not exposed anyway as with $PYTHONPATH we can only serve one major
    Python version, and we want Python 3.
  * Port remaining runners from obsolete optparse to modern argparse. This
    gives a consistent command line help and support for reading options from
    a file with '@'.
  * Port adt-run to argparse, and clean up the CLI:
    - Drop rarely used and confusing options: --instantiate, --sources-tests,
    --sources-no-tests, --built-binaries-filter,
    --binaries{,-forbuilds,-fortests}. Add a single new --built-binaries as
      the opposite of -B/--no-built-binaries.
    - CLI parsing is now done in lib/adt_run_args.py, with separate unit
      tests.
    - This now allows any part of the command line (for adt-run itself or the
      virt-server or both) to be read from a file, using the '@' prefix.
      (Closes: #749241)
    - Separate the options into different logical groups, in both --help and
      the manpage.
  * Make --override-control work for click manifests. (LP: #1342818)
  * Introduce "Test-Command:" debian/tests/control field to run a shell
    command instead of a "Tests" named executable. This avoids having to write
    trivial one-liner scripts or allows wrapping calls to test executables.
    (Closes: #741330)

  Bug fixes:
  * Set $USER environment variable also for tests that run as root.
    (LP: #1337802)
  * Add lintian override for ssh-setup/SKELETON, it's deliberately not
    executable.
  * Increase timeout for aa-clickhook workaround for LP#1337253, 100s is often
    not enough.
  * ssh-setup/adb: Disabling the first-time wizards sometimes fails due to adb
    being brittle at that time. Retry up to 5 times.
  * Optimize aa-clickhook workaround for LP #1337253 to only rebuild the
    profile of the installed click app. This reduces the time from about a
    minute to about a second.
  * qemu, lxc: Use VirtSubproc subprocess wrappers to get timeout handling for
    all commands.
  * Rewrite build depends to not rely on builders being able to fall back to
    alternatives (python >= 3.3 | python3-mock), to ease backporting.
  * tests/pyflakes: Use pyflakes3.
  * Only run pyflakes test during package build if pyflakes3 is available.
    This unbreaks backports.
  * Run "click info" as the same user as the test. (LP: #1342836)
  * Keep <testname>-stderr output files for "allow-stderr" tests.

autopkgtest (3.1) unstable; urgency=low

  Improvements:
  * ssh-setup/adb: On Ubuntu phones, use phablet-config to disable first-time
    wizards/intros. Implement reboot and revert. This requires phablet-config
    now, either installed as package or from bzr checkout with
    PHABLET_TOOLS_PATH=<checkout dir>.
  * ssh-setup/adb: Save/restore NetworkManager system connections in revert.
  * ssh-setup/adb: Add -r/--reset option to perform a factory reset before
    running tests.
  * Bring back --control-override option, with tests and documentation.

  Bug fixes:
  * Work around subprocess.Popen bug in Python 3.2.
  * lib/testdesc.py: Change exceptions to be Python 3.2 compatible.
  * Kill the actual test on timeout instead of just the wrapping shell script.
  * Fix workaround for LP #1333215: Don't run with "su -l" as that causes
    extra stdout spew from su for nonexisting home directories; instead just
    source /etc/profile and ~/.profile as these are the parts that we need.
  * Run aa-clickhook after every click install, otherwise it doesn't apply to
    newly installed clicks. Works around LP #1337253.
  * Open files which can potentially contain non-ASCII data with explicit
    UTF-8 encoding, to avoid UnicodeDecodeErrors under C locale.
    (Closes: #753582)
  * Fix metavariable names in adt --help.
  * ChrootRunner tests: Retry removal of temporary chroot when busy.
  * Don't let a first failed apt-get update run break the test due to stderr;
    it gets retried 15 seconds later.

autopkgtest (3.0.2) unstable; urgency=low

  * Fix -s/--shell-fail to actually work again (regression in 2.19).
  * Quiesce the sourcing of /etc/profile and ~/.profile to avoid "stdin: is
    not a tty" clutter.

autopkgtest (3.0.1) unstable; urgency=low

  * Install ssh setup scripts executable.
  * doc/README.running-tests.rst: Add ssh runner example.

autopkgtest (3.0) unstable; urgency=low

  Improvements:
  * Add support for click packages (https://click.readthedocs.org):
    - Add two new actions --click and --click-source to run tests of a click
      package. For now, --click-source is mandatory as parsing/getting the
      source from a click's x-source manifest entry is not yet implemented.
    - Add doc/README.click-tests.rst to document test definition for click
      packages.
    - Add setup-commands/ubuntu-touch-session: --setup-commands script for
      installing click, the Ubuntu SDK, some extra packages for autopilot, and
      launching Xvfb and an user upstart session. This approximates the
      environment of an Ubuntu touch device. You can also run
      setup-commands/ro-apt afterwards.
  * If the testbed does not have root (null runner or schroots without
      root-user/group) or a writable dpkg database (as on Ubuntu system
      images), fall back to unpacking test dependencies into a temporary
      directory and set *_PATH environment variables accordingly. This will
      make a limited number of test dependencies work in these test beds.
  * Add setup-commands/ro-apt for making dpkg/apt readonly, to
    approximate what happens with Ubuntu system images.

  * Add adt-virt-ssh runner: Generic runner for an externally set up testbed
    which assumes nothing else than a working ssh connection. This can call a
    "setup script" to create/configure a testbed (such as spinning up a cloud
    VM with nova or setting up SSH on a phone through ADB). See the manpage
    for details. Thanks to Jean-Baptiste Lallement!
  * Add ssh-setup/SKELETON for a basis to write ssh setup scripts.
  * Add ssh-setup/adb: Set up an ssh connection to an adb host. If that adb
    host is an Ubuntu Touch system, it also does some extra configuration like
    disabling the screen timeout and allowing Autopilot to introspect running
    apps. See header commends for details. Thanks to Jean-Baptiste Lallement!
  * Add ssh-setup/nova: Sets up a nova instance to use as an autopkgtest
    testbed. It assumes that the host system is already prepared to run nova
    commands. This is not very robust at the moment and more like a proof of
    concept. Thanks to Jean-Baptiste Lallement!

  * Convert doc/README.* to reStructuredText and rename to *.rst. Build HTML
    files from them using rst2html and install them also.
  * adt-run: Never run testbed commands with newlines in them. Those make it
    ridiculously hard to implement runners which can only accept shell
    strings.

  Bug fixes:
  * lxc: Don't leak the host environment into the container (lxc-attach
    currently defaults to that), but build a clean and minimal environment
    from /etc/environment and /etc/default/locale.
  * Fix calling a virt server with full path.
  * lib/VirtSubProc.py, downtmp_remove(): Only remove the downtmp if it is
    actually set. This avoids confusing error messages if something fails
    during early test bed setup.
  * adt-run: set APT_LISTBUGS_FRONTEND=none when installing packages. This
    will avoid the apt-listbugs prompt when apt-listbugs is installed.
    Thanks to Antonio Terceiro!
  * schroot: Ending the schroot session sometimes fails on "Device or resource
    busy". Retry 10 times before giving up instead of failing immediately.
  * adt-run: Read /etc/profile and ~/.profile when running tests as user. This
    emulates the bits of "su -l" that we want, until this gets cleaned up for
    using "su -l" completely.
  * tests/run-parallel: Get sudo password early, to avoid asking for it in
    background jobs.
  * Restrict --apt-pocket to *.ubuntu.com and *.debian.org sources, as
    third-party repositories such as launchpad.net don't (necessarily) have
    pockets. (LP: #1334332)
  * Fix high adt-virt-* CPU usage on reading commands on stdin.

autopkgtest (2.20) unstable; urgency=medium

  Improvements:
  * Add "Test" argument/member for a shell string command, instead of
    specifying a path to a test executable. Not currently supported by Debian
    parser.
  * Convert doc/README.* to Markdown, so that it's easy to format them as PDF
    or HTML, e. g. with pandoc.
  * If the --user option is given or the testbed specifies a normal user, pass
    this to --setup-commands through $ADT_NORMAL_USER.
  * Allow --setup-commands which would ordinarily reboot the testbed to
    suppress this by creating a stamp file in /run. This is useful for
    commands which run processes that aren't started at boot.
  * Default to C.UTF-8 locale instead of C. This is supported in Debian >= 7
    (wheezy) and Ubuntu >= 12.04 LTS, and much closer to reality than C.
  * If the testbed does not have root (null runner or schroots without
    root-user/group) or a writable dpkg database (as on Ubuntu system images),
    fall back to unpacking test dependencies into a temporary directory and
    set *_PATH environment variables accordingly. This will make a limited
    number of test dependencies work in these test beds.

  Bug fixes:
  * Don't include "adt-satdep" dummy package in <test>-packages output files.
  * adt-buildvm-ubuntu-cloud: Use host timezone as default for the VM, to
    avoid TZ changes during boot when running tests. Thanks Jean-Baptiste
    Lallement!
  * Run tests with specified locale also when they run as user.
  * Fix test failure with Ubuntu's pkgbinarymangler installed.

autopkgtest (2.19) unstable; urgency=medium

  Improvements:
  * Support new argument type --changes (implied if file name ends with
    ".changes"). This behaves as if you specified all debs and the dsc from
    the given binary changes file and implies --no-built-binaries. I. e. this
    is the right thing to test a local package that you just built.
    (Closes: #738552)

  Bug fixes:
  * schroot: Always advertise "revert" capability, as it implements revert
    with simply close()/open().
  * adt-run: Move warning about missing root on testbed into the correct
    place.
  * Install build-essential and build dependencies in one apt run, which is
    slightly faster.
  * Explicity specify UTF-8 encoding for reading/writing Debian control files,
    to fix UnicodeDecodeError under C locale.
  * Determine testpkg-version also for --built-tree tests.
  * schroot: Refuse to work with non-ephemeral schroots, i. e. "directory"
    type schroots without union-type. Point this out in the manpage, too.
    (Closes: #751574)
  * schroot: Verify that /proc is mounted, and abort with a proper error
    message if not. (Closes: #751575)
  * adt-buildvm-ubuntu-cloud: Don't start cloud-config with a leading newline,
    not yet supported in Ubuntu 12.04's cloud-init. Thanks Jean-Baptiste
    Lallement! (LP: #1330950)
  * adt-buildvm-ubuntu-cloud: Don't use write_files cloud-init command, not
    yet supported in Ubuntu 12.04's cloud-init. Replace with runcmd echos.
  * adt-buildvm-ubuntu-cloud: Purge cloud-init and shutdown after cloud-init
    is done, not while it's still running.
  * adt-buildvm-ubuntu-cloud: Create upstart job for ttyS0 console unless it
    already exists, for compatibility with Ubuntu 12.04.
  * adt-virt-qemu: Use python3 or python for eofcat depending on which one is
    available. Fixes operation with older Ubuntu versions which don't yet
    install Python 3 by default.

  Code cleanup:
  * Unify logging functions into lib/adtlog.py, make their API easier and more
    consistent, and use them in adt-run and all adt-virt-*.
  * Move test control parsing and keeping data into lib/testdesc.py. This
    eases factorization, abstraction for future support of other source
    package formats such as click, and testing. Add new tests/testdesc
    unittests. This also drops the "tree0t-" like prefixes from test names in
    the results and the output file names.
  * Don't read --setup-commands files multiple times.

autopkgtest (2.18) unstable; urgency=medium

  Improvements:
  * adt-run: When running from git, show the current SHA and commit summary of
    HEAD.

  Bug fixes:
  * tests: Fix race in cleaning up ChrootRunner mounts.
  * adt-run: If apt-get update fails on publishing built binaries, retry after
    15 seconds.
  * VirtSubproc.cleanup(): Avoid recursion if something in hook_cleanup()
    bombs.
  * Fix --shell to also work with --output-dir. (LP: #1317078)

  Code cleanup:
  * VirtSubproc: Document and cleanup execute*() functions.
  * Some test robustifications, to avoid making too many assumptions about
    debug output.
  * adt-run: Eliminate usage of testbed "execute" command, which is too
    complicated and limiting. Use "print-execute-command" directly instead.
  * Drop "execute" command.
  * adt-run: Unify Testbed.command() and commandr() methods and make them
    stricter.
  * Add prefixes to all temporary directories.
  * Remove autopkgtest-xenlvm. It has been orphaned since ~ 2008, few to no
    current users, and no maintainer. (Closes: #508660, #680122)
  * Simplify build system.
  * Drop concept of "shstring". All runners must provide an auxverb now,
    possibly with a wrapper and quoting by themselves if their implementation
    can only deal with shell commands. This avoids having to tell apart these
    two cases in adt-run, clarifies the documentation, and greatly simplifies
    the code. (Closes: #750544)
  * qemu: Use low-level IO in runcmd.  This avoids all the Python overhead and
    buffering and is less prone to bytes vs. string issues.
  * qemu: Fix text vs. binary confusion in reading and copying /etc/timezone.
  * schroot: Call schroot command with -q, to avoid stderr spew if the schroot
    has "message-verbosity=verbose".
  * Port to Python 3.

autopkgtest (2.17.1) unstable; urgency=medium

  * Make $ADTTMP readable and accessible to other users, for tests which use
    other users through "su" and similar.
  * adt-virt-qemu: Set $HOME for root also after rebooting.
  * tests/adt-run: Force stdout to UTF-8 to see proper failures even in
    non-UTF-8 environments, instead of crashing with UnicodeEncodeError.
  * adt-run: Flush input to the stdout/err cat processes and give them some
    time to catch up after the end of the test, to avoid losing the last bits
    of output. (Closes: #750343)
  * Add missing build-essential and debhelper test dependencies.
  * adt-run: Ensure the cleanup handler for the tests tree runs also if
    copying up the tests tree fails. (Closes: #749655)
  * Put back the LXC runner on Debian, so that folks with manual LXC container
    setups can still use it.
  * adt-build-lxc: Check for default networking in /etc/lxc/default.conf. If
    it's "empty", abort with an error message that container networking needs
    to be set up first. Until LXC gets fixed in Debian (#747914) you need to
    manually set up a bridge, dnsmasq, and the default config.
  * adt-build-lxc: Support specifying $ADT_APT_PROXY. If apt-cacher-ng is
    running locally, use that as a default.

autopkgtest (2.17) unstable; urgency=medium

  New features:
  * adt-buildvm-ubuntu-cloud, adt-setup-vm: If apt-cacher-ng is running
    locally, use that as a default for --proxy/ADT_APT_PROXY.
  * Add "reboot" testbed capability and implement it for QEMU (most other
    runners don't support it conceptually). Reboot the testbed if the setup
    commands affected boot relevant directories (/boot, /etc/init.d,
    /etc/init/, or /{etc,lib}/systemd/system). (LP: #1324435)

  Bug fixes:
  * adt-setup-vm: Run the initial apt-get update without fetching
    translations.
  * Stop shipping the LXC runner and associated tools on Debian. It does not
    work out of the box until Debian's LXC containers get proper networking by
    default (see Debian #747914).
  * adt-buildvm-ubuntu-cloud: Add LSB header to generated SysV init script to
    avoid a warning from insserv.
  * VirtSubproc: Fix generation of auxverb from shstring.
  * Drop debhelper dependency, not necessary any more since 2.16.

autopkgtest (2.16.4) unstable; urgency=medium

  * adt-build-lxc: Unset $http[s]_proxy for the post-creation apt-get update
    if it refers to localhost.
  * adt-build-lxc: Fix cache cleaning for upgrades.

autopkgtest (2.16.3) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Explicitly use virtio ethernet device, as the
    default one is horribly slow with older QEMU versions.
  * adt-virt-qemu: Add -c/--cpus option for running VMs with multiple CPUs.
  * adt-run: Retry writing to stderr a few times on EAGAIN.
  * adt-run: If apt-get update fails, retry after 15 seconds. This should
    work around the frequent "hash sum mismatch" race condition.
    (LP: #1319416)
  * adt-buildvm-ubuntu-cloud: Configure dpkg to use unsafe io, to speed up
    tests which run on hard disk backed overlays.
  * Simplify the pipelining of test stdout/err, and stop using explicit pipes
    and the "downtmp-shared-fifo" capability. This provides live output for
    all runners, including qemu. (LP: #1320194)
  * Drop obsolete downtmp-shared-fifo capability from all runners.
  * Fix "Operation not permitted" errors on cleaning up empty stdout/err
    result files with shared downtmp runners.
  * adt-buildvm-ubuntu-cloud: Refine init.d script to only launch a shell on
    "start".
  * adt-build-lxc: Add optional third argument for specifying a non-native
    architecture.

autopkgtest (2.16.2) unstable; urgency=medium

  * Support ":native" dependencies.
  * Add LXC runner test case for running as different user.
  * Add QEMU runner test case for performance and integrity of copying (1000
    files with 100 kB each).
  * copyup/down: Clean up cp process on timeout, to fix eternal hang.
  * adt-virt-qemu: Disable shared downtmp. For bigger source trees 9p in
    current QEMU is way too slow (in the magnitude of 2 MB/s, and max'ing out
    CPU usage), so we can't use it directly as a normal file system.
  * Revert "Don't extract/build source packages in shared downtmp", due to
    above change. This stops penalizing other runners with extra source tree
    copies.
  * VirtSubproc: Clean up auxverb processes on timeout.
  * adt-run: Stop testbed on TERM and QUIT signals, to avoid leaving stale
    schroot/qemu/LXC processes around when e. g. stopping a job from Jenkins.
  * adt-virt-qemu: Fix runcmd to make the command's stdin actually look and
    behave like a pipe, instead of reading directly from the "stdin" file. The
    latter leads to commands exiting prematurely when hitting the file's EOF.
    (LP: #1317358)
  * Convert one of the QEMU tests from source tree to dsc, to cover that case
    as well.
  * Add test case for QEMU with --apt-source (using libpng).
  * adt-virt-qemu: Create eofcat in /bin instead of the shared /autopkgtest
    mount, as running it from the latter again triggers the "invalid numerical
    value" bug with 9p from older QEMU versions.
  * adt-buildvm-ubuntu-cloud: Purge some unnecessary services to speed up boot
    time a bit.
  * @builddeps@ now includes build-essential, not just make. (LP: #1317357)
  * Make -s/--shell-fail start a shell on failed builds as well.
    (LP: #1317055)

autopkgtest (2.16.1) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Configure vmalloc=512M on i386 for the udisks2
    autopkgtest.
  * adt-buildvm-ubuntu-cloud: Disable downloading of package translations.
  * Create testpkg-version and testbed-packages before starting the builds, to
    also have them when builds fail.
  * Fix VirtSubproc.copyup_shareddir() for testbed paths which are not already
    in the shared downtmp.
  * When cleaning up a temporary testbed path fails with a permission error,
    clean it in the testbed (where we usually have root privileges). This
    avoids lots of "ignored OSError" spam with the schroot runner.
  * Stop assuming that we can chown files in the shared downtmp, it's not true
    with QEMU's 9p file system. Fall back to chmod'ing to world-writable files
    as with 9p there is no other way to implement this.
  * Simplify source tree/package extraction logic.
  * adt-run: Don't extract/build source packages in shared downtmp, to avoid
    permission/ownership problems with limited implementations like 9p.
  * adt-virt-qemu: Re-enable shared downtmp, now that operation with different
    UIDs is fixed.
  * Don't create $ADTTMP in shared downtmp to avoid permission/ownership
    problems with limited implementations like 9p.
  * adt-virt-qemu: Fix exception if workdir is not currently set.
  * adt-virt-qemu: Increase timeout for login prompt from 2 to 5 minutes, for
    slow VMs or machines under heavy load.
  * Improve error handling on copy timeouts.
  * adt-virt-qemu: Remove overlay file as early as possible, to avoid leaking
    large files in error conditions. Let QEMU run with the deleted inode.
  * Don't run apt-get and setup commands with sending output to /dev/stdout.
    When redirecting adt-run's output directly into a file this causes a
    seek to start and thus partially overwriting the output file. This also
    puts the apt-get output back to stdout as it used to be before 2.15.
    (Closes: #747041)

autopkgtest (2.16) unstable; urgency=medium

  * adt-buildvm-ubuntu-cloud: Use "-monitor null" instead of "-monitor none",
    as the latter does not work with older Qemu versions.
  * adt-virt-qemu: Don't call qemu-img with -q option, it doesn't exist in
    older Qemu versions yet. Redirect stdout instead.
  * tools/adt-setup-vm: Disable downloading of package translations to save
    some bandwidth. Thanks Jean-Baptiste Lallement.
  * adt-virt-qemu: Fix race condition that caused a ValueError when the exit
    code file was not written yet.
  * adt-virt-qemu: Automatically detect a normal user to run tests as, unless
    -u is given. This works similarly to -lxc.
  * Add tests for adt-virt-user with non-default users.
  * adt-virt-qemu: Disable shared downtmp for now, it breaks on older Qemu
    versions and the current setup does not work with different UIDs in the
    testbed.
  * adt-virt-qemu: Use file locks for host-side ssh port forwards to avoid
    race condition.
  * adt-run: Drop usage of dh_listpackages, it needs debhelper which is an
    undeclared (and also unwanted) dependency. Parse debian/control directly
    and make use of our existing arch tag resolution. (LP: #1312276)
  * adt-virt-qemu: Copy host's timezone into VM to avoid time zone skew when
    copying files.
  * adt-virt-qemu: Show determined normal user instead of <user> in ssh
    message, to get a fully copy&pasteable command.
  * adt-virt-qemu: Ensure tests which run as root have $HOME set.
  * Fix --proposed option to also apply to sources.list.d/* lists and to
    multiple sources. (LP: #1313278)
  * adt-buildvm-ubuntu-cloud: Install haveged, to avoid failing tests due to
    running out of entropy.
  * adt-virt-qemu: Add --qemu-options for passing additional options to QEMU.
    Thanks Diogo Matsubara!

autopkgtest (2.15) unstable; urgency=medium

  * Fix --apt-source mode to download the source with apt-get's
    "--only-source" option, to actually get what we asked for.
  * Add missing python3 build dependency for tests/adt-run. Fixes FTBFS of
    backports.
  * adt-buildvm-ubuntu-cloud: Add options to pass custom metadata/userdata.
    Thanks Diogo Matsubara.
  * Replace pbuilder-satisfydepends-classic with parsing and satisfying build
    and test dependencies with libdpkg-perl and "apt-get -f install". This
    gets rid of the pbuilder dependency and some nasty hacks like the
    --internal-chrootexec script, and allows us to be more flexible such as
    also supporting Recommends: installation.  (LP: #1205110)
  * Fix "specifiy" typo in error message. Thanks Jelmer Vernooij.
    (Closes: #745413)
  * adt-build-lxc: Stop using the -F template option to flush the cache as it
    is not available in the debian template. Remove caches manually instead.
    (Closes: #745415)
  * adt-buildvm-ubuntu-cloud: Fall back to latest stable if there is no
    development series.
  * Add "needs-recommends" restriction for installation of recommended
    packages for the test dependencies. This does not affect build
    dependencies. (Closes: #708963)

 -- Martin Pitt <email address hidden>  Tue, 24 Nov 2015 10:39:08 +0100

Upload details

Uploaded by:
Martin Pitt
Uploaded to:
Trusty
Original maintainer:
Autopkgtest team
Architectures:
all
Section:
devel
Urgency:
Medium Urgency

See full publishing history Publishing

Series Pocket Published Component Section

Builds

Trusty: [FULLYBUILT] i386

Downloads

File Size SHA-256 Checksum
autopkgtest_3.18.1~ubuntu14.04.1.tar.gz 184.5 KiB 33197fd3c4d57594fe2235e2ce9d73480531465f5799800900fcc3773133303f
autopkgtest_3.18.1~ubuntu14.04.1.dsc 1.8 KiB c8e1ebb21220dc4794ae51eba8d06920351f9ff80fab834b9603020682613d93

View changes file

Binary packages built by this source

autopkgtest: automatic as-installed testing for Debian packages

 autopkgtest runs tests on binary packages. The tests are run on the
 package as installed on a testbed system (which may be found via a
 virtualisation or containment system). The tests are expected to be
 supplied in the corresponding Debian source package.
 .
 See autopkgtest(1) and /usr/share/doc/autopkgtest.
 Depending on which virtualization server you want to use, you need to
 install additional packages (schroot, lxc, lxd, or qemu-system)
 .
 For generating tests of well-known source packages such as Perl and Ruby
 libraries you should install the autodep8 package.