|
|
|
@ -47,14 +47,14 @@ def parse():
|
|
|
|
|
|
|
|
|
|
parser.usage = "%prog [options] (-h for help)"
|
|
|
|
|
|
|
|
|
|
parser.add_option('-m', '--module-name', dest='module_name',
|
|
|
|
|
help="module name to execute")
|
|
|
|
|
parser.add_option('-m', '--module-path', dest='module_path',
|
|
|
|
|
help="path of module to execute")
|
|
|
|
|
parser.add_option('-a', '--args', dest='module_args', default="",
|
|
|
|
|
help="module arguments")
|
|
|
|
|
parser.add_option('-D', '--debugger', dest='debugger',
|
|
|
|
|
help="path to python debugger (e.g. /usr/bin/pdb)")
|
|
|
|
|
options, args = parser.parse_args()
|
|
|
|
|
if not options.module_name:
|
|
|
|
|
if not options.module_path:
|
|
|
|
|
parser.print_help()
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
else:
|
|
|
|
@ -90,14 +90,8 @@ def boilerplate_module( modfile):
|
|
|
|
|
print "* module boilerplate substitution not requested in module, line numbers will be unaltered"
|
|
|
|
|
return modfile
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
options, args = parse()
|
|
|
|
|
|
|
|
|
|
argspath = write_argsfile( options.module_args)
|
|
|
|
|
modfile = boilerplate_module( options.module_name)
|
|
|
|
|
print argspath, modfile
|
|
|
|
|
sys.exit(0)
|
|
|
|
|
#===== run or debug the module
|
|
|
|
|
def runtest( modfile, argspath):
|
|
|
|
|
"""Test run a module, piping it's output for reporting."""
|
|
|
|
|
os.system("chmod +x %s" % modfile)
|
|
|
|
|
cmd = subprocess.Popen("%s %s" % (modfile, argspath),
|
|
|
|
|
shell=True,
|
|
|
|
@ -124,6 +118,20 @@ def main():
|
|
|
|
|
|
|
|
|
|
print utils.jsonify(results,format=True)
|
|
|
|
|
|
|
|
|
|
def rundebug(debugger, modfile, argspath):
|
|
|
|
|
"""Run interactively with console debugger."""
|
|
|
|
|
subprocess.call( "%s %s %s" % (debugger, modfile, argspath), shell=True)
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
options, args = parse()
|
|
|
|
|
|
|
|
|
|
argspath = write_argsfile( options.module_args)
|
|
|
|
|
modfile = boilerplate_module( options.module_path)
|
|
|
|
|
|
|
|
|
|
if options.debugger:
|
|
|
|
|
rundebug( options.debugger, modfile, argspath)
|
|
|
|
|
else:
|
|
|
|
|
runtest( modfile, argspath)
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
main()
|
|
|
|
|