Usage of runXMLΒΆ
Run all test cases specified within an XML file without the overhead of pavayo.
$ ./contrib/runXML.py -h
usage: pavayo.py [-h] [-i PATH] [-w PATH] [--testLevel LEVEL [LEVEL ...]] [--basePath KEY [PATH ...]]
[--traceSuite PATH] [--trace PATH] [--prep PATH] [--post PATH] [--addExecutable KEY [PATH ...]]
[-g PATH] [--noFixedGmcPlay] [--pymesh PATH] [--noFixedPyMesh] [--debug]
[--passCommandLineArgument EXECUTABLE ARGUMENT] [-tbp] [-d] [-c] [-p] [-l] [-a] [--skipReferenceChecks]
[--show [{testcases,keywords}]] [--showSelected [{testcases,keywords,status}]] [-o PATH]
[--forceReferencePlots] [--evaluateReferences]
[--selectiveCompute SELECTIVE_COMPUTE [SELECTIVE_COMPUTE ...]]
[--step {reset,gmc,prep,trace,post} [{reset,gmc,prep,trace,post} ...]] [-t TESTCASE [TESTCASE ...]]
[-T] [-A ACCOUNT] [--queue QUEUE] [-n {ib,w,sb}] [--np NUM] [--numberOfThreadsPerProc NUM]
[--numberOfProcsPerNode NUM] [--allowFewerProcs] [--deactivateClusterJobGrouping]
[--slurmSwitches SLURMSWITCHES] [--literatureDatabase PATH] [--unusedLiteratureDatabase]
[-m MAILADDRESS] [-f] [--maxPriority MAX_PRIORITY] [--confidentiality ALLOW [ALLOW ...]]
[--keyword KEYWORD [KEYWORD ...]] [--exclude] [--knownErrorsFile KNOWN_ERRORS_FILE]
[--knownErrorsSuiteName KNOWN_ERRORS_SUITE_NAME] [--updateReferenceData] [--updateRestartData]
[--updateMeshData] [--prepareTraceSuiteXMLforUpload] [-u PATH] [--failedJobsFile PATH]
[--junitXml PATH] [--retriesComputation N_RETRIES]
[--releaseReports RELEASEREPORTS [RELEASEREPORTS ...]]
[--singleTecplotLicense | --ntecplot TECPLOTLICENSE] [--valgrind]
[--valgrindExec VALGRIND_EXEC [VALGRIND_EXEC ...]] [--valgrindSuppFile VALGRIND_SUPP_FILE]
[--includeSanitizerLogs] [--sshUser SSHUSER] [--saveTestCaseRuntimes] [--verbosity VERBOSE]
[--additionalProcessStatus] [--outputOnError] [--version]
Perform a test on TRACE.
optional arguments:
-h, --help show this help message and exit
-i PATH, --input PATH read the selected XML file
-w PATH, --workingDirectory PATH path for the working directory
--literatureDatabase PATH Specify the path to the checked out literature data base
--unusedLiteratureDatabase Mark the database as unnecessary for the run. It will not be downloaded.
-m MAILADDRESS, --mail MAILADDRESS Mail address to send mail to when job is finished
-f, --forceUpdate force update of all specified test cases, only available on test level 2 and 3
--releaseReports RELEASEREPORTS [RELEASEREPORTS ...]
Generate additional validation reports in consideration of the confidentiality
--verbosity VERBOSE level of verbosity (0 - minimal output, 1 - Jenkins, 2 - default, 3 - debug)
--additionalProcessStatus activates further process status output (i.e. RUNNING..., DONE...) as formerly
known
--outputOnError write the output of failed jobs to stdout if available
--version, -v show program's version number and exit
Test case selection:
--testLevel LEVEL [LEVEL ...] The test level you want to execute (3 (default) = test suite, 5 = validation)
-t TESTCASE [TESTCASE ...], --testcase TESTCASE [TESTCASE ...]
select specific test cases
-T, --testcasesFromStdin select specific test cases by reading them from stdin
--maxPriority MAX_PRIORITY maximal priority of test cases to run; only available for the test suite
--confidentiality ALLOW [ALLOW ...] select only test cases which are free for the given group
--keyword KEYWORD [KEYWORD ...] only handle test cases with (or without; see '--exclude') this keyword
--exclude exclude test cases with the keywords specified via '--keyword'
--knownErrorsFile KNOWN_ERRORS_FILE Path to JSON file containing known errors
--knownErrorsSuiteName KNOWN_ERRORS_SUITE_NAME
Name of the suite to use from the knownErrorsFile
Executables:
--basePath KEY [PATH ...] list of base paths ({key}=<path> or {key} [path]
--traceSuite PATH path to the TRACE suite folder
--trace PATH path of the TRACE executable
--prep PATH path of the PREP executable
--post PATH path of the POST executable
--addExecutable KEY [PATH ...] path to additional executables ({key}=<path> or {key} [path]
-g PATH, --gmcplay PATH path of the GMC_PLAY executable
--noFixedGmcPlay gmcPlay version may differ from the version stated in the XML file
--pymesh PATH path of the PyMesh executable
--noFixedPyMesh PyMesh version may differ from the version stated in the XML file
--debug use the *debug versions of the TRACE suite executables; only works in
combination with '--traceSuitePath'
--passCommandLineArgument EXECUTABLE ARGUMENT
Specify a flag for an executable; Only works for the test level 3; NB: Do not
include the leading dashes; only works for long options
-tbp, --useThreadsInsteadOfProcesses Use shared memory parallelization only for TRACE; Warning: this may lead to
invalid configurations!
Execution (at least one option mandatory):
-d, --download download the test cases
-c, --compute do the computation
-p, --postProc do the post processing and check the results against references
-l, --latex create the report file
-a, --autorun perform all steps and do it without interaction
--skipReferenceChecks skip check of tolerances of results against references
--show [{testcases,keywords}] show available test cases (By adding the optional argument keywords the test
cases are listed by keywords.)
--showSelected [{testcases,keywords,status}]
show the selected test cases (By adding the optional argument keywords the test
cases are listed by keywords.)
-o PATH, --outputTestcases PATH select output file for test case list
--forceReferencePlots force the creation of reference plots even if checks succeed
--evaluateReferences compare current against original references without running the testcases
-u PATH, --uploadTestcases PATH Upload test cases. Don't forget to specify a file with a check-in message.
--failedJobsFile PATH Specify file for failed jobs output.
--junitXml PATH Specify file for a JUnit compatible XML file.
--retriesComputation N_RETRIES Number of times every computation is retried.
Sub-set for the 'compute' step (expert options):
--selectiveCompute SELECTIVE_COMPUTE [SELECTIVE_COMPUTE ...]
use the specified list of job names
--step {reset,gmc,prep,trace,post} [{reset,gmc,prep,trace,post} ...]
execute the specified steps for validiation test cases
Job management:
-A ACCOUNT, --account ACCOUNT Account for cluster costs
--queue QUEUE queue for the queueing system when running on a cluster
-n {ib,w,sb}, --nodeType {ib,w,sb} Choose a node type
--np NUM number of processes
--numberOfThreadsPerProc NUM number of threads per processor for all TRACE jobs
--numberOfProcsPerNode NUM number of processors per node for all TRACE jobs
--allowFewerProcs If there are less processes available than a job asks for use fewer processes
--deactivateClusterJobGrouping deactivates simultaneous execution of small jobs on shared cluster nodes
--slurmSwitches SLURMSWITCHES <count>[@minutes] requests a node allocation with at most <count> network
switches within <minutes> by SLURM
Modifying test cases and prepare Trace Suite for check in:
--updateReferenceData update reference data of selected test cases: only available for the test suite
--updateRestartData update restart data of selected test cases: only available for the test suite
--updateMeshData update mesh data of selected test cases and activates --updateRestartData: only
available for the test suite
--prepareTraceSuiteXMLforUpload modify the 'referenceTraceSuite' version string in the <testcase>.xml as
prepararation for the check-in according to changes in the test cases
Tecplot:
--singleTecplotLicense only one tecplot license is available
--ntecplot TECPLOTLICENSE specify arbitrary number of Tecplot licenses
Code Analysis:
--valgrind run all executables under observation of valgrind (for a specific executable use
option 'valgrindExec')
--valgrindExec VALGRIND_EXEC [VALGRIND_EXEC ...]
specify which executables are observed by their exact name
--valgrindSuppFile VALGRIND_SUPP_FILE
specify your own valgrind suppression file
--includeSanitizerLogs Include the logs from GCC sanitizers in the report
SVN:
--sshUser SSHUSER Specify a different SSH username for accessing the Testcase SVN
Metrics:
--saveTestCaseRuntimes Dump TestCase runtimes to stdout and to testCaseTimings.json