return $flags;
}
+sub get_arch_platforms ($$) {
+ my ($hd, $blessing, $arch) = @_;
+
+ my @plats = ( );
+ my $platsq = $dbh_tests->prepare(<<END);
+SELECT DISTINCT hostflag
+ FROM hostflags h0
+ WHERE EXISTS (
+ SELECT *
+ FROM hostflags h1, hostflags h2
+ WHERE h0.hostname = h1.hostname AND h1.hostname = h2.hostname
+ AND h1.hostflag = ?
+ AND h2.hostflag = ?
+ )
+ AND hostflag like 'platform-%';
+END
+
+ $platsq->execute("blessed-$blessing", "arch-$arch");
+
+ while (my ($plat) = $platsq->fetchrow_array()) {
+ $plat =~ s/^platform-//g or die;
+ push @plats, $plat;
+ }
+
+ $platsq->finish();
+ return @plats;
+}
+
sub default_methods ($$) {
my ($hd, $ho) = @_;
return $flags;
}
+sub get_arch_platforms ($$) {
+ my ($hd, $blessing, $arch) = @_;
+
+ my $prop = "Platforms".ucfirst($arch);
+
+ return split /\s+/, $c{$prop} if $c{$prop};
+ return () unless $c{$prop};
+}
+
sub default_methods ($$) { #method
my ($hd, $ho) = @_;
TestHostKeypairPath
+Platforms<Arch>
+ List of platforms (i.e. distinct host types) to run a basic test on.
+
HostProp_GenEtherPrefixBase 5e:36:0e:f5
# :00:01 guest number in job appended
# in standalone jobdb, ^^^^^ xor'd with low 16 bits of your uid
--- /dev/null
+# -*- bash -*-
+
+# 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/>.
+
+getplatforms () {
+ perl -e '
+ use Osstest;
+ csreadconfig();
+ print join " ", $mhostdb->get_arch_platforms("'$blessing'", "'$1'") or die $!;
+ '
+}
flight=`./cs-flight-create $blessing $branch`
. cri-common
+. cri-getplatforms
. ap-common
. mfi-common
test_matrix_do_one () {
# Basic PV Linux test with xl
+ for platform in '' `getplatforms $xenarch` ; do
+ suffix=${platform:+-$platform}
+ hostflags=${most_hostflags}${platform:+,platform-$platform}
- job_create_test test-$xenarch$kern-$dom0arch-xl test-debian xl \
+ job_create_test test-$xenarch$kern-$dom0arch-xl$suffix test-debian xl \
$xenarch $dom0arch \
- $debian_runvars all_hostflags=$most_hostflags
+ $debian_runvars all_hostflags=$hostflags
+ done
job_create_test test-$xenarch$kern-$dom0arch-libvirt test-debian libvirt \
$xenarch $dom0arch \