Change logs for autopkgtest source package in Stretch

  • autopkgtest (4.4) unstable; urgency=medium
    
      [ Martin Pitt ]
      * doc/README.package-tests.rst: Document network access (Closes: #851556)
      * qemu: Robustify ssh port locks.
        Stop assuming that /run/lock is user-writable (it is not in non-Debian
        systems). Instead create the lock file in /tmp and use 'x' to avoid
        /tmp file races.
      * tests/autopkgtest: Fix crashes when running on non-apt system
      * Fix candidate version detection for packages containing regexp operators
        '+' and '.' are valid characters in a Debian package name. Escape them
        in the call to apt-cache policy so that we get what we want to know.
        (Closes: #855954)
    
      [ Iain Lane ]
      * Fix build_source to work if "Package-List" is the last line in the apt
        output (Closes: #851899)
      * autopkgtest-virt-lxd: Check uptime for reboot waiting. (LP: #1654025)
      * Add a debug-fail hook and implement it for autopkgtest-virt-ssh.
        At the minute, this is mainly so that the nova script can have its
        failure information (`nova console-log') propagated up to the output, so
        that in the case of kernel panics or other random failures we get useful
        output that the driver of autopkgtest (e.g. autopkgtest-cloud) can look
        at. (LP: #1630578)
      * autopkgtest-build-lxd: Allow overriding the target release by setting
        RELEASE=. This will cause the container to be dist-upgraded to the new
        release. Useful for the very early stages of a release when the LXD
        images on images.linuxcontainers.org don't exist yet.
    
      [ Barry Warsaw ]
      * Pass Dpkg::Options::=--force-confnew to apt-get install.
        This avoids dpkg from prompting for conffile installation when you always
        want the new conffile in the testbed anyway. (Closes: #852475)
    
     -- Martin Pitt <email address hidden>  Sun, 30 Apr 2017 19:09:57 +0200
  • autopkgtest (4.3) unstable; urgency=medium
    
      [ SZALAY Attila ]
      * Respect --shell-on-failure on test dep install failure (Closes: #844255)
    
      [ Barry Warsaw ]
      * Use a test name that won't collide with my $HOME.
      * Shorten the name in response to review
      * testdesc.py: Feature: test-name=foobar added for better Test-Command names
        (Closes: #839253)
      * autopkgtest: Support --test-name and deprecate --testname
    
      [ Paul Gevers ]
      * tests: Use valid Debian architecture in ChrootRunner tests
        (Closes: #849676)
    
     -- Martin Pitt <email address hidden>  Wed, 11 Jan 2017 12:34:09 +0100
  • autopkgtest (4.2.2) unstable; urgency=medium
    
      * tests/adt-run: Adjust expected cpu_model in
        NullRunner.test_tree_output_dir()
      * autopkgtest-buildvm-ubuntu-cloud: Run setup script with -x in verbose
        mode. This provides more useful information when updating/adjusting
        setup-testbed.
      * setup-commands/setup-testbed: Run all apt operations with
        DEBIAN_FRONTEND=noninteractive.
    
     -- Martin Pitt <email address hidden>  Tue, 29 Nov 2016 09:11:05 +0100
  • autopkgtest (4.2.1) unstable; urgency=medium
    
      * Fix trailing '\' in test command  with ssh runner
      * ssh: Filter out trailing spaces from commands in auxverb
      * Apply patches for tests with unbuilt-tree (Closes: #844454)
      * setup-commands/setup-testbed: Install dpkg-dev
      * Fix stray ')' in --apt-pocket handling
      * Adjust expected cpu_model in NullRunner.test_tree_output_dir()
      * PEP-8 fixes
      * Robustify tests against kernel versions with trailing space
    
     -- Martin Pitt <email address hidden>  Wed, 23 Nov 2016 22:49:59 +0100
  • autopkgtest (4.2) unstable; urgency=medium
    
      [ Martin Pitt ]
      * ssh: Fix result of tests that break the testbed. (LP: #1630578)
      * qemu: Fix user/password login mode without a ttyS1 root shell.
         - Concatenate bytes with each other, not a str to a byte.
         - Sync/flush console after sending password and ttyS1 shell command, wait
           until login is complete before continuing.
         - Send password to sudo for ttyS1 shell command, to also work with
           password-requiring sudo. (LP: #1630963)
      * qemu: Fix reboot in user/password login mode.
      * ssh: Add --capability option.
        This is useful to run tests which require an isolation level or have
        breaks-testbed without a setup script.
      * autopkgtest-build-lxd: Ask "lxc profile" for default bridge instead of
        /etc/default/lxd-bridge. The latter went away in recent LXD versions, and
        "lxc profile show default" also works in earlier versions.
      * Make --apt-upgrade consider a "404" error as test failure.
        Previously all errors from "apt-get update" were considered temporary
        failures, i. e. the setup command always exited with 1. But if we specify
        e. g. a nonexisting release from a distro or a PPA, this won't just go
        away by itself -- we want the test to actually fail instead of getting
        stuck in an eternal "retry on temporary failures" loop.
      * schroot: Don't fail on stderr of schroot as long as it succeeds.
        (LP: #1637898)
      * qemu: Hide detected udev file system properties on /dev/baseimage.
        (Closes: #842299)
    
      [ Simon McVittie ]
      * VirtSubproc: open arbitrary files in binary mode.
      * VirtSubproc: if check_exec status is nonzero, include stderr in message.
      * qemu: put the shared directory in /run. If the virtual machine's root
        filesystem is read-only, we won't be able to create /autopkgtest.
      * qemu: Move eofcat into /tmp. This avoids having to write it to /bin, which
        might be read-only.  Re-create eofcat on every boot for this.
      * source_rules_command: log the result we got if it is not as expected
        (Closes: #842302)
      * Add 'needs-reboot' restriction. This allows tests to be explicit about
        needing to reboot the machine, rather than assuming that
        'isolation-machine' is enough. It is plumbed into the existing 'reboot'
        capability, which is distinct from 'isolation-machine'.
        (Closes: #842300)
      * Add --setup-commands-boot for commands that must be run at every boot.
        This can be used for doing "mount -o remount,rw /" before any dpkg
        operation, or transient setup like writing files into /run/.
        (Closes: #842091)
    
     -- Martin Pitt <email address hidden>  Tue, 01 Nov 2016 23:12:55 +0200
  • autopkgtest (4.1) unstable; urgency=medium
    
      [ Martin Pitt ]
      * ssh-setup/nova: Move to python3 and to current -novaclient API
      * schroot: Bump end-session timeout to 5 minutes.
        30 seconds might not be enough when running big schroots on slow disks.
      * ssh-setup/nova: Add --nova-reboot option.
        In some clouds using "nova reboot --poll" waits several minutes until
        after the machine is actually up again. OTOH a simple "reboot" inside some
        other clouds causes network to break after "reboot". As there is no method
        that works everywhere, default to the autopkgtest-virt-ssh behaviour again
        ("reboot" and wait for ssh), and add an option to use "nova reboot"
        instead.
    
      [ Stéphane Graber ]
      * debian/tests/lxd: Update bridge setup to work with LXD 2.3 and higher.
        This moves from /etc/default/lxd-bridge to lxd-internal configuration.
    
      [ Barry Warsaw ]
      * Support url#refspec format.
        Fix the bug in the previously supported url#branch syntax, where the code
        expected a space separator but the documentation described the # separator.
        Generalize the approach with an explicit fetch/checkout so that GitHub style PR
        refspecs like "refs/pull/21/head" also work as branch name.
        (Closes: #839072)
    
     -- Martin Pitt <email address hidden>  Sat, 01 Oct 2016 10:55:16 +0200
  • autopkgtest (4.0.5) unstable; urgency=medium
    
      * setup-commands/setup-testbed: Don't configure ifupdown when using
        networkd, as done by latest vmdebootstrap.
      * autopkgtest-chroot.1: Fix typo
      * Drop broken and unmaintained ssh-setup/snappy setup script.
        This hasn't ever been used in production and stopped working long ago.
      * Run tests/autopkgtest_args during package build
      * Put virt servers back into $PATH.
        The virt servers were originally intended to be public API (even though not
        documented as such) and other packages might provide virt servers. Put them
        back into /usr/bin, with an "autopkgtest-virt-" prefix to mirror the original
        "adt-virt-" naming. Rename the manpages to match the binaries.
        (Closes: #835204)
      * tests/autopkgtest: Relax checks for testpkg.deb from local repository
        apt 1.3 changes the format, so be less picky about it.
      * Fix "apt-get source" version detection for single-line "Package-List:"
    
     -- Martin Pitt <email address hidden>  Mon, 29 Aug 2016 08:35:00 +0200
  • autopkgtest (4.0.4) unstable; urgency=medium
    
      [ Antonio Terceiro ]
      * autopkgtest-build-lxc: Add new optional argument for a customization script
    
      [ Martin Pitt ]
      * Add /usr/bin/adt-virt-* backwards compatibility symlinks (Closes: #833407)
      * Add pyflakes3 build dependency to run pyflakes test at build time
        (Closes: #833502)
      * tools/autopkgtest-build-lxd: Drop running poweroff before "lxc stop"
    
      [ Ondřej Nový ]
      * Prefer pycodestyle over pep8 (Closes: #834076)
    
     -- Martin Pitt <email address hidden>  Fri, 12 Aug 2016 11:07:10 +0200
  • autopkgtest (4.0.2) unstable; urgency=medium
    
      * If --setup-commands exits with code 100, consider this as a bad package
        (autopkgtest exit code 12) instead of a transient testbed failure (exit
        code 16). This allows setup commands to detect errors which should be
        attributed to the tested package itself (like dist-upgrading to the new
        version). Change standard "apt-get update" setup commands to exit with
        code 1 to continue treating that as a temporary failure.
      * setup-commands/setup-testbed: Remove ubuntu-core-launcher and
        snap-confine.
      * Fix some leftover "adt" → "autopkgtest" in manpages.
      * debian/tests/lxd: Move from adt-build-lxd to autopkgtest-build-lxd.
      * ssh-setup/nova: Use "autopkgtest*" instance name instead of "adt*".
      * Rename temporary "adt-satdep" package to "autopkgtest-satdep".
      * autopkgtest.1: Point out that if a .changes contains only debs, a
        corresponding .dsc must still be provided on the command line.
        (Closes: #828025)
      * autopkgtest.1: Document that if no source is given on the command line,
        the current directory will be tested.
      * debian/tests/installed: Fall back to old $ADT_TMP if $AUTOPKGTEST_TMP is
        not set, to work in debci (which runs an older autopkgtest).
      * Disable SchrootClickRunner.test_setup_ubuntu_touch_session for now, it
        breaks schroots and needs to move into a container.
    
     -- Martin Pitt <email address hidden>  Fri, 01 Jul 2016 20:19:58 +0200
  • autopkgtest (4.0.1) unstable; urgency=medium
    
      * Skip tests/autopkgtest NullRunner.test_apt_source_nonexisting test instead
        of failing if there are no deb-src apt sources configured on the host.
      * Add test for correctly parsing version number with less common characters.
      * autopkgtest: If the test argument is a legal apt source name, prefer
        testing that apt source name over testing that directory. If the latter
        is wanted, it can always be prefixed with ./ to disambiguate. Update the
        manpage accordingly.
      * autopkgtest.1: Update separator. (LP: #1591179)
      * Fix "apt-get source" version detection for source packages whose versions
        in different pockets have disjoint sets of binary packages (like Ubuntu's
        linux-raspi2).
      * ssh-setup/nova: If the normal "nova reboot" does not finish after five
        minutes, use the bigger "reboot --hard" hammer. This works around reboot
        bugs on some architectures.
      * Fix "apt-get source" version detection for old (Ubuntu precise) apts which
        does not yet understand --only-source, by ignoring other sources in awk.
    
     -- Martin Pitt <email address hidden>  Fri, 17 Jun 2016 12:08:55 +0300
  • autopkgtest (4.0) unstable; urgency=medium
    
      * Add new "autopkgtest" CLI. This provides a simplified CLI compared to the
        now deprecated adt-run:
        - It accepts only exactly one tested source package, and gives a proper
          error if none or more than one (often unintend) is given
        - It defaults to the current directory if that is a Debian source package
        - The order of arguments is not relevant any more
        - Built vs. unbuilt tree is now automatically detected
        - The explicit --source, --click-source etc. options are gone, the type of
          tested source/binary packages is detected automatically
        - The virtualization server is now separated with a double instead of a
          tripe dash, as the former is standard Unix syntax.
        - The virtualization server must be specified with its "short" name only,
          e. g. "ssh" instead of "adt-virt-ssh".
        The old "adt-run" CLI will still be available for some time.
        (Closes: #795274, LP: #1453509)
      * Rename adt-build* tools to autopkgtest-build* and build images prefixed
        with"autopkgtest" instead of "adt". Keep compatibility symlink for the old
        commands, and when being called through them, also produce images with the
        old adt* names.
      * Rename public ADT_* env vars to AUTOPKGTEST_*:
        - AUTOPKGTEST_APT_PROXY
        - AUTOPKGTEST_ARTIFACTS
        - AUTOPKGTEST_AUTOPILOT_MODULE
        - AUTOPKGTEST_NORMAL_USER
        - AUTOPKGTEST_REBOOT_MARK
        - AUTOPKGTEST_TMP
        As these are being used in existing tests and tools, also export/check
        those under their old ADT_* name.
    
     -- Martin Pitt <email address hidden>  Wed, 08 Jun 2016 10:13:01 +0200
  • autopkgtest (3.20.9) unstable; urgency=medium
    
      * Fix "apt-get source" version detection for very old source packages that
        don't have "Package-List:" yet. (LP: #1588199)
      * Skip NullRunner.test_apt_source_nonexisting test instead of failing if
        there are no deb-src apt sources configured on the host.
    
     -- Martin Pitt <email address hidden>  Thu, 02 Jun 2016 22:22:45 +0200
  • autopkgtest (3.20.7) unstable; urgency=medium
    
      * Use "gdk-pixbuf" as example package in tests and documentation instead of
        libpng. The latter recently got renamed.
      * setup-commands/setup-testbed: Don't install haveged into containers.
      * tests/adt-run: Make SchrootClickRunner tests work with a standard schroot
        (i. e.  no click and SDK preinstalled), by installing the packages via
        --setup-command.
      * tools/adt-buildvm-ubuntu-cloud: Adjust to new cloud image names from
        Ubuntu 16.10.
      * Exit with 12 ("bad package") instead of 16 ("temporary testbed failure")
        when --apt-source package does not exist.
      * Move installed python modules from /usr/share/autopkgtest/python to
        ../lib, to use the same name as in the source tree.
      * setup-commands/setup-testbed: Call all apt-get commands with /dev/null
        stdin, to avoid them seizing stdin. Fixes adt-build-lxc for Ubuntu trusty.
    
     -- Martin Pitt <email address hidden>  Thu, 26 May 2016 21:03:07 +0200
  • autopkgtest (3.20.6) unstable; urgency=medium
    
      * Fix OSError when running a shell is requested but /dev/tty does not exist;
        just log an error instead.
      * Fix parsing of candidate versions from "apt-cache policy" to always use
        the precise given package name. By default it falls back to a
        substring/regexp search (undocumented).
      * adt-build-lxd: Check the LXD configuration for the LXD bridge instead of
        the old LXC bridge, for apt proxy auto-detection. (LP: #1577968)
      * Generalize the apt proxy detection in adt-build* and setup-testbed to
        work for arbitrary proxies, not just apt-cacher-ng. (LP: #1577966)
      * Eliminate the need to set $AUTOPKGTEST_BASE to execute runner/adt-run from
        a git checkout. This also makes ./run-from-checkout obsolete, call
        runner/adt-run directly.
    
     -- Martin Pitt <email address hidden>  Tue, 17 May 2016 22:32:46 +0200
  • autopkgtest (3.20.5) unstable; urgency=medium
    
      [ Martin Packman ]
      * Fix ssh virt server example and testbed error.
    
      [ Martin Pitt ]
      * If git clone fails with "--git-source" the first time, retry after 15
        seconds. This should defend short temporary network glitches.
        (LP: #1571979)
      * adt-virt-qemu: Call eofcat helper with PYTHONHASHSEED=0 to avoid long
        hangs after booting the VM until the RNG gets initialized. (See #822431
        for details) (Closes: #821778)
      * adt-virt-ssh: Fix UnboundLocalError crash when logging in as root.
      * Fix running for multiple actions in one command line: (Closes: #822285)
        - Close the summary stream after the last test, not after the first.
        - Clean up the test tree on the testbed between actions.
      * Fix NullRunner.test_timeout_no_output to work with multiple parallel runs.
        (Closes: #816398)
    
     -- Martin Pitt <email address hidden>  Mon, 25 Apr 2016 00:14:05 +0200
  • autopkgtest (3.20.4) unstable; urgency=medium
    
      * setup-commands/setup-testbed: Fix kernel header installation for
        precise/armhf, which does not yet have linux-headers-generic.
      * Use "nproc" to determine the number of processors available, which is both
        more correct in a cgroup world, and also simpler.
      * Add new --build-parallel=N option to explicitly set the "parallel=N"
        $DEB_BUILD_OPTION for building packages, to override the default of
        "number of available CPUs". This is mostly useful in containers where you
        can restrict the available RAM, but not restrict the number of CPUs.
        (LP: #1569750)
      * setup-commands/setup-testbed: ubuntu-snappy got renamed to snapd, adjust
        package name.
      * adt-build-lxd: Set "distribution", "release", and "architecture"
        properties of generated images.
      * adt-build-lxd: Clean up all old images of the same distro/release/arch,
        not just the previous one. Also fix cleanup to work in non-English
        locales.
      * setup-commands/setup-testbed: Call apt-get purge only once with the list
        of all packages, instead of once per package. This is much faster.
      * SchrootClickRunner tests: Chown click dir in /opt after creating the user.
      * Bump Standards-Version to 3.9.8 (no changes necessary).
      * Update Vcs-* URLs.
    
     -- Martin Pitt <email address hidden>  Mon, 18 Apr 2016 11:19:45 +0200
  • autopkgtest (3.20.3) unstable; urgency=medium
    
      * Makefile: Install SKELETON after the programs (which use an [a-z] glob),
        as the latter behaves differently in different locales. Thanks Alexis
        Bienvenüe! (Closes: #820148)
      * adt-buildvm-ubuntu-cloud: Use https for cloud image download.
        (LP: #1566846)
      * setup-commands/setup-testbed: Purge ubuntu-snappy.
      * adt-virt-qemu: On AMD CPUs, default to -cpu host instead of
        "kvm64,+svm,+lahf_lm". This introduces more jitter, but is the only -cpu
        mode that actually allows nested QEMU with current QEMU versions.
      * adt-build-lxd: Force-delete preparation container at the end, even if it
        is running.
      * adt-build-lxd: Disable apt proxy configuration with ADT_APT_PROXY=="none".
    
     -- Martin Pitt <email address hidden>  Mon, 11 Apr 2016 16:27:09 +0200
  • autopkgtest (3.20.2) unstable; urgency=medium
    
      * setup-commands/setup-testbed: Purge lxc-common for testbed preparation.
      * adt-buildvm-ubuntu-cloud: Use the same code for determining the default
        qemu-system-* command as adt-virt-qemu. This adds support for ppc64el and
        other architectures. (Closes: #818892)
      * adt-buildvm-ubuntu-cloud: If ifnames was disabled for the initial boot,
        keep it disabled for subsequent boots instead of changing to ens3. This
        fixes building images for Ubuntu 15.04.
      * lib/VirtSubproc.py, cmd_reboot(): Drop workaround for dhclient hanging on
        reboot, LP #1556175 got fixed.
      * setup-commands/setup-testbed: Ensure that purging packages does not hang
        eternally on debconf prompts.
      * setup-commands/setup-testbed: Drop purging of xkb-data.
      * setup-commands/setup-testbed: Apply "vmalloc=512M" grub change also when
        using as a --setup-commands with adt-run, not only with building images.
        Fixes tests like udisks2 on i386 when using standard cloud images.
    
     -- Martin Pitt <email address hidden>  Tue, 05 Apr 2016 14:53:01 +0200
  • autopkgtest (3.20.1) unstable; urgency=medium
    
      * When testing click packages, don't regenerate all AppArmor profiles if
        /var/cache/apparmor/click-ap.rules already exists. That way the profiles
        can be pre-adjusted once in a testbed instead of once for each test run,
        which greatly speeds up iterations. (LP: #1553797)
      * Move SshRunner* tests from lxc to lxd.
      * NullRunner.test_tree_output_dir test: Only check for cpu_{model,flags} on
        x86 and ARM, as these need parsing adjustments on other architectures.
      * Disable lxd autopkgtest for now, this still needs some way to set a proxy.
      * lib/VirtSubproc.py, cmd_reboot(): Add workaround for dhclient hanging on
        reboot (see LP #1556175).
      * Fix regular expression for removing profile guarded dependencies on hosts
        that don't support build profiles.
      * adt-virt-lxc: Suppress lxc-copy's stdout in the "no btrfs" fallback case.
        (Closes: #818185)
    
     -- Martin Pitt <email address hidden>  Mon, 14 Mar 2016 22:35:54 +0100
  • autopkgtest (3.19.3) unstable; urgency=medium
    
      * setup-commands/setup-testbed: Avoid dpkg conffile prompts.
      * adt-virt-lxc: Call lxc-stop and lxc-destroy with --quiet, to fix breakage
        due to unexpected output with LXC 2.0.
      * adt-virt-lxc: Redirect lxc-destroy stdout, to work around LP #1543016.
      * Ignore build profiles on too old libdpkg-perl versions also when building
        the tested package.
      * adt-virt-lxd.1: Standard images from linuxcontainers.org stopped having
        "deb-src" apt lines by default. Document that standard setup commands are
        required for this and adjust examples accordingly.
      * adt-virt-lxc: Factorize cleanup code.
      * adt-virt-lxc: Run lxc-{start,stop} under "timeout" when running through
        sudo, as killing these on timeout does not work.
      * ssh-setup/nova: Wait until instance is actually ready before sending
        access info.
      * ssh-setup/nova: Show instance's console log on ssh or cloud-init timeouts,
        as that's very useful for debugging.
      * adt-virt-lxd: Drop redundant "lxc stop", just call "lxc delete --force".
      * adt-buildvm-ubuntu-cloud: Bump default image size from 4 to 20 GB.
      * runner/adt-run: Install ca-certificates along with git, to ensure that
        https URLs can be cloned.
      * tools/adt-build-lxd: Add workaround for broken "lxc file push" permissions
        (LP: #1548878)
    
     -- Martin Pitt <email address hidden>  Tue, 23 Feb 2016 17:56:45 +0100
  • autopkgtest (3.19.2) unstable; urgency=medium
    
      * Fix "apt-get source" version detection:
        - Ignore source record "Binary:" entries which are not actually binaries
          of that source.
        - Take the highest source version of all encountered binaries. In other
          words, as soon as apt pinning uses one package from -proposed, use the
          tests from -proposed too.
        - Only consider binaries which exist in all releases. This avoids newly
          introduced binaries (library transitions, new kernel versions) to skew
          the intended apt pinning as they would always win the "highest version"
          check from above.
      * Install /usr/share/autopkgtest/setup-commands/* scripts as executable, to
        make them work for vmdebootstrap --customize. (Closes: #810862)
      * ssh-setup/nova: Use extended RE for matching --image pattern.
      * setup-commands/setup-testbed: Fix handling of options in sources.list.
      * tools/adt-build-lxd: Fix parsing of release name from apt sources with
        options if lsb_release is not available.
      * setup-commands/setup-testbed: Regenerate initramfs when adding udev rule
        for disabling ifnames (for chroots).
      * adt-buildvm-ubuntu-cloud: Drop duplicate sed of cloud-init.prerm.
      * adt-buildvm-ubuntu-cloud: Don't try to run "None" if --post-command is not
        given.
      * adt-virt-lxc: Add timeouts to all LXC operations.
      * Fix chowning for "rw-build-tree" restriction: run it as root if available,
        and otherwise ignore it entirely. (LP: #1535234)
      * Drop apt-cache showsrc --only-source option, as this is not yet understood
        by Ubuntu 12.04's apt.
      * VirtSubproc.py, execute_timeout(): Avoid UnicodeDecodeErrors when called
        programs send gibberish. Decode manually with "replace" error mode
        instead. (LP: #1535741)
      * adt-virt-lxc: Avoid unnecessary reading and decoding of program outputs if
        we don't actually use it.
      * ssh-setup/nova: Use the image with the latest "created" time, instead of
        the last lexicographic name.
    
     -- Martin Pitt <email address hidden>  Thu, 21 Jan 2016 13:30:40 +0100
  • autopkgtest (3.19.1) unstable; urgency=medium
    
      * adt-virt-qemu: 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. This makes the QEMU runner behave the same way
        as the container ones.
      * tests/adt-run: Factorize common tests into superclasses.
      * doc/README.package-tests.rst: Point out that "Test-Command:" is also
        useful for running the same test script under different interpreters or
        different dependencies. (Closes: #809442)
      * Set summary_stream to None after closing it, to avoid trying to write
        late error messages from cleanup into it.
      * Gracefully handle failure to kill a timed out process.
      * ssh-setup/nova: Use image UUID instead of its name for "nova boot". This
        avoids failures if multiple images have the same name. (LP: #1524216)
      * adt-build-{lxc,lxd}: Run testbed setup scripts also if they are not
        executable. Thanks Antonio Terceiro! (Closes: #809917)
      * setup-commands/setup-testbed: Run apt-get autoremove when builing images.
      * setup-commands/setup-testbed: Handle options in sources.list. Thanks
        Antonio Terceiro!
      * tools/adt-build-lxd: Fix error message if apt does not have a proxy set.
      * setup-commands/setup-testbed: Install linux-headers-generic if there is no
        kernel (for containers), to make DKMS tests work when not being triggered
        by a kernel. (LP: #1531488)
      * tools/adt-build-lxc: Fix removal of LXC caches on btrfs.
      * tools/adt-build-lxc: Use "-B best" for lxc-create, for better performance
        on btrfs or LVM.
      * tools/adt-build-lxc: Fix hostname for updating containers to not end in
        ".new".
      * adt-virt-lxc: Opportunistically try lxc-clone with "-B btrfs", and fall
        back to default backing store if it fails. lxc-clone should do this by
        itself, but currently doesn't (LP #1532125).
      * adt-virt-lxc: Don't fail on stderr of lxc-start, it sometimes prints
        warnings.
      * When using --apt-source with --apt-pocket= with an explicit package list,
        let apt-get source download the source version that matches the pinning.
        This avoids running tests from -proposed against packages in -release.
        (LP: #1517426)
      * setup-commands/setup-testbed: Don't purge perl and python2.7. This works
        in sid and xenial, but is too greedy for older releases.
    
     -- Martin Pitt <email address hidden>  Tue, 12 Jan 2016 09:23:16 +0100
  • autopkgtest (3.19) unstable; urgency=medium
    
      New features/behaviour changes:
      * Add adt-virt-lxd runner for LXD. (LP: #1519677)
      * Add adt-build-lxd tool for building or updating an LXD image with
        standard autopkgtest customizations applied. This is similar to
        adt-build-lxc.
      * Unify test bed setup scripts for VMs (adt-setup-vm), containers (in
        adt-build-lxc) and cloud (setup-commands/cloud-vm-setup) into a common
        script setup-commands/setup-testbed. This will work both for image
        building (VM, cloud, LXC, LXD) and as --setup-commands (in which case some
        actions are skipped).
      * setup-commands/setup-testbed: Clean up many more packages. Only do this
        when building an image, to avoid accidentally destroying testbeds which
        are not minimal autopkgtest ones.
      * Make --env apply to package builds too. With that you can e. g. set
        DEB_BUILD_OPTIONS.
      * Add new action type --git-source which installs git (unless already
        present), checks out a remote branch, and then behaves like
        --unbuilt-tree.
      * adt-virt-lxc.1: Mention adt-build-lxc in "Requirements".
    
      Bug fixes:
      * If apt-get fails when installing test dependencies and apt
        pinning is in use, also retry without pinning. This was already done in
        the case of apt-get succeeding but removing our "satdep" dummy package
        (the common case), but this does not cover upgrades of Priority: >=
        important packages which make apt-get exit with non-zero.
      * Set $TERM in testbed to the host's value when starting an interactive
        shell in the testbed. This fixes broken shells with the LXC/LXD runners.
    
     -- Martin Pitt <email address hidden>  Thu, 17 Dec 2015 16:45:54 +0100
  • autopkgtest (3.18.2) unstable; urgency=medium
    
      [ Martin Pitt ]
      * tools/adt-build-lxc: Install libpam-systemd; some tests expect to have an
        $XDG_RUNTIME_DIR.
      * Fix --apt-pocket=proposed=pkgname.. to set up the apt pinning before
        running setup-commands (in particular, dist-upgrade), as otherwise the
        dist-ugprade will install package versions that conflict with the pinning.
        Change --apt-pocket to download (only) the apt indexes for the given
        pocket, so that we can set up the pinning correctly.
      * ssh-setup-nova: Separately track server UUID, to avoid resetting the
        originally given --name on testbed revert.
      * If apt-get fails for --apt-pocket ("Hash sum mismatch"!), retry up to
        three times.
      * Fix parsing of "apt-cache showsrc" to not get broken by wrapped lines.
        Thanks Andy Whitcroft! (LP: #1522469)
      * Don't try to "cd ." on testbeds in source rules commands, as this might be
        inaccessible in some cases. Default to '/' instead. Thanks Christopher
        Baine!
      * ssh-setup/nova: Treat --image value as a regexp pattern and use the
        greatest (by string sorting) result. This avoids having to put date stamps
        into the command line, and also avoids completely falling over if two
        images have the same name.
      * Add a new ssh setup script command "debug-failure" which is called when
        the setup script fails with nonzero or on timeouts waiting for ssh or
        reboot.
      * ssh-setup/nova: Implement "debug-failure" command with "nova console-log".
      * tools/adt-build-lxc: Only install libpam-systemd if that exists (e. g. not
        on Ubuntu 12.04).
      * setup-commands/cloud-vm-setup: Don't rm the /etc/cron.daily/apt conffile
        to avoid breaking apt upgrades. Instead, create
        /etc/apt/apt.conf.d/02periodic.
      * Create a testinfo.json for "badpkg" and other exit codes as well.
      * Set stdin to /dev/null when running commands in the testbed. This avoids
        hanging tests on interactive questions and also fixes auxverbs which check
        if stdin is a PTY (like "lxc exec").
      * tests/testarchive.py: Don't include the "Release" file into itself.
      * Fix SchrootRunner.test_apt_pocket_* test cases to include "Sources" into
        Release file. This makes the tests work with apt 1.1.
    
      [ Max Brustkern ]
      * adt-buildvm-ubuntu-cloud: Add timeout option.
    
      [ Antonio Terceiro ]
      * adt-build-lxc: Don't hardcode bridge interface.
    
     -- Martin Pitt <email address hidden>  Wed, 09 Dec 2015 12:38:13 +0100
  • 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.
    
     -- Martin Pitt <email address hidden>  Wed, 18 Nov 2015 12:18:23 +0100
  • 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.
    
     -- Martin Pitt <email address hidden>  Wed, 11 Nov 2015 10:11:48 +0100
  • 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.
    
     -- Martin Pitt <email address hidden>  Wed, 21 Oct 2015 07:33:04 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Tue, 06 Oct 2015 08:13:09 +0200
  • 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).
    
     -- Martin Pitt <email address hidden>  Sun, 20 Sep 2015 17:23:41 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Tue, 15 Sep 2015 08:38:54 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Thu, 27 Aug 2015 19:54:51 +0200
  • 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)
    
     -- Martin Pitt <email address hidden>  Fri, 17 Jul 2015 17:08:03 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Fri, 10 Jul 2015 11:26:36 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Mon, 29 Jun 2015 13:07:34 +0200
  • 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)
    
     -- Martin Pitt <email address hidden>  Sat, 06 Jun 2015 13:09:50 +0200
  • 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)
    
     -- Martin Pitt <email address hidden>  Tue, 19 May 2015 14:45:34 +0200
  • 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)
    
     -- Martin Pitt <email address hidden>  Wed, 13 May 2015 14:45:43 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Tue, 05 May 2015 10:14:23 +0200
  • 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.
    
     -- Martin Pitt <email address hidden>  Wed, 22 Apr 2015 11:50:18 +0100