netlink-socket: Adapt to Windows and MSVC.
[cascardo/ovs.git] / utilities / ovs-dev.py
index 7a4425f..74143ca 100755 (executable)
@@ -144,6 +144,18 @@ commands.append(make)
 
 
 def check():
+    flags = ""
+    if options.jobs:
+        flags += "-j%d " % options.jobs
+    else:
+        flags += "-j8 "
+    if options.tests:
+        for arg in str.split(options.tests):
+            if arg[0].isdigit():
+                flags += "%s " % arg
+            else:
+                flags += "-k %s " % arg
+    ENV["TESTSUITEFLAGS"] = flags
     make("check")
 commands.append(check)
 
@@ -224,6 +236,12 @@ def run():
         % (root_uuid, version))
 
     cmd = [BUILD_GCC + "/vswitchd/ovs-vswitchd"]
+
+    if options.dpdk:
+        cmd.append("--dpdk")
+        cmd.extend(options.dpdk)
+        cmd.append("--")
+
     if options.gdb:
         cmd = ["gdb", "--args"] + cmd
     elif options.valgrind:
@@ -312,6 +330,16 @@ Commands:
     sys.exit(0)
 commands.append(doc)
 
+def parse_subargs(option, opt_str, value, parser):
+    subopts = []
+
+    while parser.rargs:
+        dpdkarg = parser.rargs.pop(0)
+        if dpdkarg == "--":
+            break
+        subopts.append(dpdkarg)
+
+    setattr(parser.values, option.dest, subopts)
 
 def main():
     global options
@@ -339,11 +367,22 @@ def main():
                          const=i, help="compile with -O%d" % i)
     parser.add_option_group(group)
 
+    group = optparse.OptionGroup(parser, "check")
+    group.add_option("-j", "--jobs", dest="jobs", metavar="N", type="int",
+                     help="Run N tests in parallel")
+    group.add_option("--tests", dest="tests", metavar="FILTER",
+                     help="""run specific tests and/or a test category
+                          eg, --tests=\"1-10 megaflow\"""")
+    parser.add_option_group(group)
+
     group = optparse.OptionGroup(parser, "run")
     group.add_option("-g", "--gdb", dest="gdb", action="store_true",
                      help="run ovs-vswitchd under gdb")
     group.add_option("--valgrind", dest="valgrind", action="store_true",
                      help="run ovs-vswitchd under valgrind")
+    group.add_option("--dpdk", dest="dpdk", action="callback",
+                     callback=parse_subargs,
+                     help="run ovs-vswitchd with dpdk subopts (ended by --)")
     parser.add_option_group(group)
 
     options, args = parser.parse_args()