autopkgtest (3.6jessie1) testing; urgency=medium [ Christian Kastner ] * 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) * 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. [ Martin Pitt ] * adt-setup-vm: Check guest's /etc/network/interfaces for existing eth0 instead of host's, when specifying a directory argument. (Spotted as a side issue in #775076) -- Martin Pitt Wed, 14 Jan 2015 20:34:34 +0100 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) -- Martin Pitt Thu, 16 Oct 2014 16:36:11 +0200 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. -- Martin Pitt Thu, 09 Oct 2014 15:20:15 +0200 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. -- Martin Pitt Wed, 08 Oct 2014 09:22:17 +0200 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) -- Martin Pitt Sun, 28 Sep 2014 12:16:16 +0200 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) -- Martin Pitt Tue, 23 Sep 2014 09:31:29 +0200 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) -- Martin Pitt Wed, 17 Sep 2014 06:09:30 +0200 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). -- Martin Pitt Thu, 11 Sep 2014 11:05:16 +0200 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. -- Martin Pitt Thu, 04 Sep 2014 07:52:12 +0200 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. -- Martin Pitt Mon, 25 Aug 2014 16:10:01 +0200 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 /artifacts/.subunit, and in verbose mode. -- Martin Pitt Wed, 20 Aug 2014 20:11:17 +0200 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. -- Martin Pitt Wed, 06 Aug 2014 11:28:00 +0200 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. -- Martin Pitt Tue, 29 Jul 2014 13:45:36 +0200 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. -- Martin Pitt Wed, 23 Jul 2014 09:16:08 +0200 autopkgtest (3.2.2) unstable; urgency=medium * adt-run: Fix typo that broke --apt-source with "build-needed" tests. -- Martin Pitt Mon, 21 Jul 2014 15:07:17 +0200 autopkgtest (3.2.1) unstable; urgency=medium * Ship forgotten adt_run_args module. -- Martin Pitt Mon, 21 Jul 2014 11:45:25 +0200 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 -stderr output files for "allow-stderr" tests. -- Martin Pitt Mon, 21 Jul 2014 09:35:17 +0200 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=. * 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. -- Martin Pitt Thu, 03 Jul 2014 13:31:16 +0200 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. -- Martin Pitt Wed, 02 Jul 2014 09:28:20 +0200 autopkgtest (3.0.1) unstable; urgency=low * Install ssh setup scripts executable. * doc/README.running-tests.rst: Add ssh runner example. -- Martin Pitt Tue, 01 Jul 2014 15:40:39 +0200 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. -- Martin Pitt Tue, 01 Jul 2014 15:21:55 +0200 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 -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. -- Martin Pitt Tue, 24 Jun 2014 16:34:36 +0200 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. -- Martin Pitt Wed, 18 Jun 2014 10:07:46 +0200 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. -- Martin Pitt Thu, 12 Jun 2014 07:48:58 +0200 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. -- Martin Pitt Wed, 04 Jun 2014 15:03:30 +0200 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. -- Martin Pitt Tue, 03 Jun 2014 11:49:32 +0200 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. -- Martin Pitt Thu, 22 May 2014 17:52:46 +0200 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. -- Martin Pitt Thu, 22 May 2014 15:52:36 +0200 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) -- Martin Pitt Fri, 09 May 2014 10:32:27 +0200 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) -- Martin Pitt Tue, 06 May 2014 13:25:21 +0200 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 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! -- Martin Pitt Sun, 27 Apr 2014 22:37:15 +0200 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 Tue, 22 Apr 2014 09:10:40 +0200 autopkgtest (2.14.1) unstable; urgency=medium * tools/adt-buildvm-ubuntu-cloud: Enable ssh login with passwords. -- Martin Pitt Wed, 09 Apr 2014 17:15:29 +0200 autopkgtest (2.14) unstable; urgency=medium * lxc: Greatly simplify bind mounting of shared tmp dir using the lxc-start -s option. * adt-virt-qemu: Forward VM's ssh port 22 to the first free localhost port starting from 10022. When finding one, suggest connecting to the VM with an appropriate ssh command on --shell. -- Martin Pitt Wed, 09 Apr 2014 17:06:44 +0200 autopkgtest (2.13.1) unstable; urgency=medium * Fix "--build-tree" typo in error message, and also add the missing --unbuilt-tree. (Closes: #743427) * lxc: Enable live output in clone mode. -- Martin Pitt Tue, 08 Apr 2014 12:18:00 +0200 autopkgtest (2.13) unstable; urgency=medium * Split package/version list that got introduced in 2.10: Introduce a new output file "testbed-packages" with the packages and versions of the pristine testbed, and filter them out of "-packages", so that the latter only contains the packages and versions that are specific to that test. This is generally more useful, and how debci does/wants it. -- Martin Pitt Tue, 01 Apr 2014 14:43:12 +0100 autopkgtest (2.12) unstable; urgency=medium [ Martin Pitt ] New features: * Add new options -s/--shell-fail for running a shell in the testbed after every failed test, and --shell for running a shell in the testbed after every test. This should make debugging tests or regressions quite a bit simpler. This actually spawns a shell for the null, chroot, schroot, and lxc runners, and shows how to login to the VM for qemu (this will hopefully be improved in the future, but at least makes debugging possible for now). Bug fixes: * adt-build-lxc: Fix apt proxy setting for ubuntu template; use $HTTP_PROXY, not $APT_PROXY. * Make PEP-8 failures non-fatal during package build. They often fail in backports to old releases, and running them before releasing a new package is sufficient. * Filter out comment lines from control lines, as python-debian doesn't properly do that (Debian #743174). Fixes lintian autopkgtest. (LP: #1300031) [ Antonio Terceiro ] * adt-virt-schroot: Add new option -s/--session-id for specifying a custom schroot session id. This is useful for debugging test suites that go crazy on ci.debian.net, so you can `schroot --list --all-sessions` and see which sessions are still open. (Closes: #742969) -- Martin Pitt Mon, 31 Mar 2014 11:45:13 +0200 autopkgtest (2.11) unstable; urgency=medium * Add tools/adt-setup-vm: Setup script for vmdebootstrap (and potentially others) to start a root shell on tty1, set up networking for eth0, and enable deb-src apt sources. * adt-virt-qemu.1: Describe how to create a suitable Debian VM with vmdebootstrap. * doc/README.package-tests: Point out to use "build-needed" with consideration. * Make installation of packages/dependencies print a warning instead of failing immediately when root is not available on the testbed. This allows tests to be run with the "null" runner locally as user with some restrictions. Check if dpkg-source is available before installing dpkg-dev, to avoid the warning in that simple case. (Closes: #742242) * Fix ugly error message if a package does not have a debian/tests/ directory. Properly fail with code 8 and "SKIP no tests in this package". * Clean up temporary files in NullRunner tests. -- Martin Pitt Fri, 21 Mar 2014 09:36:25 +0100 autopkgtest (2.10) unstable; urgency=medium * Record name and version of tested package in log and in output-dir/testpkg-version. (first part of LP #1292431) * Record installed packages and their versions for each test, in /-packages. (second half of LP: #1292431) * Drop adt-testreport-*, adt-openbugs-*: These have been marked deprecated for a while, haven't been used or maintained in many years, and are superseded by jenkins/debci. (Closes: #695974) -- Martin Pitt Tue, 18 Mar 2014 16:12:24 +0100 autopkgtest (2.9.2) unstable; urgency=medium * VirtSubproc.py, copydown_shareddir(): Fix "src and dest are the same file" error when file is already in the shared downtmp. * VirtSubproc.py, copydown_shareddir(): Remove already existing target directory to avoid copying an updated directory into the old one. * adt-run: Show timestamps at the beginning, start of preparation (i. e. mostly installing dependencies), and start and end of tests. (LP: #1290760) * Run NullRunnerNoRoot tests during package build. Add python-debian build dependency for that. -- Martin Pitt Wed, 12 Mar 2014 08:13:50 +0100 autopkgtest (2.9.1) unstable; urgency=medium [ Martin Pitt ] * doc/README.package-tests: Clarify syntax of test Depends:, and point to the relevant Debian Policy specification. * adt-build-lxc: Fall back to assuming /var/lib/lxc/ as container directory if lxc-config does not exist. It was introduced in 1.0, but Debian unstable still has 0.9. (Closes: #740437) * tests: Extend test_artifacts() to multiple tests writing artifacts, also with overwriting existing files and writing into subdirs. * VirtSubproc: Fix copyup_shareddir() to get along with existing directories. (LP: #1288668) * settings.make: Switch default prefix to /usr, as our scripts hardcode that for finding VirtSubproc.py and this is a native package. (LP: #1287264) [ Steve Langasek ] * Fix adt-virt-schroot to correctly return root-on-testbed when we're running adt-run as root. (Closes: #740868) -- Martin Pitt Thu, 06 Mar 2014 13:44:07 +0100 autopkgtest (2.9) unstable; urgency=low New features: * Add "downtmp-host=" testbed capability, for runners which can set up a shared directory between host and testbed. This is used by copyupdown to more efficiently copy files back and forth, and in many/most cases, don't explicitly copy anything at all. * Introduce a new testbed capability "downtmp-shared-fifo" that declares that testbed and the host can use a FIFO in the shared downtmp for communication. Use this to generalize live test output to all runners which declare that, not just -null. * Convert null, chroot, schroot, lxc, and qemu runners to use a shared downtmp dir. Note that qemu does not support FIFO (through the 9p file system), so that one does not get live test output. * Don't define $TMPDIR for tests any more. Having $TMPDIR in the shared dir isn't efficient and even breaks some tests (as they might not be able to put sockets etc. into it), and it's an artificial difference to the default system behaviour of just using /tmp. The documentation already was changed a long time ago to only document $ADTTMP as a scratch directory for tests. * Add test restrictions "isolation-container" and "isolation-machine", and corresponding testbed capabilities. Tests can use that to declare that they want to start services or open ports (i. e. a simple chroot/schroot is insufficient) or access hardware, reboot, and interact the kernel (where even a container is insufficient), and will be skipped instead of failing when they run in a virtualization server which does not provide enough isolation. * Add manpage for adt-build-lxc script. * Ship adt-build-lxc script and its manpage in the package. Documentation updates: * doc/README.package-tests: Some stylistic updates, and add section headers. * adt-virt-lxc.1: Point to, and show how to use adt-build-lxc. * Add doc/README.running-tests: Overview of how to run adt-run, most common scenarios, and available virtualization servers with their pros/cons. Bug fixes: * tests: Copy tests/home/ into a temporary dir and set $HOME to that, to avoid cluttering the source dir. * Don't produce empty stderr/stdout files with --output-dir. (LP: #1282866) * adt-buildvm-ubuntu-cloud: Install linux-generic, to get the full kernel (needed for e. g. udisks2 to get scsi_debug). * tests: Add a broken symlink to testpkg, to ensure that copying trees around gets along with those. * adt-run: Always use fakeroot with adt-virt-qemu, to work around chown failing on 9p. * xen/initscript: Always source /lib/lsb/init-functions. (Thanks lintian) * tests/adt-run: Increase timeout in NullRunner.test_timeout_long_build to avoid failure on slow architectures. * adt-build-lxc: Properly wait for finished container boot instead of a static 10 second sleep. * adt-build-lxc: Only flush the cache when updating an existing container. -- Martin Pitt Thu, 27 Feb 2014 11:23:32 +0100 autopkgtest (2.8.1) unstable; urgency=medium * Use the install timeout instead of the short one for --setup-commands/--apt-upgrade. * Fix --apt-upgrade to not hang on dpkg conffile prompts. * Use ./tests/home/ as $HOME during tests, and add a gpg key to it so that we don't have to generate one (which often hangs due to lack of entropy). * Make the test suite run as user, skip tests which require root (all ChrootRunner and most NullRunner tests). -- Martin Pitt Fri, 21 Feb 2014 17:15:41 -0800 autopkgtest (2.8) unstable; urgency=medium * Add adt-virt-qemu: Virtualization server using QEMU. This provides even more isolation than containers and thus is able to run tests which interact with the kernel. See the manpage for the requirements that VMs need to satisfy, and how to use it. (Closes: #719215) * Add adt-buildvm-ubuntu-cloud: This tool downloads an Ubuntu cloud image and configures it for autopkgtest. See its manpage for how to use it. * adt-run: Stop using a $TMPDIR for package builds. It's unnecessary overhead, and causes problems with dpkg-deb if it is on e. g. a 9p file system. * Allow the virt-server argument to be given without the common "adt-virt-" prefix, for brevity. Update the manpage accordingly, and also move virt-server into its own heading instead of burying it in the middle of "other options". * tests: Show stderr output if adt-run unexpectedly fails. * Fix endless recursion when an error happens during resetting apt. * tests: Fix skip message if no container is given; it does not need to be an Ubuntu cloud container any more. * Add tools/adt-build-lxc: Script to create or upgrade a Debian/Ubuntu container, suitable as a daily cron (or Jenkins) job. Not shipped in package for now. * Allow --setup-commands to be given multiple times. * Add -U/--apt-upgrade option to run apt-get update/dist-upgrade before running the test. * Add --apt-pocket option to create an additional apt source for release-pocket. -- Martin Pitt Mon, 17 Feb 2014 21:00:58 -0800 autopkgtest (2.7.2) unstable; urgency=medium * debian/copyright, CREDITS: Bump copyright year. * Eliminate lib/Autopkgtest.py, use pipes.quote() instead of shellquote_*(). * Drop doc/README.schroot-setup. Using LVM for schroot overlays is not recommended as it is too slow and also too hard to set up. You should rather use overlays or unpacked tarballs on tmpfs. Adjust adt-virt-schroot.1 to point to mk-sbuild(1) instead. * CREDITS: Remove license information, it does not belong there and we don't need that any more as debian/copyright file. * adt-testreport-*, adt-openbugs-*: Add warning that these scripts are unmaintained and deprecated in favour of http://ci.debian.net, debci, and/or jenkins. If you still use them, please mail autopkgtest-devel@lists.alioth.debian.org! * README.package-tests: Document that @builddeps@ also installs make. (Closes: #738129) * Add Suggests: for schroot and lxc, and explain those in the package description. * NullRunner.test_timeout_long_test: Increase (unrelated) build timeout from 3 to 20 s, to cope with the bit of overhead that dpkg-buildpackage introduced. -- Martin Pitt Sun, 09 Feb 2014 19:31:34 +0100 autopkgtest (2.7.1) unstable; urgency=medium * VirtSubproc.py, command(): Intercept/retry on EAGAIN. * runner/adt-run: Robustify cleanup of empty "binaries" output directory, it does not always work in __del__(). * adt-run: Replace direct invocation of "debian/rules build" with "dpkg-buildpackage -us -uc -b". dpkg-buildpackage is the de-facto interface these days (also on the buildds), and does additional things now such as passing build flags or cleaning the package. This also implies dpkg-source --before build to apply patches, so remove the explicit call to that again. (Closes: #737632) * adt-run: If all tests get skipped, but there are some tests, don't claim that there are none. (Closes: #737242) * adt-run: When expanding @builddeps@, add "make" as test almost always need it to call "make installcheck" or similar. * Print package version as first adt-run message ("@devel@" when running out of source tree). * Turn VirtSubproc.Timeout into a proper exception class (RuntimeError). * Make VirtSubproc.bomb() useful outside the mainloop, so that we can use it in utility functions that are used outside of runners. * VirtSubproc: Add a "timeout" context manager which plumbs timeout_start(), timeout_end() and bomb() (if an exit message is given) or a Timeout exception (otherwise) together in the right way, for convenience. -- Martin Pitt Fri, 07 Feb 2014 14:52:42 +0100 autopkgtest (2.7) unstable; urgency=medium * adt-virt-lxc: Drop all the file-based checks for container bootup, and replace with "lxc-attach runlevel" to wait until the container booted to a numeric runlevel. This greatly simplifies the logic and drops the cloud-init requirement so that this runner is now suitable for Debian or debootstrap-based Ubuntu containers. (LP: #1273725) * adt-virt-lxc.1: Drop --gain-root in notes/example. It's unnecessary (adt-run will install fakeroot if missing) and confusing (as it's not related to LXC specifically and otherwise not really used/useful). * adt-virt-lxc.1: Add example how to create a Debian container, and some cleanup of obsolete commentary. * adt-virt-lxc: Add -s/--sudo option to run lxc-* commands through sudo; use this option if you run adt-run as normal user, but need to run the container itself as root (if you use LXC system-level containers). This drops the hardcoded sudo commands and thus the dependency on sudo, which is more palatable for Debian. (LP: #1273977) * adt-virt-lxc: Add -e shortcut for --ephemeral, as this is an option which you pretty much always want. * adt-virt-lxc.1: Move more important options to the top. * adt-virt-lxc: Stop hardcoding the "ubuntu" suggested normal user; instead, call "getent passwd" to detect the first user with uid >= 500. Don't advertise suggested-normal-user if none exists. * adt-run: Rearrange finalizing options and reading capabilities to happen after testbed opening. That allows the testbed to determine its full capablities in its open hook. * adt-run: Call dpkg-source --before-build for --unbuilt-tree arguments, to ensure that patches are applied for "3.0 (quilt)" source trees. This is useful to test *-buildpackage source trees where patches don't get applied. (LP: #1212208) -- Martin Pitt Fri, 31 Jan 2014 11:14:32 +0100 autopkgtest (2.6.1) unstable; urgency=medium * adt-virt-lxc: Call lxc-config through sudo as well like all the other LXC commands. This fixes running adt-run as user with the LXC runner. * adt-run: For copydown(), always chown the testbed files to the non-root user (if available). This fixes a "Permission denied" error with the schroot or LXC runners and --unbuilt-tree if the source tree has tight permissions. (LP: #1266811) * Adjust LxcRunner.test_tree_built_binaries to also work with current apt (similar to commit 5798b7f for the schroot runner). * adt-virt-lxc: Call "sudo test" and "sudo readlink" instead of os.lexists() and os.readlink() as recent LXC now makes the default container dir /var/lib/lxc not readably by non-users. Fixes running adt-virt-lxc/adt-run as user. (LP: #1266809) * Add test for --binary with --built-tree. * adt-run.1: Clarify and fix some wrong and misleading documentation what happens with debs produced by source packages and specified with --binary. (LP: #1175557) -- Martin Pitt Wed, 29 Jan 2014 06:53:16 +0100 autopkgtest (2.6) unstable; urgency=medium New features: * Add --apt-source option as an alternative for --source, implied if argument is a valid package name. It calls "apt-get source" in the testbed instead of using a .dsc from the host, which for the common case of testing packages in the acual archive avoids having to manually download the source and then copying it into the testbed. This simplifies the command line for running tests for a package in the archive to "adt-run mypkgname --- adt-virt-[...]". * Add --setup-commands option to run things like "apt-get update" or adding apt sources after opening the testbed. Bug fixes: * adt-virt-lxc: Stop assuming that containers live in /var/lib/lxc/; ask lxc-config about the root path instead. * Only reset the test bed after the build stage if builds actually happened. * Reset the test bed after running a test group, to avoid an unnecessary setup if there is just one test. * Don't put an empty "binaries" directory into the output directory. New test cases: * --timeout handling. -- Martin Pitt Thu, 23 Jan 2014 17:19:11 +0100 autopkgtest (2.5.6) unstable; urgency=medium * Adjust "su" calls to explicitly specify /bin/sh as shell, as recent base-passwd disables them now for system users. (Closes: #734740) -- Martin Pitt Thu, 09 Jan 2014 15:21:44 +0100 autopkgtest (2.5.5) unstable; urgency=medium * Test that the schroot runner installs packages with --user, and that it runs the tests as root with --user if the test has a "needs-root" restriction. (Related to #728304) * adt-virt-schroot: Add suggested-normal-user capability to the calling user (unless that's root), so that tests are run as user by default. (Closes: #728304) * Add support for virtual "@builddeps@" test dependency, which will be replaced with the package's B-D and B-D-I. Document in doc/README.package-tests. (Closes: #720458) -- Martin Pitt Wed, 25 Dec 2013 21:12:38 +0100 autopkgtest (2.5.4) unstable; urgency=medium * Only clean up binary if we built them ourselves. adt-run previously removed debs specified with --binary. -- Martin Pitt Thu, 19 Dec 2013 16:18:03 +0100 autopkgtest (2.5.3) unstable; urgency=low * Drop hosts/ and {onepackage,ubuntu}-config example files; these scripts haven't been used nor maintained in years, and we won't need them anytime soon. Ubuntu does, and Debian plans to drive autopkgtest from britney and/or Jenkins, not from cron. * Move adt-testreport-* scripts and manpages into autopkgtest-xenlvm package, as they require the xen runner. * tests/run-parallel: Immediately stop on pep8/pyflakes errors. * Adjust SchrootRunner.test_tree_built_binaries test to also work with current apt. * Always write UTF-8 to stdout and summary stream, to avoid UnicodeEncodeError crash when running in a C locale. (LP: #1259529) * tests/pyflakes: Always use pyflakes, not pyflakes3, as the latter doesn't get along with non-ASCII strings when running under a non-UTF-8 locale (as in sbuild). -- Martin Pitt Wed, 11 Dec 2013 08:45:07 +0100 autopkgtest (2.5.2) unstable; urgency=low * virt-subproc/adt-virt-lxc: Fix PEP-8 error. * Explicitly kill the logging tee processes, for backwards compatibility with Python 2.6. * Avoid assertNotRegex() in test suite as it isn't yet available in Python 3.1. * Skip dependency version check instead of crashing if python-debian does not provide NativeVersion() (for wheezy/lucid). * Fix some minor PEP-8 errors. -- Martin Pitt Fri, 29 Nov 2013 18:07:09 +0100 autopkgtest (2.5.1) unstable; urgency=low * adt-virt-lxc: Drop some dead code. * Fix ownership of test tree with --user option. -- Martin Pitt Tue, 26 Nov 2013 10:43:30 +0100 autopkgtest (2.5) unstable; urgency=low Behaviour changes: * Drop --output-dir option. It has never really been useful as it only works for paths in the testbed, has a confusing semantics, is redundant with --tmp-dir, and currently even crashes adt-run. (Closes: #729790) * Rename --tmp-dir option to --output-dir, as its main purpose is really to collect test artifacts. Keep --tmp-dir alias for backwards compatibility. * Drop --override-control option. It complicates the code too much for its very limited utility, and it was not even documented in the manpage. * Drop --paths-testbed (and thus also --paths-host) options. There is no use case for them. * Add short options for common command line options: -B for --no-built-binaries, -o for --output-dir, -l for --log-file, -u for --user. * Clean up uninteresting files from --output-dir directory. * Tests which want to create additional artifacts can now put them into the $ADT_ARTIFACTS directory. When using the --output-dir option, they will be copied into /artifacts/. Document this new feature in README.package-tests. (LP: #1137763) Packaging changes: * Drop obsolete autodebtest Conflicts/Replaces. * Update copyright years. * Bump Standards-Version to 3.9.5. No changes necessary. * CREDITS: Add myself. * Makefile: Support $DESTDIR, like automake. * Adjust sharedir* defaults in settings.make to what we actually want, and drop their overrides in debian/rules * Move debian/rules to using dh. * Add ./run-from-checkout script to run adt-run from the git checkout or source package. Change tests/adt-run to use it. * Add tests/run-parallel to run tests for different runners in parallel. Bug fixes: * Fix OSError crash if --output-dir/--tmp-dir does not exist. (Closes: #729791) * Pass line number to Test constructor argument, to be able to report proper errors instead of crashing. (side issue in #698551) * Fix exit code for "Unsupported" error. * When encountering an unsupported test, report only this test as skipped, not all the others in the same "Tests:" stanza. * README.package-tests: Test names must not contain '/'. (Closes: #698551) * Create manpage for adt-virt-schroot. (first half of #695974) * Fix "su: must be run from a terminal" failure when running as user and testbed doesn't provide root-on-testbed. (Closes: #648148) * Add bandaid to avoid mixing order of stdout and stderr in the log file when reporting results. Code cleanup: * Simplify logging by dropping the explicit functions for writing to stderr plus log, and instead set up pipes so that the whole stdout/stderr will be tee'd into the logfile. * Replace the usage of the AutoFile classes (which are underdocumented, magic, and hard to understand) with a more explicit and much simpler TestbedPath class. * Stop installing the redundant /etc/apt/apt.conf.d/90autopkgtest into testbeds, and simplify invocation of apt-get. New test cases: * Access /dev/std{out,err} in a non-root test, like the "mafft" autopkgtest does. * --log-file test cases for chroot and schroot runners. * schroot and LXC runner test cases for installing built binaries. * --output-dir in schroot runner with complete package build. * Recommends do not get installed by default. * Test case with '/' in the name. * --user option for schroot and null runners. * breaks-testbed restriction for all runners. -- Martin Pitt Mon, 25 Nov 2013 07:31:22 +0100 autopkgtest (2.4) unstable; urgency=low * Add adt-virt-lxc test runner, many thanks to Robie Basak for this! This runner provides "revert" and "revert-full-system" capabilities which is useful for packages which have the "breaks-testbed" restriction and multiple tests. For the time being this only works with the ubuntu-cloud template; support for general debian/ubuntu containers requires an lxc-wait mechanism ("did the container finish booting?") and getting along with the different user setups (debian using "root", ubuntu using an "ubuntu" user with sudo capabilities). * Add tests for adt-virt-lxc. * Code cleanup to slightly improve readability: - Drop two-letter aliases for methods. - Consistent usage of quotes. - Drop orphaned/unnecessary globals. - Consistent logging methods/object names, add some docstrings. * Install fakeroot into testbed for "build-needed". Thanks Jean-Baptiste Lallement! (Closes: #726714, LP: #1241456) * Create testtmp directory with 0755 permissions to fix failure with tight umasks. Thanks Arthur de Jong! (Closes: #728057) * Allow test control Depends: to have a trailing comma. Thanks Jean-Baptiste Lallement for the patch! * Make test stdout re-appear in --log-file file for realtime output. -- Martin Pitt Mon, 28 Oct 2013 11:25:30 +0100 autopkgtest (2.3.8) unstable; urgency=low * Skip ChrootRunner test if running under cowdancer, as chrooting in cowdancer doesn't work. * Fix endless bomb/stop loop if the virt runner fails and exits unexpectedly. * adt-virt-schroot: Add some debugging output of the schroot config. * Fix OSError crash with real-time output when running adt-run as non-root on the host, and the runner bind-mounts /tmp (such as -schroot), in which case the temporary runner dir isn't accessible to the host. This is a quickfix, eventually we should make real-time output work properly in this situation. * Show stderr also for non-zero exit codes. * Restrict live stdout/stderr to the null virt runner for now, as it does not work properly with the schroot runner even if /tmp gets bind-mounted. * Add tests for the schroot runner. Ad building a schroot would be too expensive for a test, use an existing schroot if $ADT_TEST_SCHROOT is set, otherwise skip the tests. * Show stderr for all non-null runners with "allow-stderr". -- Martin Pitt Wed, 16 Oct 2013 14:55:39 +0200 autopkgtest (2.3.7) unstable; urgency=low * tests/adt-run: Factorize a base test class with common functionality. * lib/VirtSubproc.py, downtmp_mktemp(): Create temporary directory in the target (which isn't the host for anything but the null runner), to fix the schroot/chroot runners for directories. * Only show stdout/stderr in realtime if tests run in the same file system as the host, as otherwise we cannot create/use a named pipe. If not, fall back to the old way of just showing the complete stdout/stderr after the tests finished. (LP: #1235189) * Add some test cases for adt-virt-chroot. * Add new --timeout-copy option to make copy timeout configurable. Pass that down to adt-virt-* via the environment ($ADT_VIRT_COPY_TIMEOUT). (LP: #1200693) * Fix tests to also work with Python 3.1. * tests/testpkg: Go back to compat level 7 so that this also works on older Debian/Ubuntu releases. -- Martin Pitt Tue, 08 Oct 2013 18:55:33 +0200 autopkgtest (2.3.6) unstable; urgency=low * Always kill the tee children after a test finishes, to avoid race condition when they get stuck in a read() call which doesn't return with "no data". * Fix pyflakes failure on older Debian/Ubuntu releases. * Fix PEP-8 errors. -- Martin Pitt Thu, 26 Sep 2013 13:12:11 +0200 autopkgtest (2.3.5) unstable; urgency=low * Don't show source_rules_command() "set -x" trace unless running with -d. * Kill the tee child process if the testbed bombs out (e. g. due to a timeout), to avoid hanging eternally. Add test case for --timeout-test handling. * Add test case for --summary option. -- Martin Pitt Wed, 25 Sep 2013 08:51:21 +0200 autopkgtest (2.3.4) unstable; urgency=low * Add tests/testpkg/: Simple source package for testing autopkgtest. * Add tests/adt-run: Automatic regression tests for adt-run, covering/using the null runner. * Add debian/tests: autopkgtest for autopkgtest, using tests/adt-run. * Make topmost temporary directory group/world-readable and make $ADTTMP have appropriate 1777 permissions so that users other than root can actually use it. (Closes: #722458) * Don't clip first stderr line to 35 characters in summary. (Side issue in #722457) * Don't show shell tracing of script that creates the temporary directories. * Move unimportant messages to debug level 1, to not clutter up default output so much. * Drop unnecessary "trace: " from adt-run debug/progress lines. * Show stdout/err of the running tests in realtime, which is much nicer for watching. Don't split that realtime output, so that stderr messages appear in the right context. Show separate stderr if and only if the allow-stderr restriction is not set and there is stderr output. (Closes: #722457) * For tests with "build-needed", actually run the tests in the built directory, not in the original unbuilt tree. (Closes: #711209) * Fix various unknown and unused symbols throughout the source, spotted by pyflakes. * Add tests/pyflakes: Run pyflakes over source and test code. * Add tests/pep8: Run pep8 over source and test code. * Support empty "Depends:" test control field, installing no dependencies in that case. * README.package-tests: Point out that you can use upper-case test names as well. Update test_tree_tmp_dir() test to use these, to ensure it stays working. (Closes: #711844) * Some code cleanups: - Don't rename modules on import. - Format to be PEP-8 compliant. - Rename first argument of methods to "self", as that's the wide convention, gets rid of some single-letter variable names, and makes it a bit easier to see which variables refer to foreign objects. * Run tests/pep8 and tests/pyflakes during package build. -- Martin Pitt Mon, 23 Sep 2013 14:44:13 +0200 autopkgtest (2.3.3) unstable; urgency=low * runner/adt-run: Drop "errors" keyword from decode() call to fix compatibility with earlier Python versions. Thanks Christoph Berg. * adt-run: Fail tests if they exit with nonzero if "allow-stderr" restriction is set. Thanks Robie Basak! (LP: #1210503) -- Martin Pitt Mon, 09 Sep 2013 15:49:52 -0400 autopkgtest (2.3.2) unstable; urgency=low * runner/adt-run: Fix "allow-stderr" restrictions to still report success, so that this gets into the summary.log. -- Martin Pitt Fri, 26 Jul 2013 12:41:07 +0200 autopkgtest (2.3.1) unstable; urgency=low * adt-run: Support older python-debian versions whose module was still called "debian_bundle". (Closes: #717191) * runner/adt-run: Correctly re-raise exception on some register failure errors. Thanks Robie Basak! * runner/adt-run: Short-circuit publishing if there are no registered built binaries. This is the step that takes by far the longest time for short tests, and thus speeds up test running significantly. * runner/adt-run: Set DEBIAN_FRONTEND=noninteractive for installing build or test dependencies, too. Thanks Robie Basak! (LP: #1204989) -- Martin Pitt Fri, 26 Jul 2013 08:02:35 +0200 autopkgtest (2.3) unstable; urgency=low * runner/adt-run.1: Fix bad "affect modify" wording. (LP: #1199500) * Drop hosts/chinstrap. We haven't actually used this in many years, it has been replaced with https://launchpad.net/auto-package-testing, Jenkins, and blocking migration to release until tests pass. (LP: #381210) * Promote apt-utils from Recommends to Depends:, to avoid test failures due to not finding apt-ftparchive. (LP: #1065874) * Promote pbuilder from Recommends: to Depends:, as we always call pbuilder-satisfydepends-classic. (LP: #1065874) * runner/adt-run: Stop explicitly checking for $HOME (with broken error message) when giving --gnupg-home, use os.path.expanduser() instead. (LP: #1065873) * runner/adt-run: Fix timeout --help output. * runner/adt-run: Fix bomb() to clean up the testbed before removing it. Afterwards (in cleanup()) we don't have a testbed object any more to run commands in. (LP: #1157292) * runner/adt-run: Fix UnicodeDecodeError crash if stderr contains non-ASCII characters. (LP: #1100283) * Add "allow-stderr" restriction for tests where re-routing or disabling stderr is impractical. (LP: #1197005) * runner-adt-run: Support architecture specifiers in Depends: field. (LP: #1165128) * runner/adt-run: Remove/fix some unused variables, spotted by pyflakes. -- Martin Pitt Fri, 19 Jul 2013 11:58:15 +0200 autopkgtest (2.2.5) unstable; urgency=low [ Jean-Baptiste Lallement ] * Fix call to atmostone(), so that Tests-Directory: actually works. -- Martin Pitt Thu, 11 Jul 2013 06:54:29 +0200 autopkgtest (2.2.4) unstable; urgency=low [Jean-Baptiste Lallement] * Fix failure with "permission denied" with option --user. Closes: #686292, LP: #1084116 * Use debian.deb822 Python module to parse control files. This fixes parsing of folded dependencies. Closes: #695797, LP: #1073856 * Support versioned dependencies in debian/tests/control. Closes: #693540, LP: #1164362 [ Martin Pitt ] * Add myself as a co-maintainer, as per mailing list discussion. * Add machine-readable debian/copyright as per current 1.0 standard. Remove dynamic creation of debian/copyright from debian/rules. * Move from deprecated dh compat level 4 to 8 (supported in squeeze). * debian/rules: Use dh_installdocs to install copyright file instead of custom shell code. * debian/control: Add missing ${misc:Depends}. * Bump Standards-Version to 3.9.4. -- Martin Pitt Thu, 27 Jun 2013 13:49:25 +0200 autopkgtest (2.2.3+nmu1) unstable; urgency=medium * Non-maintainer upload. * adt-run: Catch EXDEV. Closes: #696625. -- Christoph Berg Thu, 31 Jan 2013 10:31:56 +0100 autopkgtest (2.2.3) unstable; urgency=medium [ Martin Pitt ] * Make `@' in tests' Depends work even if we're not building the source tree. Closes: #678359. This is an important bugfix. -- Ian Jackson Sun, 08 Jul 2012 23:15:42 +0100 autopkgtest (2.2.2) unstable; urgency=low [ Martin Pitt ] * Fix hashbang lines to use python instead of python2.6, and update debian/control to only depend on python (>= 2.6) instead of python2.6. Closes: #644332. -- Ian Jackson Thu, 28 Jun 2012 01:03:02 +0100 autopkgtest (2.2.1) unstable; urgency=low [ Stefano Zacchiroli ] * specification: document (XS-)Testsuite source header Closes: #679097 * debian/control: add Vcs-* headers pointing to Alioth Git repository -- Ian Jackson Wed, 27 Jun 2012 21:36:56 +0100 autopkgtest (2.2.0) unstable; urgency=low * Provide tests with ADTTMP rather than TMPDIR. Well, actually, that's just according to the spec. In reality, for backward compatibity, we provide each test script with both (pointing to different directories so that tests don't need to worry about possible filename clashes between ADTTMP and TMPDIR). -- Ian Jackson Fri, 15 Jun 2012 02:05:54 +0100 autopkgtest (2.1.0) unstable; urgency=low Bugfixes: * Remove our strange apt config on exit. Partial fix to #648142, from Timo Lindfors. * Suppress apt-listbugs and apt-listchanges. Michael Prokop. * Fix parsing of "@" dependencies. Colin Watson. Closes: #667022. * Fix NameError re "f" in restriction parsing. Martin Pitt. Closes: #647882. * Improve handling of schroot root-users and root-groups. Colin Watson. Closes: #667001. * Correctly handle quoting of copyup/copydown filenames. Fixes but where we couldn't cope with packages' filenames containing + and ~. Report from Martin Pitt. Closes: #648161. Documentation fixes: * Clarify the spec to say that copyup/down takes encoded filenames. * Fix the spec to refer to `breaks-testbed' rather than `breaks-computer'. Report from Jakub Wilk. Closes: #669721. * Manpage should refer to `*' in tests file's Depends field, not `@'. Report from Jakub Wilk. Closes: #670648. Packaging fixes: * Add Recommends against pbuilder, whose dependency resolver adt-run uses. * Remove runner/tmp on debian/rules clean, and add it to .gitignore, for convenience. -- Ian Jackson Mon, 11 Jun 2012 02:05:49 +0100 autopkgtest (2.0.1) unstable; urgency=medium * Bugfixes: - Python backtrace (no method "bomb") on bad tests/control syntax. - Permit tests/control fields with medial capital letters. - Do not duplicate previous stanzas (closes: #637333). - Make adt-run --quiet work (closes: #637350). - Make "build-needed" restriction work (closes: #637353). - Fix a debugging message which was spuriously sent to stderr. * Change Maintainer to the new list and move me to Uploaders. -- Ian Jackson Sat, 27 Aug 2011 11:21:29 +0100 autopkgtest (2.0.0) unstable; urgency=medium * Incompatible test declaration spec changes: - no-build-needed is now the default; build-needed is a Restriction that tests which need it have to declare. * Incompatible virtualisation server spec changes: - print-execute-command replaced by print-{auxverb,shscript}-command. - "revert" capability split into "revert" and "revert-full-system" * New adt-virt-schroot for driving schroot. Sorry, no manpage yet. * New README.schroot-setup. * Remove dependency on python in testbed. * Update python version to 2.6. * Spec wording improvements, clarifications, editorial changes, etc. * Many bugfixes, including: - replace Python string exceptions (closes:#585226). - fix some broken formatting in adt-run manpage (closes:#636034). - fix adt-virt-chroot for simple chroots (closes:#520066). -- Ian Jackson Sat, 30 Jul 2011 17:57:27 +0100 autopkgtest (1.2.0~) unstable; urgency=low * adt-xenlvm-*: support for swap, defaulting to 5G. This will break existing setups with insufficient LVM space. * adt-xenlvm-*: allow specification of LVM PVs to use. * remove spurious mkdir of empty variable $snap. * hosts/magrathea/*: setup as working for initial tests. * adt-xenlvm-with-testbed: sleep 1 after xm destroy, which is racy. * Fix a few other bugs from deployment in 2008. -- Ian Jackson Wed, 27 Aug 2008 22:12:13 +0100 autopkgtest (1.1.1~) unstable; urgency=low * adt-xenlvm-setup: new hooks for xmdomain config file. * hosts/cadmium/update-suppression: really do not install empty file. * allow suppresspackages and blacklist lists to contain more information after some whitespace * adt-openbugs-*: new machinery for working with debbugs. * hosts/magrathea/*: work-in-progress configuration * Add Recommends against apt-utils. * hosts/cadmium/crontab: savelog -c7 not savelog -n7 * hosts/{cadmium,chinstrap}/crontab: set MAILTO * adt-testreport-cronjob: make executable. -- Ian Jackson Fri, 26 Oct 2007 18:12:32 +0100 autopkgtest (1.1.0) unreleased; urgency=low * adt-testreport-runloop: manpage * adt-testreport-runloop: better command line parsing * adt-testreport-runloop: removed old lalonde junk * adt-testreport-runloop: replaced `..._ok' vars with sentinel files * hosts/chinstrap/update-suppressions: big comment * adt-testreport-runloop: renamed from hosts/cadmium/lalonde-nightly * hosts/cadmium/onepackage-config: set PATH (was in lalonde-nightly) * adt-testreport-onepackage: many manpage improvements * adt-testreport-runloop: add to Makefile * hosts/* installed as examples with a big fat warning. * adt-testreport-cronjob: renamed from hosts/cadmium/cronjob * adt-testreport-runloop: copyright message. * cfg and adt-testreport-runloop: do not cd in config files. * adt-testreport-runloop: fix handling of test_classes (was xoptslist) * hosts/cadmium/*, debian/rules: onepackage_config renamed to cfg. -- Ian Jackson Thu, 18 Oct 2007 17:17:31 +0100 autopkgtest (1.0.9) unstable; urgency=low * Separate email_sourcepackage_header and email_binarypackage_header to allow us to properly file bugs in LP against binary packages built from differently-named sources. * adt-testreport-onepackage: Dump a logfile giving the scores and facts used for package selection. * adt-testreport-onepackage: Do not prefer packages whose source package is listed in the suppressions file. * hosts/cadmium/manual-test-one-binary: new testing script. * hosts/cadmium/onepackage-config: explain about archive skew. * adt-testreport-onepackage: nicer score logging re skip chars. * adt-testreport-onepackage: skip emails if _source_ is suppresed. * adt-testreport-onepackage etc.: new blacklist feature, and initially blacklist ltsp-client{,-core}. * adt-testreport-onepackage: limit log to 64K (32K head, 32K tail) to avoid humungous bug reports which LP silently discards. * hosts/cadmium/lalonde-nightly: check for testbed sentinel file and stop if not present. -- Ian Jackson Thu, 18 Oct 2007 11:56:51 +0100 autopkgtest (1.0.8) gutsy; urgency=low * adt-run: pass -o Debug::pkgProblemResolver=true to apt & gdebi; this improves dependency problem reporting. (LP: #135581.) * adt-testreport-onepackage: seddery the log to remove ctrl chars. In particular, this gets rid of ^M's from apt which get corrupted by email transport and thus break the email signatures. * hosts/chinstrap/update-suppressions: pass -S to curl. * hosts/{chinstrap,cadmium}/install-on-*: use --ubuntu branch. -- Ian Jackson Wed, 19 Sep 2007 15:44:33 +0100 autopkgtest (1.0.7) gutsy; urgency=low * Build properly with debian/copyright. -- Ian Jackson Tue, 28 Aug 2007 18:16:35 +0100 autopkgtest (1.0.6) unstable; urgency=low * Better changelog for 1.0.4. * .bzrignore debian/copyright. -- Ian Jackson Tue, 28 Aug 2007 18:08:46 +0100 autopkgtest (1.0.5) gutsy; urgency=low * Generate debian/copyright file in source package. -- Ian Jackson Tue, 28 Aug 2007 18:01:16 +0100 autopkgtest (1.0.4) gutsy; urgency=low * adt-testreport-onepackage: - Handling of source packages' Architecture: field corrected so package selection works properly. - Use ln -f when installing summary. - Capability to suppress emails similar to ones already sent. - Launchpad bug filing including PGP-signing, `affects' line, etc. - Capability to suppress email for packages listed in a suppression file. - Better formatting and explanations in some emails. * adt-run: - Options for setting timeouts. - Increase default timeouts 100s, 3ks, 10ks, 100ks. * hosts/chinstrap/*: Screen-scrape Launchpad to get existing bugs and generate a suitable suppression file so we file a bug iff there isn't one already. * hosts/cadmium/*: New directory for convenience scripts etc on Canonical buildd. -- Ian Jackson Tue, 28 Aug 2007 17:42:13 +0100 autopkgtest (1.0.3) unstable; urgency=low * Set LANG to C by default for commands (eg builds and tests) run on testbed, and make this configurable. * Make builds work again: Fix `cd *' in work.write (broken by inclusion of `tmpdir' in that directory). * adt-testreport-onepackage has better reporting for DC-running. * Fix handling of non-.deb-producing source packages (eg, ones which produce only .udebs). -- Ian Jackson Mon, 16 Jul 2007 17:18:03 +0100 autopkgtest (1.0.2) unstable; urgency=low * xenlvm command-line settings properly override config file settings everywhere. * Default value for adt_distro computed in time to be used for default value for adt_play. * Close fd 4 for lvm tools too (suppresses daft `File descriptor left open' message). * Change default lvm lv sizes and make documentation correspond to reality. -- Ian Jackson Fri, 13 Jul 2007 15:31:58 +0100 autopkgtest (1.0.1) unstable; urgency=low * adt_debootstrap_opts mentioned in README and passable on command lines, instead of unused adt_pbuilder_args. * Dependency on pbuilder fixed; we use debootstrap, not pbuilder. -- Ian Jackson Thu, 12 Jul 2007 16:54:47 +0100 autopkgtest (1.0.0) gutsy; urgency=low * Locking: .lock (unlinkable fcntl style) plus /good sentinel file. This will avoid conflicts between simultaneous calls to with-testbed and setup (and others). The `with' mode of the userv target is enhanced so that the caller can take out the lock and hold it will starting and discarding the testbed more than once. -- Ian Jackson Thu, 12 Jul 2007 15:01:35 +0100 autopkgtest (0.9.2) unreleased; urgency=low * Really discard stderr from our ought-to-be-unnecessary modprobe dm-snapshot. -- Ian Jackson Thu, 12 Jul 2007 14:31:20 +0100 autopkgtest (0.9.1) gutsy; urgency=low * autopkgtest-xenlvm declares that it Depends on dmsetup. * Discard stderr from our ought-to-be-unnecessary modprobe dm-snapshot. * New `console' mode for userv service. * Move README.userv to autopkgtest-xenlvm package (and hence to /usr/share/doc/autopkgtest-xenlvm). * Do not mind if directory named by adt_modules doesn't exist - in that case just don't copy any modules. * Attempt to install libc6-xen in fixups-inside, rather than instructing debootstrap to install it. This makes us not mind if it's missing. -- Ian Jackson Thu, 12 Jul 2007 09:50:13 +0100 autopkgtest (0.9.0) gutsy; urgency=low New features: * userv service for testbed invocation now provided and at least somewhat tested, and useable by adt-virt-xenlvm. * New print-execute-command command for virtualisation servers. * New adt_sshauthkeys_hook config variable. * pass count= to dd for erasure when lvm_erasebase=true. Bugfixes: * Fix filename pattern bug which can prevent automatic keypair generation (false claim that privkey and pubkey do not match). * Do not demand vg or distro information for initscript to work. * export adt_* variable settings resulting from command-line arguments so that subprocesses get them properly, and arrange for the `defaults for simple settings' not to override environment variables. * suppress various variable settings' default computations (and consequent failure if the default can't be established) when processing config for the initscript. The initscript does not need per-testbed configuration options. * close fd 8 when running vgdisplay (which avoids an annoying and spurious warning from the lvm tools). Packaging: * autopkgtest-xenlvm now Recommends: lvm2 and debootstrap. * autopkgtest Suggests curl (adt-testreport-onepackage needs it). Portability: * Check for udev persistent-net-generator and if enabled we write a rune for eth0 for guest_macaddr into the RULES_FILE specified in /lib/udev/write_net_rules. (Needed for gutsy.) * Remove iwj-specific stuff from adt-testreport-onepackage and put it into onepackage-config with scary warnings to tell people to edit the file. Documentation: * ip forwarding warning clarified. * README documentation of default value for erasebase corrected. -- Ian Jackson Tue, 3 Jul 2007 14:58:56 +0100 autopkgtest (0.8.2feisty1~iwj) feisty-updates; urgency=low * Fix readconfig.in to set adt_$var rather than just $var. * Use fd 8 for readconfig stdout parking rather than fd 10, to avoid Debian #423400 (bash bug). * Truncate files when writing them (copyup, copydown, etc) (!) * Remove spurious \ from `do not know how to handle filename' message. * Reset signal handlers in VirtSubproc cleanup. -- Ian Jackson Thu, 17 May 2007 15:11:31 +0100 autopkgtest (0.8.2) gutsy unstable; urgency=low * Fix fd handling to work around Python's habit of closing files you specify in subprocess.Popen. * Error handling bugfixes: say except (IOError,OSError) everywhere rather than just one of those two; correct harmless bug in gpg key generation error handling. * Make adt-virt-null work properly (VirtSubProc runs `down' with a single argument, so down must be sh -c and not []). * In VirtSubProc close spurious copy of plumbing pipe, which prevents certain hangs during error situations. * Xen cleanup script runs dmsetup info / dmsetup remove several times with some sleeps because xm destroy is not properly instantaneous. * Fix handling of pre-built source trees. * Fix cleanup handling not to delete tmpdir before resetting testbed's apt. -- Ian Jackson Fri, 27 Apr 2007 16:06:15 +0100 autopkgtest (0.8.1) feisty; urgency=low * Call dmsetup remove repeatedly instead of messing with udevsettle. udevsettle doesn't always help with the dmsetup remove race. -- Ian Jackson Wed, 4 Apr 2007 18:04:38 +0100 autopkgtest (0.8.0) feisty; urgency=low * adt-run: new --instantiate option to allow package installation to be forced for testing. (This is not an ideal approach - it's not very flexible - but works well enough for the current requirements.) * adt-testreport-onepackage: new ability to test binary as well as source packages, using new --instantiate option. * new `timeout=' option on `execute' virt server command. * set some default timeouts (these should be settable with options, really). * Default kernel image guesser is more sophisticated - now we look for something that looks like a Xen kernel rather than guessing from the filename since the filenames seem unstable. * Default setting for adt_fw_allowglobalports is none. * Set DEBIAN_FRONTEND=noninteractive. * Run udevsettle after xm destroy but before dmsetup remove. * Run sendmail -odi not -odq in adt-testreport-onepackage. * Longer timeouts by default. * Print `adt-run: trace' for trace output. * Show all apt stdout (including dpkg stdout) in contemporaneous trace. -- Ian Jackson Tue, 3 Apr 2007 20:08:13 +0100 autopkgtest (0.7.2) feisty; urgency=low * adt-testreport-onepackage: new management script, with some example config files onepackage-config and ubuntu-config. * Fixed quite a few bugs in adt-run. * Made adt_distro xenlvm config var settable. * Fixed various packaging problems. -- Ian Jackson Thu, 8 Mar 2007 14:54:33 +0000 autopkgtest (0.7.1) feisty; urgency=low * Actually ship README.* files. * Manpage for adt-virt-xenlvm. * New adt-virt-null. -- Ian Jackson Mon, 26 Feb 2007 16:34:41 +0000 autopkgtest (0.7.0) feisty; urgency=low * Many new features, including: - Xen virtualisation service works - Can build packages as necessary - Many bugfixes. - Documentation (moved from the wiki). -- Ian Jackson Thu, 22 Feb 2007 20:10:30 +0000 autopkgtest (0.6.1) edgy; urgency=low * autopkgtest-xenlvm: filter output from debootstrap to make the amount of output more reasonable. set -o pipefail. Create a timestamp file on image creation. Warn if ipv4 forwarding is turned off. * Add missing file `xen/justconfig' to bzr. * Fix typo in usage message in adt-virt-chroot. -- Ian Jackson Wed, 11 Oct 2006 15:42:18 +0100 autopkgtest (0.6.0) edgy; urgency=low * autopkgtest-xenlvm: new package with Xen/LVM management scripts productised. Not yet glued into autopkgtest proper. -- Ian Jackson Fri, 6 Oct 2006 20:45:41 +0100 autopkgtest (0.5.3) dapper; urgency=low * Rename package autodebtest => autopkgtest. * Remove a leftover debugging print from adt-virt-chroot. -- Ian Jackson Tue, 7 Feb 2006 18:02:08 +0000 autodebtest (0.5.2) dapper; urgency=low * New --output-dir option to adt-run. * Bugfixes (including new mandatory cwd argument to `execute' virt server command). -- Ian Jackson Thu, 2 Feb 2006 19:44:18 +0000 autodebtest (0.5.1) dapper; urgency=low * Manpages and minor fixes. -- Ian Jackson Tue, 24 Jan 2006 18:37:46 +0000 autodebtest (0.5.0) unstable; urgency=low * Initial release of (still largely proof-of-concept) automatic binary package testing framework. -- Ian Jackson Fri, 20 Jan 2006 17:56:55 +0000