|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH/RFC OSSTEST] Debian PV netboot guest test
On Mon, 2013-11-25 at 14:44 +0000, Ian Campbell wrote:
> I've been working on this on the odd occasion, I think it mostly works,
> or it did last I tried which was a while back. I'm sure it is too hacky
> in places. My plan was to clean it up on the next test day.
>
> I'm mostly just sending this for Wei's benefit since he is independently
> looking at adding Debian HVM guest tests for OVMF purposes.
FWIW I was planning to introduce a separate "distros" flight to osstest,
which would semiregularly test a bunch of distros (of which Debian
happens to just be the one I was interested in).
My lashed up skanky thinking here is appended..
Ian.
commit 15e5f1c85e3ccf8ca70aacb116401b9332256894
Author: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Mon Nov 25 14:36:40 2013 +0000
Make a distro flight for running di jobs.
diff --git a/make-distro-flight b/make-distro-flight
new file mode 100644
index 0000000..b02281d
--- /dev/null
+++ b/make-distro-flight
@@ -0,0 +1,201 @@
+#!/bin/bash
+
+# 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/>.
+
+
+set -e
+
+branch=$1
+xenbranch=$2
+blessing=$3
+buildflight=$4
+
+flight=`./cs-flight-create $blessing $branch`
+
+. ap-common
+. cri-common
+
+bfi=${buildflight}.
+
+stripy () {
+ local out_vn="$1"; shift
+ local out_0="$1"; shift
+ local out_1="$1"; shift
+ local out_val=0
+ local this_val
+ local this_cmp
+ while [ $# != 0 ]; do
+ this_val="$1"; shift
+ this_cmp="$1"; shift
+ if [ "x$this_val" = "x$this_cmp" ]; then
+ out_val=$(( $out_val ^ 1 ))
+ fi
+ done
+ eval "$out_vn=\"\$out_$out_val\""
+}
+
+job_create_test () {
+ local job=$1; shift
+ local recipe=$1; shift
+ local toolstack=$1; shift
+
+ local job_md5=`echo "$job" | md5sum`
+ job_md5="${job_md5% -}"
+
+ if [ "x$JOB_MD5_PATTERN" != x ]; then
+ case "$job_md5" in
+ $JOB_MD5_PATTERN) ;;
+ *) return;;
+ esac
+ fi
+
+ case "$branch" in
+ qemu-upstream-*)
+ case " $* " in
+ *" device_model_version=qemu-xen "*)
+ ;;
+ *)
+ : "suppressed $job"
+ return;;
+ esac
+ ;;
+ *)
+ case "$job" in
+ *-qemuu-*)
+ if [ "x$toolstack" != xxl ]; then return; fi
+
+ case "$job" in
+ *-win*)
+ case "$job_md5" in
+ *[0-a]) return;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+
+ ./cs-job-create $flight $job $recipe toolstack=$toolstack \
+ $RUNVARS $TEST_RUNVARS $most_runvars "$@"
+}
+
+for xenarch in ${TEST_ARCHES- i386 amd64 armhf } ; do
+
+ if [ "x$xenarch" = xdisable ]; then continue; fi
+
+ case "$xenarch" in
+ armhf)
+ # Arm from 4.3 onwards only
+ case "$xenbranch" in
+ xen-3.*-testing) continue;;
+ xen-4.0-testing) continue;;
+ xen-4.1-testing) continue;;
+ xen-4.2-testing) continue;;
+ *) ;;
+ esac
+ ;;
+ i386)
+ # 32-bit Xen is dropped from 4.3 onwards
+ case "$xenbranch" in
+ xen-3.*-testing) ;;
+ xen-4.0-testing) ;;
+ xen-4.1-testing) ;;
+ xen-4.2-testing) ;;
+ *) continue ;;
+ esac
+ ;;
+ amd64)
+ ;;
+ esac
+
+ case "$xenbranch" in
+ xen-3.*-testing) onetoolstack=xend ;;
+ xen-4.0-testing) onetoolstack=xend ;;
+ xen-4.1-testing) onetoolstack=xend ;;
+ *) onetoolstack=xl ;;
+ esac
+
+ for kern in ''; do
+
+ case $kern in
+ '')
+ kernbuild=pvops
+ kernkind=pvops
+ ;;
+ -xcpkern)
+ kernbuild=xcpkern
+ kernkind=2627
+ if [ "x$REVISION_LINUX_XCP" = xdisable ]; then continue; fi
+ ;;
+ *) echo >&2 "kernkind ? $kern"; exit 1 ;;
+ esac
+
+ for dom0arch in i386 amd64 armhf; do
+
+ case ${xenarch}_${dom0arch} in
+ amd64_amd64) ;;
+ amd64_i386) ;;
+ i386_i386) ;;
+ armhf_armhf) ;;
+ *) continue ;;
+ esac
+
+ eval "
+ arch_runvars=\"\$ARCH_RUNVARS_$dom0arch\"
+ "
+
+ if [ x$kern = x-xcpkern -a $dom0arch != i386 ]; then continue; fi
+
+
most_hostflags="arch-$dom0arch,arch-xen-$xenarch,suite-$suite,purpose-test"
+
+ most_runvars="
+ arch=$dom0arch \
+ xenbuildjob=${bfi}build-$xenarch \
+ kernbuildjob=${bfi}build-$dom0arch-$kernbuild \
+ buildjob=${bfi}build-$dom0arch \
+ kernkind=$kernkind \
+ $arch_runvars $suite_runvars
+ "
+
+ case ${xenarch} in
+ amd64) domUarches="amd64 i386";;
+ i386) domUarches="";;
+ armhf) domUarches="armhf";;
+ esac
+
+ for domU in $domUarches ; do
+ for dist in squeeze wheezy jessie ; do
+ case $domU_$dist in
+ armhf_squeeze) continue;;
+ *) ;;
+ esac
+ job_create_test test-$xenarch$kern-$dom0arch-$domU-$dist-di
test-debian-di xl \
+ xenbuildjob=${bfi}build-$xenarch \
+ kernbuildjob=${bfi}build-$dom0arch-$kernbuild \
+ buildjob=${bfi}build-$dom0arch \
+ debian_arch=$domU \
+ debian_dist=$dist \
+ all_hostflags=$most_hostflags
+ done
+ done
+ done
+ done
+
+done
+
+echo $flight
diff --git a/make-flight b/make-flight
index 95f8d53..a5d21af 100755
--- a/make-flight
+++ b/make-flight
@@ -329,29 +329,6 @@ for xenarch in ${TEST_ARCHES- i386 amd64 armhf } ; do
kernkind=$kernkind \
$arch_runvars $suite_runvars
"
-
- case ${xenarch} in
- amd64) domUarches="amd64 i386";;
- i386) domUarches="";;
- armhf) domUarches="armhf";;
- esac
-
- for domU in $domUarches ; do
- for dist in squeeze wheezy jessie ; do
- case $domU_$dist in
- armhf_squeeze) continue;;
- *) continue;;
- esac
- job_create_test test-$xenarch$kern-$dom0arch-$domU-di test-debian-di
xl \
- xenbuildjob=${bfi}build-$xenarch \
- kernbuildjob=${bfi}build-$dom0arch-$kernbuild \
- buildjob=${bfi}build-$dom0arch \
- debian_arch=$domU \
- debian_dist=$dist \
- all_hostflags=$most_hostflags
- done
- done
-
if [ $dom0arch = armhf ]; then
job_create_test test-$xenarch$kern-$dom0arch-xl test-debian xl \
debian_kernkind=$kernkind \
diff --git a/sg-report-flight b/sg-report-flight
index 69ef252..65733d1 100755
--- a/sg-report-flight
+++ b/sg-report-flight
@@ -95,7 +95,9 @@ while (@ARGV && $ARGV[0] =~ m/^-/) {
@ARGV==1 or die;
$_= shift @ARGV;
-if (m/^\d+$/) {
+if(m/^standalone.*$/) {
+ $specflight= $_;
+} elsif (m/^\d+$/) {
$specflight= $_;
} else {
$branch= $_;
@@ -282,12 +284,12 @@ sub examineflight ($) {
my $flightinfo= $dbh_tests->selectrow_hashref(<<END);
SELECT * FROM flights
- WHERE flight=$flight
+ WHERE flight="$flight"
END
my $jobs= $dbh_tests->selectall_arrayref(<<END, { Slice => {} });
SELECT * FROM jobs
- WHERE flight=$flight
+ WHERE flight="$flight"
END
my $colmap= sub {
@@ -303,7 +305,7 @@ END
my $stepsq= $dbh_tests->prepare(<<END);
SELECT * FROM steps
- WHERE flight=$flight AND job=?
+ WHERE flight="$flight" AND job=?
ORDER BY stepno
END
@@ -425,7 +427,7 @@ END
my $revh= $dbh_tests->prepare(<<END);
SELECT * FROM runvars
- WHERE flight=$flight AND job='$j->{job}'
+ WHERE flight="$flight" AND job='$j->{job}'
AND name like 'built_revision_%'
ORDER BY name
END
diff --git a/standalone-reset b/standalone-reset
index 8be7e86..b045dba 100755
--- a/standalone-reset
+++ b/standalone-reset
@@ -156,7 +156,10 @@ fi
export BUILD_LVEXTEND_MAX
OSSTEST_FLIGHT=$flight \
-./make-flight "$branch" "$xenbranch" play $buildflight >/dev/null
+mainflight=`./make-flight "$branch" "$xenbranch" play $buildflight` >/dev/null
+
+OSSTEST_FLIGHT=${flight:-standalone}-distros \
+./make-distro-flight distros "$xenbranch" play $mainflight >/dev/null
#---------- done ----------
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |