|
Gaudi Framework, version v21r8 |
| Home | Generated: 17 Mar 2010 |
Classes | |
| class | Options |
Functions | |
| def | parseOptions |
| def | main |
| def run_qmtest::main | ( | argv = None |
) |
Definition at line 67 of file run_qmtest.py.
00067 : 00068 opts = parseOptions(argv) 00069 00070 print "==========> Running tests for package %s" % opts.package 00071 00072 # create the destination directory if necessary 00073 if opts.output: 00074 results_dest_dir = os.path.realpath(os.path.join(opts.qmtest_dir, os.path.dirname(opts.output))) 00075 if not os.path.exists(results_dest_dir): 00076 print "==========> Creating '%s'" % results_dest_dir 00077 os.makedirs(results_dest_dir, 0755) 00078 00079 print "==========> Entering '%s'" % opts.qmtest_dir 00080 os.chdir(opts.qmtest_dir) 00081 00082 if not os.path.isdir("QMTest"): 00083 # The QMTest database is not initialized 00084 print "==========> Initializing QMTest database" 00085 os.system("qmtest create-tdb") 00086 00087 if opts.html_output: 00088 opts.qmtest_args.insert(0, """--result-stream 'GaudiTest.HTMLResultStream(dir="%s")'""" % opts.html_output) 00089 00090 # prepare the qmtest command 00091 cmd = "qmtest run %s" % (" ".join(opts.qmtest_args)) 00092 00093 # check if we have a test suite called as the package 00094 if not opts.have_user_options and os.path.exists("%s.qms" % opts.package.lower()): 00095 cmd += " %s" % opts.package.lower() 00096 00097 if opts.dry_run: 00098 print "==========> Would run '%s'"%cmd 00099 else: 00100 print "==========> Running '%s'"%cmd 00101 os.system(cmd) 00102 00103 # Note: the return code of qmtest is not propagated to avoid that 00104 # 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 if "GAUDI_QMTEST_HTML_OUTPUT" in os.environ: 00025 opts.html_output = os.path.normpath(os.path.expandvars(os.environ.get("GAUDI_QMTEST_HTML_OUTPUT"))) 00026 else: 00027 opts.html_output = None 00028 00029 # First argument is the package name: 00030 if argv: 00031 opts.package = argv.pop(0) 00032 00033 # If the use specifies a directory where to collect all the results 00034 # (e.g. because running from a read-only location) we must use it 00035 if "QMTESTRESULTSDIR" in os.environ: 00036 opts.output = os.path.normpath(os.path.expandvars(os.environ["QMTESTRESULTSDIR"])) 00037 opts.output = os.path.join(opts.output, 00038 "%s.%s.qmr" % (opts.package, os.environ.get("CMTCONFIG", "noConfig"))) 00039 00040 # Do we have user options? 00041 opts.have_user_options = len(argv) 00042 # Scan the user options (if any) to look for options we must intercept 00043 while argv: 00044 o = argv.pop(0) 00045 if o in ['-o','--output']: 00046 # make the path absolute 00047 opts.output = os.path.realpath(argv.pop(0)) 00048 opts.have_user_options -= 2 00049 elif o in ["--no-output"]: 00050 opts.output = None 00051 opts.have_user_options -= 1 00052 elif o in ["--dry-run"]: 00053 opts.dry_run = True 00054 opts.have_user_options -= 1 00055 elif o in ["--html-output"]: 00056 opts.html_output = os.path.realpath(argv.pop(0)) 00057 opts.have_user_options -= 2 00058 else: 00059 opts.qmtest_args.append(o) 00060 # Add the option for the output to the qmtest_args 00061 if opts.output: 00062 opts.qmtest_args = ["-o", opts.output] + opts.qmtest_args 00063 else: 00064 opts.qmtest_args.insert(0, "--no-output") 00065 return opts 00066 def main(argv = None):