[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH OSSTEST 00/17] refactor and clean up make-flight



The following series refactors make-flight to move some of the useful
guts into a helper shell library which can be used for creating
alternative flights. My goal was to create a flight which ran distro
domU tests (starting with Debian), which I've posted before and you
rightly commented that make-flight could do with some refactoring...

I didn't actually get as far as a working distro flight (or rather I
haven't addressed the comments you had on test cases last time) but my
make-distro-flight is below for reference. It is much smaller that last
time!

There's a lot of code motion and whitespace cleanups in here, I've tried
to split them up (hence too many patches).

I've confirmed with mg-show-flight-runvars things only changed as
expected:

osstest                         +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
xen-4.0-testing                 No change
xen-4.1-testing                 No change
xen-4.2-testing                 +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
xen-4.3-testing                 +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
xen-unstable                    +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
qemu-upstream-unstable          No change
qemu-upstream-4.2-testing       No change
qemu-upstream-4.3-testing       No change
linux-3.10                      +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
linux-3.4                       +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
linux-arm-xen                   No change
linux-linus                     +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
linux-mingo-tip-master          +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1
linux-3.0                       +test-amd64-i386-xl-qemuu-win7-amd64 & 
+test-amd64-i386-xl-qemuu-winxpsp3-vcpus1

Phew! (NB: no new tests for qemu-upstream-* because they are already included)

I'm a little uncertain about the number of global variables which are
assumed to be in scope in various places, but the alternative was dozens
of parameters to each function, which given the lack of named arguments
to functions in shell seemed like an equally bad proposition.

Ian.

8<--------------------------

#!/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
. mfi-common

defsuite=`getconfig DebianSuite`
defguestsuite=`getconfig GuestDebianSuite`

if [ x$buildflight = x ]; then

  if [ "x$BUILD_LVEXTEND_MAX" != x ]; then
     BUILD_RUNVARS+=" build_lvextend_max=$BUILD_LVEXTEND_MAX "
  fi

  WANT_XEND=false REVISION_LINUX_OLD=disable

  create_build_jobs

else

  bfi=$buildflight.

fi

job_create_test_filter_callback () {
    :
}

test_matrix_branch_filter_callback () {
    :
}

test_do_one_arch_dist () {
  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
}

test_matrix_do_one () {
  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

      test_do_one_arch_dist

    done
  done
}

test_matrix_iterate

echo $flight

# Local variables:
# mode: sh
# sh-basic-offset: 2
# indent-tabs-mode: nil
# End:



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.