|
Gaudi Framework, version v21r7p1 |
| Home | Generated: 15 Feb 2010 |
Classes | |
| class | Options |
Functions | |
| def | parseOptions |
| def | main |
| def run_qmtest::main | ( | argv = None |
) |
Definition at line 59 of file run_qmtest.py.
00059 : 00060 opts = parseOptions(argv) 00061 00062 print "==========> Running tests for package %s" % opts.package 00063 00064 # create the destination directory if necessary 00065 if opts.output: 00066 results_dest_dir = os.path.realpath(os.path.join(opts.qmtest_dir, os.path.dirname(opts.output))) 00067 if not os.path.exists(results_dest_dir): 00068 print "==========> Creating '%s'" % results_dest_dir 00069 os.makedirs(results_dest_dir, 0755) 00070 00071 print "==========> Entering '%s'" % opts.qmtest_dir 00072 os.chdir(opts.qmtest_dir) 00073 00074 if not os.path.isdir("QMTest"): 00075 # The QMTest database is not initialized 00076 print "==========> Initializing QMTest database" 00077 os.system("qmtest create-tdb") 00078 00079 # prepare the qmtest command 00080 cmd = "qmtest run %s" % (" ".join(opts.qmtest_args)) 00081 00082 # check if we have a test suite called as the package 00083 if not opts.have_user_options and os.path.exists("%s.qms" % opts.package.lower()): 00084 cmd += " %s" % opts.package.lower() 00085 00086 if opts.dry_run: 00087 print "==========> Would run '%s'"%cmd 00088 else: 00089 print "==========> Running '%s'"%cmd 00090 os.system(cmd) 00091 00092 # Note: the return code of qmtest is not propagated to avoid that 00093 # CMT stops if we have a non-PASS tests (e.g. UNTESTED). if __name__ == '__main__':
| def run_qmtest::parseOptions | ( | argv = None |
) |
Definition at line 13 of file run_qmtest.py.
00013 : 00014 if argv is None: 00015 argv = sys.argv[1:] 00016 # Defaults 00017 opts = Options() 00018 opts.package = "Unknown" 00019 opts.qmtest_args = [] 00020 opts.have_user_options = False 00021 opts.output = os.path.normpath(os.path.expandvars(os.environ["QMTESTRESULTS"])) 00022 opts.qmtest_dir = os.path.normpath(os.path.expandvars(os.environ["QMTESTLOCALDIR"])) 00023 opts.dry_run = False 00024 # First argument is the package name: 00025 if argv: 00026 opts.package = argv.pop(0) 00027 00028 # If the use specifies a directory where to collect all the results 00029 # (e.g. because running from a read-only location) we must use it 00030 if "QMTESTRESULTSDIR" in os.environ: 00031 opts.output = os.path.normpath(os.path.expandvars(os.environ["QMTESTRESULTSDIR"])) 00032 opts.output = os.path.join(opts.output, 00033 "%s.%s.qmr" % (opts.package, os.environ.get("CMTCONFIG", "noConfig"))) 00034 00035 # Do we have user options? 00036 opts.have_user_options = len(argv) 00037 # Scan the user options (if any) to look for options we must intercept 00038 while argv: 00039 o = argv.pop(0) 00040 if o in ['-o','--output']: 00041 # make the path absolute 00042 opts.output = os.path.realpath(argv.pop(0)) 00043 opts.have_user_options -= 2 00044 elif o in ["--no-output"]: 00045 opts.output = None 00046 opts.have_user_options -= 1 00047 elif o in ["--dry-run"]: 00048 opts.dry_run = True 00049 opts.have_user_options -= 1 00050 else: 00051 opts.qmtest_args.append(o) 00052 # Add the option for the output to the qmtest_args 00053 if opts.output: 00054 opts.qmtest_args = ["-o", opts.output] + opts.qmtest_args 00055 else: 00056 opts.qmtest_args.insert(0, "--no-output") 00057 return opts 00058 def main(argv = None):