Dario Faggioli [Thu, 8 Jan 2015 17:47:02 +0000 (18:47 +0100)]
make-flight: reorganize scheduling related test jobs
Scheduling related tests are ok to run on ARM, so do
not cut them off. They also do not depend on a
particular Dom0 architecture.
The net effect is that the following tests are removed:
test-amd64-i386-xl-credit2
test-amd64-i386-xl-multivcpu
while the following new ones are created:
test-amd64-amd64-xl-credit2
test-amd64-amd64-xl-multivcpu
test-armhf-armhf-xl-credit2
test-armhf-armhf-xl-multivcpu
test-armhf-armhf-xl-sedf
test-armhf-armhf-xl-sedf-pin
Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Thu, 22 Jan 2015 15:53:35 +0000 (15:53 +0000)]
Switch ARM testing back to linux-arm-xen branch.
The cubietruck and arndale boards need a newer kernel than our current
baseline of 3.14. Therefore switch all ARM testing to the
linux-arm-kernel branch which has been moved up to test v3.16.
This effectively reverts commit 38b2fe2020883 "Switch armhf to use
common default Linux."
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Campbell [Thu, 22 Jan 2015 11:05:05 +0000 (11:05 +0000)]
Debian: Create boot.scr with a suffix and copy to boot.scr
This ensures that we always have a boot script to boot at least the
native Debian kernel and Xen available, even after multiple iterations
of installation, which is handy when debugging a system.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Thu, 22 Jan 2015 11:05:03 +0000 (11:05 +0000)]
Osstest/Debian: Add 0x prefix to $filesize
$filesize is an unprefixed hex number, but fdt set requires the 0x to
interpret it properly. See
http://lists.denx.de/pipermail/u-boot/2014-October/193622.html,
http://lists.denx.de/pipermail/u-boot/2014-November/194150.html and
http://lists.denx.de/pipermail/u-boot/2014-November/194150.html.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Thu, 22 Jan 2015 11:05:02 +0000 (11:05 +0000)]
Osstest/Debian: Add "clk_ignore_unused" to default command line
dom0 is not aware that some clocks are actually in use (e.g. by the
hypervisor), so this stops the kernel from messing with (specifically,
disabling) those clocks. It's harmless even when not needed.
Really there ought to be some interface to communicate this from Xen
to dom0, or some other mechanism to gate things. See
http://bugs.xenproject.org/xen/bug/45
This bug is present in at least Wheezy and Jessie so apply this
workaround to those.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Thu, 22 Jan 2015 11:04:57 +0000 (11:04 +0000)]
Osstest/Debian: Support for loading an FDT from u-boot script
The currently supported platform provides an FDT preloaded at 0x1000.
Replace this with ${fdt_addr} (which the current platform exposes) and
for platforms which do not provide an fdt arrange to load the relevant
file as named in the ${fdtfile} (which is conventionally provided by
u-boot for platforms which need this).
Drop some random memory clearing rune, I've no idea what the intended
purpose was, 0x800000 doesn't correspond to any $foo_addr_r on the
midway systems for example.
Also get rid of the scsi scan which must necessarily have already
happened (since the boot.scr itselfs lives on a scsi drive).
Lastly, add some echos to show progress through the script, as an aid
to debugging.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Thu, 22 Jan 2015 11:04:54 +0000 (11:04 +0000)]
make-flight: Run a basic test on each arm platform
Unlike x86 there is enough variation in the ARM platforms that it is
worth having a basic test on each as part of a standard run. This
relies on each host having an appropriate platform-$platform host
flag.
The existing test-ARCH-ARCH-xl test is retained as a floating test,
while a new variant is added for each distinct platform present in the
hostdb which is tied to that platform type. The intention is that only
arm platforms will have platforms at first, although perhaps
platform-intel and platform-amd could be added in the future too.
There are currently no platform-* flags in the hostdb, so tested with
s/platform-/equiv-/ and:
( set -ex ;
source ./cri-getplatforms ;
blessing=real ;
export OSSTEST_CONFIG=production-config ;
for p in '' `getplatforms "armhf"` ; do
set +x ;
echo PLATFORM: $p ;
done
)
which prints:
PLATFORM:
PLATFORM: marilith
and with s/armhf/amd64/:
PLATFORM:
PLATFORM: rackservers-s40670
PLATFORM: r310-moth
PLATFORM: rackservers-s40680
PLATFORM: dell-r310
PLATFORM: rackservers-s40679
PLATFORM: rackservers-s40663
PLATFORM: rackservers-q21011
Also tested in standalone mode with a ~/.xen-osstest/config
containing:
PlatformsArmhf midway cubietruck arndale
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Sat, 10 Jan 2015 14:58:02 +0000 (14:58 +0000)]
mg-debian-installer-update: produce deterministic output
Currently rerunning mg-debian-install-update when the external files
have changed still produces differences in the local files produced
during post-processing.
Avoid these differences by:
- Using gzip -n, which avoids storing a timestamp in the gzip
header (as well as the name, which we don't need).
- Using pax -M norm, which normalises all timestamps (among other
things, such as the owner, which we don't care about)
- Using tar --mtime, with a reference within the dpkg-deb created
hierarchy (which has timestamps from the package and is therefore
dependent only on the downloaded package revision)
With this the results of two invocations of
mg-debian-installer-update(-all) are identical (assuming no changes to
the downloaded files) as demonstrated by runnign this quick hack:
Ian Campbell [Mon, 5 Jan 2015 12:57:08 +0000 (12:57 +0000)]
ts-libvirt-build: use Osstest::BuildSupport::submodulefixup
Instead of cloning gnulib manually which can break if upstream gnulib
gets ahead of libvirt.git (which applies patches on the fly etc). By
using submodulefixup we automatically DTRT and use the version of
gnulib specified by the libvirt.git submodule metadata, but with a
runvar override if necessary.
This also removes a whole bunch of faffing in ap-*, cr-daily-branch
and mfi-common to get the version of gnulib to use, which was always a
bit of a wart (ungated for one thing...).
We continue to use --no-git and GNULIB_SRCDIR because otherwise
autogen.sh (via bootstrap) will force its own version, overwriting
what submodulefixup has done. For this we need a way to get the hash
representing the module, so introduce submodule_find (and rework
submodule_have in terms of it).
Tested in standalone mode with build-amd64-libvirt and
build-amd64-rumpuserxen (because I touched submodule_have, AFAICT the
bodges were not run). The libvirt build was tested both with the
automatic revisions and with:
revision_libvirt=2360fe5d24175835d3f5fd1c7e8e6e13addab629
revision_libvirt_gnulib=16518d9ed8f25d3e53931dd1aa343072933e4604
(used in successful libvirt flight 32648), in both cases confirming
that the build used the desired versions.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@citrix.com>
---
v2: Honour revision_libvirt_gnulib.
v3: Fix submodule_have, defined(&sub) is always true because defined
is special wrt &sub.
Ian Campbell [Thu, 4 Dec 2014 09:58:34 +0000 (09:58 +0000)]
Add basic PVH flights.
These are the usual PV debian flights with pvh=1 added to the
configuration file.
A job is created for each of Intel and AMD, although obviously AMD is
expected to fail at the moment.
In my testing I got:
(XEN) Attempt to create a PVH guest on a system without necessary hardware support
because my test box happens to be AMD.
I have confirmed that the pvh=1 option is correctly present in the
guest cfg for the new pvh job, and that no pvh= is present at all in
the existing test-amd64-amd64-xl job (which is expected and desired if
no pvh runvar is present).
Beyond that I've not tested this at all I fully expect even Intel to
fail in the first instance, due to issues such as lack of necessary
kernel options etc. I suggest to take this now and iterate on any
further changes.
Ian Campbell [Fri, 21 Nov 2014 13:16:58 +0000 (13:16 +0000)]
Osstest/Debian: Add support for "ExtraInitramfsModules" host property
The arndale platform needs a bunch of clk, phy and regulator stuff in order to
access its root filesystem. However mkinitramfs is not (currently?) able to
figure this out and therefore doesn't include them in the initrd. See
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762042
Add a new host prop which can list these required additional module and
arranges for a suitable /etc/initramfs-tools/modules to be created on install.
Using the new HostGroupProp syntax the required modules are:
Ian Jackson [Mon, 8 Dec 2014 12:10:24 +0000 (12:10 +0000)]
TestSupport: use timeout(1)
If a command we run times out, the machinery in cmd() will arrange
for the ts-* script to spot the timeout, and stop waiting for it.
However it is also necessary for the command we ran to die. It has a
copy of the owner daemon fd, so if it doesn't, our resources won't get
freed. In sufficiently exciting bugs, our allocation might continue
indefinitely, while a subprocess of ours hangs on after we are long
gone.
timeout(1) does not print a message when the process times out (!) So
we can't do away with the logic in cmd(). We set the timeout(1)
timeout to 30s more than our own timeout, so that cmd() will time
out first and print a message.
We could use alarm(1) as we do in Osstest/Serial/sympathy.pm but that
program isn't packaged and its unsophisticated approach is not really
appropriate for arbitrary nonconsenting programs.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Campbell [Fri, 21 Nov 2014 13:16:52 +0000 (13:16 +0000)]
Add simple helper to update DI for all architectures.
Uses DebianNonfreeFirmware, even (especially) for production, so move
the README stanza out of standalone only section. The current default
matches what is in the current production versions of DI.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Fri, 21 Nov 2014 13:16:51 +0000 (13:16 +0000)]
ts-kernel-build: enable CONFIG_IKCONFIG{_PROC}
This makes the kernel's .config available in /proc/config.gz and
embeds a copy which can be extracted with
linux/scripts/extract-ikconfig (which I've not tried, but have no
reason to doubt).
Having this around can be handy with an older osstest installed test
box and to confirm you've booted the kernel you think you have when
you are messing with .config options.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Thu, 20 Nov 2014 13:48:56 +0000 (13:48 +0000)]
linux-next tests: Use correct branch for baseline
Make cr-daily-branch honour an environment or setting variable
EXTRA_SGR_ARGS. In branch-settings.linux-next set it appropriately to
arrange that the linux-next test reports consider linux-linus tests as
interesting as well as just linux-next ones.
(We already use a flight from linux-linus for selecting the baseline
linux version.)
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Use a logarithmic scale. Cap the bonus at 12h rather than 5d/30 = 4h.
When we have previously failed, make sure we apply a reverse bonus,
rather than a penalty.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Fix cap to really be 12h not 12d.
Ian Jackson [Tue, 11 Nov 2014 19:30:38 +0000 (19:30 +0000)]
ts-hosts-allocate-Executive: Score for equivalent previous failures
Look to see whether the last run on any hosts which are equivalent to
the ones we're looking at, failed. This means that when host X is
failing and we are considering host Y which is equivalent to X, we
give Y a selection bonus.
This means that osstest will be less obsessive about sticking to the
very same failing host.
Also, no longer multiply by the number of previously-failing hosts;
instead, just consider whether _all_ the hosts are previously-failing
in their corresponding slots (*_host runvars). It doesn't make sense
to make the bonus for using failing hosts depend on the number of
hosts used by the test.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Improve commit message.
Ian Jackson [Thu, 13 Nov 2014 15:53:20 +0000 (15:53 +0000)]
ts-rumpuserxen-demo-xenstorels: set `on_poweroff="preserve"'
We rely on the domain existing after xenstore-ls's main has called
exit, so that we can do our own xenstore-ls in dom0 and check the
results.
Previously, this happened by accident because the rump kernel would,
after _exit, call a minios function which crashes the domain. New
rump kernels don't do this, and instead shut down cleanly.
Setting `on_poweroff="preserve"' has the desired effect.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
We have `install-append <suite>' but that goes before d-i's -- so only
applies during installation. Provide an option that applies
post-installation too.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Fri, 31 Oct 2014 11:20:04 +0000 (11:20 +0000)]
DhcpWatch::leases: Check errors
Check error returns from connect() et al (which present as an undef
return from IO::Socket::INET), and from read() (which can be detected
via IO::Handle::error).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Campbell [Wed, 29 Oct 2014 10:41:30 +0000 (10:41 +0000)]
ts-host-install: Add force-mac-address host flag
This causes us to emit udev runes which force the device named in the host's
Interface_Force property to have the MAC address given in the host's Ether
property. This is the reverse of the behaviour of the Interface_Force property
without this flag, which is to rename the device with MAC address Ether to have
the requested name.
This is necessary because the arndale's USB Ethernet device has no burned in
MAC address and there is no mechanism to configure this e.g. via the bootloader
in a way which Linux will then notice.
Without this change Linux will pick a random mac address when loading the
driver, which breaks osstest's attempts to observe when the test host has
picked up its preseed file by watching the webserver logs, since DHCP will not
map a random mac address to the IP we are expecting.
This is only useful on systems which have exactly one Ethernet device,
otherwise there is no reliable way to determine which device is which.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Wed, 29 Oct 2014 10:41:28 +0000 (10:41 +0000)]
ts-host-install: include console before *and* after the -- marker.
As of v3.15 Linux now stop parsing its command line at the -- mark and passes
the remainder to init. This has broken Debian Installer's feature where
anything after the -- is propagated to the installed system.
See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762007
To work around this we need to pass console= twice, once before the -- for the
current kernel's use and then again after the -- which is propagated to the
installed system.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Wed, 29 Oct 2014 10:41:27 +0000 (10:41 +0000)]
ts-host-install: Refactor code to construct a Linux console= for a host
And reuse it in when writing the u-boot script for initial boot. This was
previously hardcoded to ttyAMA which matches the production host DB for the
current set of hosts which use this script.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Wed, 29 Oct 2014 10:41:25 +0000 (10:41 +0000)]
mg-debian-installer-update: Add more modules when creating initrd overlay
The arndale platform has a usb network device. In addition both the SATA and
NIC/USB hardware on this platform requires additional regulator (power), clk
and phy modules, which in turn require i2c support.
Add everything which is needed on this platform.
Sort the list of drivers while here.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Campbell [Wed, 29 Oct 2014 10:41:24 +0000 (10:41 +0000)]
mg-debian-installer-update: Include any device tree blobs in the tftp dir
We will need to supply these for some arm boards.
We provide both an unpacked version, which can be referenced via u-boot's
support for the "fdtdir" property in pxelinux.cfg and a tarball which is more
convenient for installing into the target filesystem on host install
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Mon, 6 Oct 2014 16:05:32 +0000 (17:05 +0100)]
cr-for-branches: Keep many more logs
Keep 300 cycles of cr-for-branches.log.
Also, remove the spurious `500' from the command line, which looks
like it was there because I thought that `-n' took a number argument
(but in fact that's -c), whereas it was actually interpreted as a
filename (which never exists so savelog silently ignores it).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Mon, 6 Oct 2014 15:54:55 +0000 (16:54 +0100)]
bisection: Do not get bisection start points from broken flights
cs-bisection-step ignores any flight with broken steps, on the grounds
that the results in such a flight maybe unreliable.
Therefore, if a main flight has both broken steps and regressions, it
is wrong to take its mro as the new basis mro for bisections. In the
worst case a newly failing job will be determined to be unbisectable
(since the only relevant failure is in a broken flight), have the
stamp file created, and then never be properly bisected.
So: in sg-report-flight, report `broken-step' for each broken step (in
the top-level flight we are reporting - broken jobs in flights we are
referring to to justify heisenbugs are OK); and, in cr-daily-branch,
do not install the new mro if such indications are present.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Fri, 3 Oct 2014 15:02:32 +0000 (16:02 +0100)]
cat-dhcp-leases: new script
ISC dhcpd treates /var/lib/dhcp3/leases as a log-structured database,
appending records to it and periodically rewriting it. When it
decides to rewrite it it writes the new contents to a temporary file -
fine.
But rather than renaming the temporary file into place, over the top
of the old file, using rename(2), it first renames the old leases file
to leases~. So briefly there is no leases file.
This means that the service used by Osstest/DhcpWatch/leases.pm when a
hostname and port is specified has to try various different files.
This is the appropriate shell script, which is most conveniently
maintained here in osstest. It can be used by putting something like
this in inetd.conf:
Ian Jackson [Thu, 2 Oct 2014 11:56:06 +0000 (12:56 +0100)]
sg-report-flight: Add a succcess/failure column header.
There are so many rows and columns that scrolling around trying to find the
column associated with a failure is getting pretty tricky. Finding all failing
columns is even harder.
Add a clue near the top: replicate the worst or most interesting step
result box contents and colour.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Tue, 19 Aug 2014 10:31:17 +0000 (11:31 +0100)]
Fix mg-hosts mkpxedir
* Have selecthost no longer demand that $job is set; if it is not,
simply do not set Suite (which of course ultimately comes from
runvars and hence the job).
* Add missing use Osstest::TestSupport.
* Mention the need to run it in README.dev.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Jackson [Thu, 31 Jul 2014 14:42:56 +0000 (15:42 +0100)]
rump kernel tests: Get upstream from rumprun-xen
Replace https://github.com/rumpkernel/rumpuser-xen
with https://github.com/rumpkernel/rumprun-xen
as the source for the pre-test version. The repo has been renamed
upstream.
We do not change, at this time:
* The name of the post-test output repo on xenbits,
git://xenbits.xen.org/rumpuser-xen.git#xen-tested-master
Changing those would be a bit fiddly.
And we don't change the following, which contain `rumpuserxen':
* osstest `branch', `recipe', and `jobs' which are used to correlate
and specify aspects of the different production test runs of
different versions of the code. The branch name appears in the
Subject lines of email reports, and the job names in the body (and
as column names in the html test report matrix).
* The osstest `tree' names (which are used to specify and correlate
the different versions and urls of the `same' codebase in the
various tests). Also, we leave unchanged the corresponding
osstest tree plumbing environment variable names.
* The osstest build output identifiers from ts-rumpuser-xen-build
including the runvar name and the dist part name. (These are used
to communicate between the build and test jobs.)
Changing those would break cross-change comparison of test results and
osstest's automatic bisection across the change.
We also don't change:
* The names of the ts-rumpuserxen-* test scripts.
While this could be changed by renaming the files and editing
sg-run-job to match, it doesn't seem sensible to rename these while
leaving everything else unchanged.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Ian Campbell [Wed, 16 Jul 2014 11:45:05 +0000 (12:45 +0100)]
make-flight: Enable qemu tests for 4.5 onwards
Stefano is about to enable qemu support on ARM, we should test it.
standalone-generate-dump-flight-runvars verifies that the affect of this change
is to add armhf jobs/runvars to qemu-mainline and qemu-upstream-unstable as
desired.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Stefano.Stabellini@eu.citrix.com Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Mon, 14 Jul 2014 12:08:58 +0000 (13:08 +0100)]
rump kernel tests: Run xenstore-ls demo
We can use the newly-generalised ts-rumpuserxen-demo-setup to set up
the config file etc. to run xenstore-ls from the xen.git build.
We have a bespoke script to actually execute it: we extract the actual
program output from the guest console log, and compare the results to
those we expect (based on running xenstore-ls in dom0).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Fix copyright date in new script.
Ian Jackson [Tue, 15 Jul 2014 14:18:00 +0000 (15:18 +0100)]
ts-guest-destroy-hard: New script
This just calls xl destroy; it doesn't check that the guest is
running, or on the network, or anything. (It also doesn't check that
the guest is down afterwards.)
We are going to want this to be able to destroy the rumpuserxen
xenstorels domain, which is short-lived (and will normally have
terminated by the time we want to destroy it).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Fix copyright date in new script.
Ian Jackson [Mon, 14 Jul 2014 11:58:57 +0000 (12:58 +0100)]
rump kernel tests: Specify cmdline via runvar
The runvar <gn>_cmdline is used for the rumpuserxen guest command
line. Previously "3" (a binary flags word meaningful to the test/demo
program included in rumpuser-xen.git) was hardcoded.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Tue, 15 Jul 2014 14:40:08 +0000 (15:40 +0100)]
rump kernel tests: Specify kernel via runvar
The runvar <gn>_builtimage is set to <distpart>:<distpath>.
Previously we hardcoded `/usr/local/lib/xen/rump-kernel' in
`rumpuserxen'.
The ffs filesystem images, and the demo config template, still come
from a single particular build, which we find from the
`guests_rumpuserxenbuildjob' runvar. This runvar is then doing double
duty as the build job for the ffs filesystem images and example
configs, and the `default' build job for guest kernels.
The subpath /usr/local/lib/xen/rump-kernel is duplicated. It
now appears:
1. To find the demo guest's kernel: in make-flight, setting a runvar,
with the actual rump-kernel kernel image leafname appended.
2. For the filesystem images and config file: hardcoded in
ts-rumpuserxen-demo-setup.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Fix demo application kernel image filename.
Disentangle wording of last para of commit message.
Ian Jackson [Mon, 14 Jul 2014 12:04:35 +0000 (13:04 +0100)]
rump kernel tests: Do a xen.git tools build
Having laid the groundwork, we can now:
* In make-flight, for the rumpuserxen builds, set the runvars that
specify which xen.git bits etc. to build. (We pass qemuu now,
because we intend that eventually we will want to build that too.)
* In ts-rumpuserxen-build, record the locations of the app-tools
configure and make wrappers in the runvars which will be honoured by
ts-xen-build. Thus ts-xen-build in rumpuserxen build jobs will use
these app-tools and do a rump cross build.
* Add a ts-xen-build step to the build-rumpuserxen recipe, passing
`tools' as the target to build.
ts-rumpuserxen-build does not generate a formal set of build outputs.
Instead, the ts-xen-build step references the files generated by
ts-rumpuserxen-build directly (and is told where to find them via the
new command prefix runvars).
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: Improve commit message.
Ian Jackson [Mon, 14 Jul 2014 11:37:43 +0000 (12:37 +0100)]
building: Delete when cloning, not when preparing $builddir
Make prepbuilddirs no longer delete $builddir; instead:
- have prepbuilddirs delete *-stamp files and dist/;
- have build_clone delete the specific source directories;
- any individual ts-*-build scripts that use other things
would have to delete them (but searching for $builddir
reveals none).
This makes it possible for later steps within a build job to look at
the build trees from previous steps. This is helpful if for any
reason it isn't easy or desirable to package up a formal set of build
outputs for reuse.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
---
v2: Provide motivation in the commit message.
Ian Jackson [Mon, 14 Jul 2014 12:07:30 +0000 (13:07 +0100)]
sg-run-job: Support toggling `adding' by repeating `+'
Specifying `+' as an argument to spawn-ts suppresses the automatic
addition of subsequent arguments to the testid. Make it possible to
toggle this by repeating `+'.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Fri, 11 Jul 2014 14:27:11 +0000 (15:27 +0100)]
ts-rumpuserxen-build: Cope with new layout, disabling bodges
The rumpsrc psuedo-submodule has been integrated with the nblibs
submodule and made into a proper submodule.
Also, in the intervening time, rumpuserxen/Config.mk now uses ?= when
setting XEN_HEADERS.
So if we detect that we have a new rumpuser-xen, we can disable:
- ad-hoc arrangements for rumpsrc
- grievous-bodge
- patching Config.mk
We consider a rumpuserxen old iff it has nblibs as a submodule and
lacks rumpsrc as a submodule.
We have to have a different name for the rumpsrc submodule (rather
than using rumpsrc), because in the new arrangements it needs to be
fetched from the location specified in rumpuserxen's .gitmodules
rather than our own configured location for the old rumpsrc. (And the
local name is in the runvars etc.)
The old runvars etc. for rumpsrc need to stay around to cope with old
rumpuserxen, for now, but are going to be obsolete. Leave some
comments about this in relevant places.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com>