qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [Autotest PATCH 2/2] virt run: add three logical case filte


From: Amos Kong
Subject: [Qemu-devel] [Autotest PATCH 2/2] virt run: add three logical case filters
Date: Sun, 30 Dec 2012 09:02:09 +0800

This patch added there options for filtering cases by logics,

For example:
./run -t qemu -c tests.cfg --oronly="WinXP Win7" --andonly="boot 64" --not="sp1"
  (following cases will be executed)

Test    1: virtio_blk.smp2.virtio_net.WinXP.64.boot
Test    2: virtio_blk.smp2.virtio_net.Win7.64.boot

Current '--tests' option will actually added OR case filter.
I would like to reserve '--tests', because it's easy to be
understood. eg:

 --tests="Win7 WinXP":
 cases of those two guests will be filtered.

Signed-off-by: Amos Kong <address@hidden>
---
 run |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/run b/run
index aac332a..da02ced 100755
--- a/run
+++ b/run
@@ -158,6 +158,15 @@ class VirtTestRunParser(optparse.OptionParser):
         general.add_option("--tests", action="store", dest="tests",
                            help=('List of space separated tests to be executed'
                                 ' - example: --tests "boot reboot shutdown"'))
+        general.add_option("--and", action="store", dest="andstr",
+                           help=('Add AND case filter'
+                                ' - example: --and "RHEL boot"'))
+        general.add_option("--or", action="store", dest="orstr",
+                           help=('Add OR case filter'
+                                ' - example: --tests "boot shutdown"'))
+        general.add_option("--not", action="store", dest="nostr",
+                           help=('Add NOT case filter'
+                                 ' - example: --not "netperf_win"'))
         general.add_option("--list-tests", action="store_true", dest="list",
                            help="List tests available")
         general.add_option("--data-dir", action="store", dest="datadir",
@@ -310,6 +319,18 @@ class VirtTestApp(object):
             tests = self.options.tests.split(" ")
             self.cartesian_parser.parse_string("only %s" % ", ".join(tests))
 
+        if self.options.type and self.options.andstr:
+            for i in self.options.andstr.split(" "):
+                self.cartesian_parser.parse_string("only %s" % i)
+
+        if self.options.type and self.options.orstr:
+            tests = self.options.orstr.split(" ")
+            self.cartesian_parser.parse_string("only %s" % ", ".join(tests))
+
+        if self.options.type and self.options.nostr:
+            for i in self.options.nostr.split(" "):
+                self.cartesian_parser.parse_string("no %s" % i)
+
         elif (self.options.type and not self.options.tests
               and not self.options.config):
             if self.options.type == 'qemu':
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]