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)
% (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:
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
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()