eessi_mixin
EESSI_Mixin
¶
Bases: RegressionMixin
All EESSI tests should derive from this mixin class unless they have a very good reason not to. To run correctly, tests inheriting from this class need to define variables and parameters that are used here. That definition needs to be done 'on time', i.e. early enough in the execution of the ReFrame pipeline. Here, we list which class attributes must be defined by the child class, and by (the end of) what phase:
- Init phase: device_type, scale, module_name, bench_name (if bench_name_ci is set)
- Setup phase: compute_unit, required_mem_per_node
The child class may also overwrite the following attributes:
- Init phase: time_limit, measure_memory_usage, bench_name_ci
EESSI_mixin_assign_tasks_per_compute_unit()
¶
Call hooks to assign tasks per compute unit, set OMP_NUM_THREADS, and set compact process binding
EESSI_mixin_extract_runtime_info_from_log()
¶
Extracts the printed runtime info from the job log and logs it as reframe variables
EESSI_mixin_log_runtime_info()
¶
Log additional runtime information: which CVMFS repo was used (or if it was testing local software), path to the modulefile, EESSI software subdir, EESSI testsuite version
EESSI_mixin_request_mem()
¶
Call hook to request the required amount of memory per node
EESSI_mixin_run_after_init()
¶
Hooks to run after init phase
EESSI_mixin_set_tag_ci()
¶
Set CI tag if bench_name_ci and bench_name are set and are equal Also set tag on bench_name if set
EESSI_mixin_set_user_executable_opts()
¶
Override executable_opts with user_executable_opts if set on the cmd line
EESSI_mixin_validate_init()
¶
Check that all variables that have to be set for subsequent hooks in the init phase have been set
EESSI_mixin_validate_item_in_list(item, valid_items)
¶
Check if the item 'item' exist in the values of 'valid_items'. If item is not found, an error will be raised that will mention the valid values for 'item'.
EESSI_mixin_validate_setup()
¶
Check that all variables that have to be set for subsequent hooks in the setup phase have been set
__init_subclass__(**kwargs)
¶
set default values for built-in ReFrame attributes