Skip to content

ReFrame

Description

reframe website

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