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

[Xen-devel] [PATCH OSSTEST v4 2/2] Stubdom test case



Currently only QEMU traditional supports stubdom and we want to
eventually do away with non-XSM test cases, so we only create

  test-amd64-{i386,amd64}-xl-qemut-stubdom-debianhvm-amd64-xsm

Note that stubdom only supports serial='pty'. Piping serial to stderr
causes stubdom to exit abnormally.

Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
Changes in v4:
1. Use guest var.
2. Make code idiomatic.
3. Only generate stubdom with xsm enabled.

Changes in v3:
1. Make sure if stubdom is not defined use toolstack default.

Changes in v2:
1. If stubdom is not defined use toolstack default.
2. Don't set stubdom runvar for every test case, use default.

diff -ub <(sort ../master-runvars) <(sort ../stubdom-runvars) | sed  's/[ 
\t]*$//' | egrep '^[\+|-]'
--- /dev/fd/63  2015-06-10 20:39:40.702960271 +0100
+++ /dev/fd/62  2015-06-10 20:39:40.702960271 +0100
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm all_hostflags             
  arch-amd64,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm arch                      
  amd64
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm bios                      
  rombios
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm buildjob                  
  build-amd64-xsm
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm debianhvm_image           
  debian-7.2.0-amd64-CD-1.iso
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm debianhvm_stubdom         
  true
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm device_model_version      
  qemu-xen-traditional
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm enable_xsm                
  true
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm kernbuildjob              
  build-amd64-pvops
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm kernkind                  
  pvops
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm toolstack                 
  xl
+xen-unstable               
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm xenbuildjob               
  build-amd64-xsm
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  all_hostflags             
  arch-i386,arch-xen-amd64,suite-wheezy,purpose-test,hvm
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  arch                      
  i386
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  bios                      
  rombios
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  buildjob                  
  build-i386-xsm
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  debianhvm_image           
  debian-7.2.0-amd64-CD-1.iso
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  debianhvm_stubdom         
  true
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  device_model_version      
  qemu-xen-traditional
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  enable_xsm                
  true
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  kernbuildjob              
  build-i386-pvops
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  kernkind                  
  pvops
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  toolstack                 
  xl
+xen-unstable               
test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm  xenbuildjob               
  build-amd64-xsm
---
 Osstest/TestSupport.pm |  9 ++++++++-
 make-flight            | 16 ++++++++++++++--
 ts-debian-hvm-install  |  3 +++
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/Osstest/TestSupport.pm b/Osstest/TestSupport.pm
index 853631c..63a7aab 100644
--- a/Osstest/TestSupport.pm
+++ b/Osstest/TestSupport.pm
@@ -1653,7 +1653,6 @@ vncdisplay=0
 vnclisten='$ho->{Ip}'
 vncpasswd='$passwd'
 
-serial='file:/dev/stderr'
 #
 boot = 'dc'
 END
@@ -1668,6 +1667,14 @@ END
         $cfg .= "bios='$bios'\n";
     }
 
+    my $stubdom = $xopts{Stubdom};
+    if ($stubdom) {
+       $cfg .= "device_model_stubdomain_override=1\n";
+       $cfg .= "serial='pty'\n";
+    } else {
+       $cfg .= "serial='file:/dev/stderr'\n";
+    }
+
     $xopts{VifType} ||= "ioemu";
     my $cfgpath= prepareguest_part_xencfg($ho, $gho, $ram_mb, \%xopts, $cfg);
     target_cmd_root($ho, <<END);
diff --git a/make-flight b/make-flight
index 41c7520..78ace52 100755
--- a/make-flight
+++ b/make-flight
@@ -214,10 +214,19 @@ do_hvm_debian_test_one () {
   testname=$1
   bios=$2
   xsm=$3
+  stubdom=$4
 
-  job_create_test test-$xenarch$kern-$dom0arch-xl$qemuu_suffix-$testname-amd64\
+  stubdom_suffix=""
+  stubdom_runvar=""
+  if [ x$stubdom != x ]; then
+      stubdom_suffix="-stubdom"
+      stubdom_runvar="debianhvm_stubdom=$stubdom"
+  fi
+
+  job_create_test 
test-$xenarch$kern-$dom0arch-xl$qemuu_suffix$stubdom_suffix-$testname-amd64\
     test-debianhvm xl $xenarch $dom0arch $qemuu_runvar \
     enable_xsm=$xsm                             \
+    $stubdom_runvar                             \
     debianhvm_image=debian-7.2.0-amd64-CD-1.iso \
     bios=$bios \
     all_hostflags=$most_hostflags,hvm
@@ -238,10 +247,13 @@ do_hvm_debian_tests() {
     done
   fi
 
-  # QEMU traditional supports rombios
+  # QEMU traditional supports rombios and stubdom
   if [ "x$qemuu_suffix" == "x-qemut" ]; then
     for xsm in $xsms ; do
       do_hvm_debian_test_one debianhvm rombios $xsm
+      if [ x$xsm = xtrue ]; then
+          do_hvm_debian_test_one debianhvm rombios $xsm true
+      fi
     done
   fi
 }
diff --git a/ts-debian-hvm-install b/ts-debian-hvm-install
index ea2d1ad..825f201 100755
--- a/ts-debian-hvm-install
+++ b/ts-debian-hvm-install
@@ -178,9 +178,12 @@ sub prep () {
     }
     logm("Host has $host_freemem_mb MB free memory, setting guest memory size 
to $ram_mb MB");
 
+    my $stubdom = guest_var_boolean($gho, 'stubdom');
+
     more_prepareguest_hvm($ho,$gho, $ram_mb, $disk_mb,
                           OnReboot => 'preserve',
                           Bios => $r{bios},
+                          Stubdom => $stubdom,
                           PostImageHook => sub {
         my $cmds = iso_copy_content_from_image($gho, $newiso);
         $cmds .= prepare_initrd($initrddir,$newiso,$preseed_file_path);
-- 
1.9.1


_______________________________________________
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®.