ReFrame¶
Description¶
Unit testing framework for HPC clusters.
Environment Modules¶
Run module spider reframe
to find out what environment modules are available for this application.
Environment Variables¶
- HPC_REFRAME_DIR - installation directory
- HPC_REFRAME_BIN - executable directory
Additional Usage Information¶
For particularly complex topics, please view the documentation for ReFrame.
Command-line usage¶
To run a basic test with ReFrame, load the module and use the following command:
reframe -C <path/to/config> -c <path/to/test.py> -r
Common and useful options¶
Option | Function |
---|---|
-C |
Indicates the configuration file (.py or .yaml) to be used by this run of ReFrame. |
-c |
Indicates a specific file containing reframe tests. |
-L |
Lists all tests that ReFrame will run with the given option and the path to their origin file. |
-l |
Lists all tests that ReFrame will run with their dependencies. |
-r |
Tells ReFrame to run a test or set of tests. |
--exec-policy |
Determines the execution policy. async , the default, will run tests asynchronously. serial will run tests in sequence. |
--skip-sanity-check |
Skips the sanity checking phase of a run. |
Reading the results¶
With the current intended configuration, ReFrame generates the following files upon a run:
- A report of the run (stored in the
rfm_reports
subdirectory of the scratch directory) as a timestamped JSON file. - A SQLite database
rfm_results.db
is created if it does not exist and updates. - For each individual test:
- If the test succeeds, the
stdout
,stderr
, and job script will be stored in the output subdirectory of the scratch directory. - If the test fails, the staging directory for the test will be retained.
ReFrame will inform the user of the staging and output directories when running from the command, in addition to the location of the results database.
Categories¶
performance_analysis, utility