+++ /dev/null
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-package Osstest::RumpRun;
-
-use strict;
-use warnings;
-
-use Osstest::TestSupport;
-
-BEGIN {
- use Exporter ();
- our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
- $VERSION = 1.00;
- @ISA = qw(Exporter);
- @EXPORT = qw(
- rumprun_guest_create
- );
- %EXPORT_TAGS = ( );
-
- @EXPORT_OK = qw();
-}
-
-sub rumprun_guest_create ($) {
- my ($gho) = @_;
- my $ho = $gho->{Host};
- my $gn = $gho->{Guest};
- guest_prepare_disk($gho);
-
- my $rumprun = target_var($gho, 'rumprun_path');
- if (!$rumprun) {
- logm("finding rumprun to use for $gho->{Name} on $ho->{Name}");
- my $buildjob = $r{guests_rumprunbuildjob} // # todo: eliminate this
- target_var($gho, 'rumprunbuildjob');
- my $rumprundist = target_extract_jobdistpath_subdir
- ($ho, "rumprun-rumprun-g-$gho->{Name}", "rumprun", $buildjob);
- $rumprun = "$rumprundist/rumprun";
- store_runvar("${gn}_rumprun_path", $rumprun);
- }
-
- my $imagepath = $r{"${gn}_imagepath"};
- my $cmdline = guest_var($gho, 'cmdline', undef);
-
- my $cmd = "$rumprun xen";
- $cmd .= " -N $gn";
- $cmd .= " -I xenif0,xenif,mac=$gho->{Ether}";
- $cmd .= " -W xenif0,inet,dhcp";
- $cmd .= " $imagepath";
- $cmd .= " $cmdline";
-
- target_cmd_root($ho, $cmd, 100);
-}
-
-1;
+++ /dev/null
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2014 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-package Osstest::Toolstack::rumprun;
-
-use strict;
-use warnings;
-
-use Osstest::RumpRun;
-
-# Defer to xl driver for most things
-use parent qw(Osstest::Toolstack::xl);
-
-sub create ($$) {
- my ($self,$gho) = @_;
- rumprun_guest_create($gho);
-}
-
-1;
test-@@-pcipt@@
test-@@-qemuu-@@ guest-localmigrate
test-@@-win7-@@ guest-stop
-test-@@-rumprun-@@ rumprun-demo-xenstorels/xenstorels.repeat
@@-arm64 hosts-allocate
@@-arm64-@@ hosts-allocate
+++ /dev/null
-!test-@@-rumprun-@@ rumprun-demo-xenstorels/xenstorels.repeat
: ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git}
: ${BASE_TREE_LIBVIRT:=git://xenbits.xen.org/libvirt.git}
-: ${TREE_RUMPRUN:=https://github.com/rumpkernel/rumprun}
-# ^ really http://repo.rumpkernel.org/rumprun
-: ${TREEVCS_RUMPRUN:=git}
-: ${BASE_TREE_RUMPRUN:=git://xenbits.xen.org/osstest/rumprun.git}
-: ${PUSH_TREE_RUMPRUN:=$XENBITS:/home/xen/git/osstest/rumprun.git}
-
: ${TREE_SEABIOS_UPSTREAM:=https://git.seabios.org/seabios.git}
: ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git}
: ${BASE_TREE_SEABIOS:=git://xenbits.xen.org/osstest/seabios.git}
: ${LOCALREV_XEN:=daily-cron.$branch}
: ${LOCALREV_LINUX:=daily-cron.$branch}
: ${LOCALREV_LIBVIRT:=daily-cron.$branch}
-: ${LOCALREV_RUMPRUN:=daily-cron.$branch}
: ${LOCALREV_SEABIOS:=daily-cron.$branch}
: ${LOCALREV_OVMF:=daily-cron.$branch}
: ${LOCALREV_XTF:=daily-cron.$branch}
repo_tree_rev_fetch_git libvirt \
$TREE_LIBVIRT master $LOCALREV_LIBVIRT
;;
-rumprun)
- repo_tree_rev_fetch_git rumprun \
- $TREE_RUMPRUN master $LOCALREV_RUMPRUN
- ;;
seabios)
repo_tree_rev_fetch_git seabios \
$TREE_SEABIOS_UPSTREAM master $LOCALREV_SEABIOS
: ${BASE_TAG_LINUX2639:=tested/2.6.39.x}
: ${BASE_LOCALREV_LINUX:=daily-cron.$branch.old}
: ${BASE_LOCALREV_LIBVIRT:=daily-cron.$branch.old}
-: ${BASE_LOCALREV_RUMPRUN:=daily-cron.$branch.old}
: ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
: ${BASE_LOCALREV_XTF:=daily-cron.$branch.old}
: ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
repo_tree_rev_fetch_git libvirt \
$BASE_TREE_LIBVIRT $BASE_TAG_LIBVIRT $BASE_LOCALREV_LIBVIRT
;;
-rumprun)
- repo_tree_rev_fetch_git rumprun \
- $BASE_TREE_RUMPRUN xen-tested-master $BASE_LOCALREV_RUMPRUN
- ;;
seabios)
repo_tree_rev_fetch_git seabios \
$BASE_TREE_SEABIOS xen-tested-master $BASE_LOCALREV_SEABIOS
libvirt)
echo $TREE_LIBVIRT
;;
-rumprun)
- echo $TREE_RUMPRUN
- ;;
seabios)
echo $TREE_SEABIOS_UPSTREAM
;;
TREE_QEMU_UPSTREAM=$PUSH_TREE_QEMU_UPSTREAM
TREE_XEN=$PUSH_TREE_XEN
TREE_LIBVIRT=$PUSH_TREE_LIBVIRT
-TREE_RUMPRUN=$PUSH_TREE_RUMPRUN
TREE_SEABIOS=$PUSH_TREE_SEABIOS
TREE_OVMF=$PUSH_TREE_OVMF
TREE_XTF=$PUSH_TREE_XTF
cd $repos/libvirt
git push $TREE_LIBVIRT $revision:refs/heads/xen-tested-master
;;
-rumprun)
- cd $repos/rumprun
- git push $TREE_RUMPRUN $revision:refs/heads/xen-tested-master
- ;;
seabios)
cd $repos/seabios
git push $TREE_SEABIOS $revision:refs/heads/xen-tested-master
determine_version REVISION_LIBVIRT libvirt LIBVIRT
export REVISION_LIBVIRT
fi
-if [ "x$REVISION_RUMPRUN" = x ]; then
- determine_version REVISION_RUMPRUN rumprun RUMPRUN
- export REVISION_RUMPRUN
-fi
if [ "x$REVISION_XTF" = x ]; then
determine_version REVISION_XTF xtf XTF
export REVISION_XTF
realtree=libvirt
NEW_REVISION=$REVISION_LIBVIRT
;;
-rumprun)
- realtree=rumprun
- NEW_REVISION=$REVISION_RUMPRUN
- export REVISION_LIBVIRT=disable
- ;;
seabios)
realtree=seabios
NEW_REVISION=$REVISION_SEABIOS
linux-*) tree=linux; xenbranch=xen-unstable ;;
linuxfirmware) tree=linuxfirmware; xenbranch=xen-unstable ;;
libvirt) tree=libvirt; xenbranch=xen-unstable ;;
- rumprun) tree=rumprun; xenbranch=xen-unstable ;;
seabios) tree=seabios; xenbranch=xen-unstable ;;
xtf) tree=xtf; xenbranch=xen-unstable ;;
ovmf) tree=ovmf; xenbranch=xen-unstable ;;
18 9 * * 1,3,5 cd testing.git && BRANCHES='linux-next freebsd-master' ./cr-for-branches branches -w "./cr-daily-branch --real"
18 9 * * 3,7 cd testing.git && BRANCHES=xen-unstable-coverity ./cr-for-branches branches -w "./cr-daily-branch --real"
34 15 23 * * cd testing.git && BRANCHES=examine ./cr-for-branches branches -w "./cr-daily-branch --real"
-18 4 * * * cd testing.git && BRANCHES='linux-3.0 libvirt rumprun' ./cr-for-branches branches -w "./cr-daily-branch --real"
-6-59/15 * * * * cd testing.git && EXTRA_BRANCHES='xen-unstable-smoke linux-3.0 rumprun libvirt freebsd-master' ./cr-for-branches bisects -w "./cr-try-bisect --real"
+18 4 * * * cd testing.git && BRANCHES='linux-3.0 libvirt' ./cr-for-branches branches -w "./cr-daily-branch --real"
+6-59/15 * * * * cd testing.git && EXTRA_BRANCHES='xen-unstable-smoke linux-3.0 libvirt freebsd-master' ./cr-for-branches bisects -w "./cr-try-bisect --real"
#8-59/5 * * * * cd bisects/adhoc.git && with-lock-ex -q data-tree-lock bash -c "./cr-try-bisect-adhoc; exit $?"
22 8 * * * cd testing.git && BRANCHES=maintjobs ./cr-for-branches . -w ./cr-all-branch-statuses ''
3 4 * * * savelog -c28 testing.git/tmp/cr-for-branches.log >/dev/null
+++ /dev/null
-To: xen-devel@lists.xenproject.org,
- rumpkernel-builds@freelists.org,
- osstest-admin@xenproject.org
-Bcc: osstest-output@lists.xenproject.org
+++ /dev/null
-To: xen-devel@lists.xenproject.org,
- rumpkernel-builds@freelists.org,
- osstest-admin@xenproject.org
-Bcc: osstest-output@lists.xenproject.org
*) return 1 ;;
esac
;;
- rumprun)
- case "$job" in
- build-*-pvops) ;;
- build-*-rumprun) ;;
- build-*-*) return 1 ;;
- *) ;;
- esac
- ;;
esac
return 0
}
libvirt)
if [ x$toolstack != xlibvirt ] ; then return 1; fi
;;
- rumprun)
- case "$job" in
- *-rumprun-*)
- ;;
- *)
- : "suppressed $job"
- return 1;;
- esac
- ;;
xtf)
case "$xenarch:$dom0arch" in
amd64:amd64) ;;
qemu-upstream-4.2-testing) return 1;;
qemu-upstream-4.3-testing) return 1;;
qemu-upstream-4.4-testing) return 1;;
- rumprun) return 1;;
seabios) return 1;;
ovmf) return 1;;
esac
return 0
}
-do_rumpkernel_tests () {
- branch_wants_rumpkernel_tests || return 0
-
- rumparch=$dom0arch
- job_create_test test-$xenarch$kern-$dom0arch-rumprun-$rumparch \
- test-rumprun xl \
- $xenarch $dom0arch \
- guests_rumprunbuildjob=${bfi}build-$rumparch-rumprun \
- nettest_builtimage=rumpimages:nettest \
- nettest_cmdline=4096 \
- xenstorels_builtimage=rumpimages:xenstorels \
- xenstorels_cmdline='ls -fp device' \
- all_hostflags=$most_hostflags
-}
-
do_freebsd_tests () {
if [ $xenarch != amd64 -o $dom0arch != i386 -o "$kern" != "" ]; then
*) test_shim=y ;;
esac
- do_rumpkernel_tests
-
# xend PV guest test on x86 only
if [ x$test_xend = xy -a \( $dom0arch = "i386" -o $dom0arch = "amd64" \) ]; then
job_create_test test-$xenarch$kern-$dom0arch-pv test-debian xend \
eval "$out_vn=\"\$out_$out_val\""
}
-branch_wants_rumpkernel_tests () {
- case "$branch" in
- osstest*) return 0;;
- rump*) return 0;;
- xen-*) return 0;;
- linux*) return 0;;
- *) return 1;;
- esac
-}
-
branch_wants_migrupgrade_tests () {
case "$branch" in
xen-3.*-testing) return 1 ;;
fi
fi
- if branch_wants_rumpkernel_tests; then
-
- case $arch in
- i386|amd64)
- job_create_build build-$arch-rumprun build-rumprun \
- arch=$arch \
- tree_xen=$TREE_XEN \
- $RUNVARS $BUILD_RUNVARS $BUILD_RUMPRUN_RUNVARS $arch_runvars \
- $hostos_runvars \
- host_hostflags=$build_hostflags \
- buildjob=${bfi}build-$arch \
- tree_rumprun=$TREE_RUMPRUN \
- ${TREEVCS_RUMPRUN:+treevcs_rumprun=}${TREEVCS_RUMPRUN} \
- revision_rumprun=$REVISION_RUMPRUN \
- tree_xen=$TREE_XEN \
- tree_qemuu=$TREE_QEMU_UPSTREAM \
- revision_xen=$REVISION_XEN \
- revision_qemuu=$REVISION_QEMU_UPSTREAM \
- tree_rumprun_rumpsrc=$TREE_RUMPRUN_RUMPSRC \
- ${TREEVCS_RUMPRUN_RUMPSRC:+treevcs_rumprun_rumpsrc=}${TREEVCS_RUMPRUN_RUMPSRC}
- # rumpsrc-related runvars needed only for old rumpuser-xen
- # (ie ones which need $bodges=1 in ts-rumprun-build)
- ;;
- esac
-
- fi
-
case "$arch" in
arm*) continue;; # don't do any other kernel builds
esac
run-ts . = ts-guest-destroy + host $g
}
-proc need-hosts/test-rumprun {} { return host }
-proc run-job/test-rumprun {} {
- run-ts . = ts-rumprun-test-prep + host
- set g nettest
- run-ts . = ts-rumprun-demo-setup + host $g
- run-ts . = ts-guest-start + host $g
- run-ts . = ts-guest-destroy + host $g
- set g xenstorels
- run-ts . = ts-rumprun-demo-setup + host + $g
- run-ts . = ts-rumprun-demo-xenstorels + host + $g
- run-ts . = ts-guest-destroy-hard + host + $g
- repeat-ts 150 =.repeat \
- ts-rumprun-demo-xenstorels + host + $g + \; \
- ts-guest-destroy-hard host $g +
-}
-
if {[file exists sg-run-job-adhoc]} {
source sg-run-job-adhoc
}
proc need-hosts/build {} { return BUILD_LINUX }
proc need-hosts/build-kern {} { return BUILD_LINUX }
proc need-hosts/build-libvirt {} { return BUILD_LINUX }
-proc need-hosts/build-rumprun {} { return BUILD_LINUX }
proc need-hosts/build-xtf {} { return BUILD_LINUX }
proc need-hosts/build-freebsd {} { return BUILD_FREEBSD }
proc need-hosts/build-xen-freebsd {} { return BUILD_FREEBSD }
run-ts . = ts-libvirt-build
}
-proc run-job/build-rumprun {} {
- run-ts . = ts-rumprun-build
- run-ts . = ts-rumprun-demo-build + host + nettest rump-test-net
- run-ts . xen-build ts-xen-build-rump + host --no-kconfig --
- run-ts . = ts-rumprun-bake + host \
- nettest :nettest:/rump-test-net \
- xenstorels ::/usr/local/bin/xenstore-ls
-}
-
proc run-job/build-xtf {} {
run-ts . = ts-xtf-build
}
+++ /dev/null
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# ts-rumprun-bake HOST IMAGENAME [JOB]:DIST:SUBPATH [IMAGENAME ... [... ...]]
-#
-# Generates a dist stash `rumpimages' containg files IMAGENAME
-# From the specified files
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-
-our ($whhost,$gn) = @ARGV;
-selectbuildhost(\@ARGV);
-
-
-
-our %images;
-
-our $jobdir = target_jobdir($ho);
-our $imagesdir = $jobdir.'/rumpbake-images';
-our $rumpbake = $jobdir.'/rumprun/rumprun/bin/rumprun-bake';
-
-target_cmd($ho, "mkdir -p $imagesdir");
-
-sub bakeimage ($$) {
- my ($name,$spec) = @_;
-
- $spec =~ m/^(.*?)\:(.*?)\:/ or die "$spec ?";
- my $buildjob = $1;
- my $execpart = $2;
- my $execpath = $';
-
- logm("baking rump image $name from $spec");
-
-# my $rumpbake = target_extract_jobdistpath_subdir
-# ($ho, 'rumpbake-base', 'rumprun', $r{guests_rumprunbuildjob});
-# $rumpbake = "$rumpbake/rumpbake";
-
- my $execdist;
- eval {
- $execdist = target_extract_jobdistpath_subdir
- ($ho, "rumpbake-n-$name", $execpart, $buildjob || $job);
- };
- if ($@) {
- logm "*** WARNING: skipping $name: $@";
- return;
- }
- my $execfile = $execdist.$execpath;
-
- target_cmd_build($ho, 1000, $imagesdir, <<END);
- ls -al $execfile
- $rumpbake xen_pv $name $execfile
-END
-}
-
-sub stash () {
- built_stash($ho, "$jobdir", "rumpbake-images", "rumpimagesdist");
-}
-
-while (@ARGV) {
- die unless @ARGV>=2;
- my $name = shift @ARGV;
- my $rumpexec = shift @ARGV;
-
- bakeimage($name,$rumpexec);
-}
-
-stash();
+++ /dev/null
-#!/usr/bin/perl
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2014 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-selectbuildhost(\@ARGV);
-builddirsprops();
-
-our %submodmap = qw(buildrump.sh buildrumpsh
- src-netbsd netbsdsrc);
-
-our ($rux);
-
-sub checkout () {
- prepbuilddirs();
- xendist();
-
- build_clone($ho, 'rumprun', $builddir, 'rumprun');
- my $submodules =
- submodulefixup($ho, 'rumprun', 'rumprun', \%submodmap);
- $rux = "$builddir/rumprun";
-}
-
-sub massage() {
-}
-
-sub build() {
- my $debug_build = $r{rumprun_build_debug} || 'y';
- target_cmd_build($ho, 7200, $rux, ($debug_build ? <<END : ''). <<END);
- export RUMP_DEV_XEN_DEBUG=1
-END
- export XEN_HEADERS=$xendist/usr/local/include/xen
- (./build-rr.sh xen && touch ../build-ok-stamp) |tee ../log
- test -f ../build-ok-stamp #/
- echo ok.
-END
-}
-
-my $bindir;
-my $gnutriplet;
-my $ccachedir;
-
-sub findtools() {
- my $gcc = target_cmd_output($ho, "echo $rux/rumprun/bin/*-gcc");
- chomp $gcc;
- die "$gcc ?" unless $gcc =~ m#^(\S+)/([^/ \t]+)-g?cc$#;
- $bindir = $1;
- $gnutriplet = $2;
-}
-
-sub setupccache() {
- $ccachedir = "$bindir.ccache";
- target_cmd_build($ho, 600, $rux, <<END);
- mkdir $ccachedir
- ccache=\$(type -p ccache)
- for f in $bindir/$gnutriplet-*; do
- ln -s \$ccache $ccachedir/\${f##*/}
- done
-END
-}
-
-sub recordtools() {
- my $prefix = "PATH=$ccachedir:$bindir:\$PATH ";
- $prefix .= "CROSS_COMPILE=$gnutriplet- HOSTCC=gcc ";
- store_runvar('cmdprefix_configure', $prefix);
- store_runvar('cmdprefix_make', $prefix);
- store_runvar('cmdsuffix_configure', " --host=$gnutriplet");
- # "host" is daft GCC/GNU terminology for the target architecture of
- # a cross-compile, ie in our case the rump environemnt architecture
- # for which the rump compilers are going to generate code.
-}
-
-sub install() {
-}
-
-checkout();
-massage();
-build();
-findtools();
-setupccache();
-recordtools();
-install();
-built_stash($ho, $builddir, 'rumprun/rumprun/bin', 'rumprundist');
+++ /dev/null
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use File::Path;
-use POSIX;
-use Osstest::TestSupport;
-use Osstest::BuildSupport;
-
-tsreadconfig();
-selectbuildhost(\@ARGV);
-
-our $dokconfig = 1;
-
-while (@ARGV && $ARGV[0] =~ m/^-/) {
- $_ = shift @ARGV;
- last if m/^--$/;
- die "$_ ?";
-}
-# remaining arguments are passed as targets to "make"
-
-die unless @ARGV==2;
-my ($demo,$bn) = @ARGV;
-
-builddirsprops();
-
-my $demodir;
-
-sub build () {
- prepbuilddirs($demo);
-
- $demodir = "$builddir/$demo";
-
- target_putfile($ho, 30, "$bn.c", "$demodir/$bn.c");
-
- my $make_prefix = $r{cmdprefix_make} // '';
-
- target_cmd_build($ho, 300, $demodir, <<END);
- set -x
- $make_prefix
- \${CROSS_COMPILE}gcc -Wall -o $bn $bn.c
-END
-}
-
-sub stash () {
- built_stash($ho, $builddir, "$demo", "${demo}dist");
-}
-
-build();
-stash();
+++ /dev/null
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-
-tsreadconfig();
-
-our ($whhost,$gn) = @ARGV;
-$whhost ||= 'host';
-$gn ||= 'rump';
-
-our $ho= selecthost($whhost);
-
-our $gho;
-
-our $rkdist;
-
-sub prep () {
- $gho = prepareguest($ho, $gn, $gn, 4096, undef, 30);
-
- my $builtimage = guest_var($gho, 'builtimage', undef);
- my $buildjob = guest_var($gho, 'rumprunbuildjob', undef);
-
- $builtimage =~ m/\:/ or die "$builtimage ?";
- my $builtimage_part = $`;
- my $builtimage_subpath = $'; #';
-
- $rkdist = target_extract_jobdistpath_subdir
- ($ho, "rumprun-g-$gn", $builtimage_part, $buildjob);
- my $imagepath = $rkdist.'/'.$builtimage_subpath;
-
- store_runvar("${gn}_imagepath", $imagepath);
- store_runvar("${gn}_toolstack", 'rumprun');
-}
-
-prep();
+++ /dev/null
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2014 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use Osstest::TestSupport;
-use Osstest::RumpRun;
-use Data::Dumper;
-
-tsreadconfig();
-
-our ($ho,$gho) = ts_get_host_guest(@ARGV);
-
-our $domid;
-
-our $gn = $gho->{Guest};
-
-sub start () {
- rumprun_guest_create($gho);
-
- $domid = guest_find_domid($ho, $gho);
-}
-
-sub await_end () {
- poll_loop(30,3, "await ending of $gho->{Guest}", sub {
- my $st= guest_get_state($ho,$gho);
- return undef if $st =~ m/s/;
- return "guest state is $st";
- });
-}
-
-our (%file);
-our (%output);
-
-sub stash ($$) {
- my ($data, $what) = @_;
- my $leaf = "xenstore-ls-device--$gn--$what";
- my $stashh = open_unique_stashfile(\$leaf);
- print $stashh $data or die $!;
- close $stashh or die $!;
- $file{$what} = "$stash/$leaf";
-}
-
-sub some_xenstorels ($$$) {
- my ($what, $massage, $cmd) = @_;
- $output{$what} = target_cmd_output_root($ho,$cmd);
- stash($output{$what}, "$what-raw");
- $massage->();
- $output{$what} = join "\n", sort split /\n/, $output{$what};
- $output{$what} .= "\n";
- stash($output{$what}, "$what-massaged");
-}
-
-sub our_xenstorels () {
- some_xenstorels('ours', sub {
- $output{ours} =~ s{^/local/domain/$domid/}{}gm;
- }, <<END);
- xenstore-ls -fp /local/domain/$domid/device
-END
-}
-
-sub their_xenstorels () {
- some_xenstorels('theirs', sub {
- $output{theirs} =~ s{\r\n}{\n}g;
- while ($output{theirs} =~ m{\n=== calling ".*" main\(\) ===\n\n}) {
- $output{theirs} = $'; #';
- }
- $output{theirs} =~ m{\n=== main\(\) .* returned (\d+) ===\n} or die;
- $output{theirs} = $`;
- die "EXIT STATUS $1 ?" if $1 ne '0';
- $output{theirs} =~ s{^STUB \`\`\w+'' called\n}{}mg;
- $output{theirs} =~ s{^/dev/xen/xenbus[:[].*\n}{}mg;
- $output{theirs} =~ s{^xen devsw:.*\n}{}mg;
- }, <<END);
- cat /var/log/xen/console/guest-$gn.log
-END
-}
-
-sub check_output () {
- eval {
- our_xenstorels();
- their_xenstorels();
- 1;
- };
- if ($@) {
- die Dumper(\%output)."$@";
- }
- if ($output{ours} ne $output{theirs}) {
- system qw(diff -u), map { $file{"$_-massaged"} } qw(ours theirs);
- die "$? COMPARISON FAILED";
- }
-}
-
-start();
-await_end();
-check_output();
-logm("all good.");
+++ /dev/null
-#!/usr/bin/perl -w
-# This is part of "osstest", an automated testing framework for Xen.
-# Copyright (C) 2009-2013 Citrix Inc.
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-use strict qw(vars);
-use DBI;
-BEGIN { unshift @INC, qw(.); }
-use Osstest;
-use POSIX;
-use Osstest::TestSupport;
-use Osstest::Debian;
-
-tsreadconfig();
-
-our ($whhost) = @ARGV;
-$whhost ||= 'host';
-our $ho= selecthost($whhost);
-
-sub packages () {
- target_install_packages($ho,
- qw(binutils));
-}
-
-packages();