benchbuild.utils.actions module¶
# Actions
Actions are enhanced callables that are used by Experiments to define the order of operations a project is put through when the experiment executes.
## Example
TODO
`python
`
-
class
benchbuild.utils.actions.
Any
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>, actions=NOTHING)[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Just run all actions, no questions asked.'¶
-
NAME
= 'ANY'¶
-
-
class
benchbuild.utils.actions.
Clean
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>, check_empty=False)[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Cleans the build directory'¶
-
NAME
= 'CLEAN'¶
-
-
class
benchbuild.utils.actions.
CleanExtra
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>)[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Cleans the extra directories.'¶
-
NAME
= 'CLEAN EXTRA'¶
-
-
class
benchbuild.utils.actions.
Compile
(project)[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Compile the project'¶
-
NAME
= 'COMPILE'¶
-
-
class
benchbuild.utils.actions.
Containerize
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>, actions=NOTHING)[source]¶ Bases:
benchbuild.utils.actions.RequireAll
-
DESCRITPION
= 'Redirect into container'¶
-
NAME
= 'CONTAINERIZE'¶
-
-
class
benchbuild.utils.actions.
Echo
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>, message='')[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Print a message.'¶
-
NAME
= 'ECHO'¶
-
-
class
benchbuild.utils.actions.
Experiment
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>, actions=NOTHING)[source]¶ Bases:
benchbuild.utils.actions.Any
-
DESCRIPTION
= 'Run a experiment, wrapped in a db transaction'¶
-
NAME
= 'EXPERIMENT'¶
-
-
class
benchbuild.utils.actions.
MakeBuildDir
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>)[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Create the build directory'¶
-
NAME
= 'MKDIR'¶
-
-
class
benchbuild.utils.actions.
RequireAll
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>, actions=NOTHING)[source]¶
-
class
benchbuild.utils.actions.
Run
(project)[source]¶ Bases:
benchbuild.utils.actions.Step
-
DESCRIPTION
= 'Execute the run action'¶
-
NAME
= 'RUN'¶
-
-
class
benchbuild.utils.actions.
Step
(obj=None, action_fn=None, status=<StepResult.UNSET: 0>)[source]¶ Bases:
object
Base class of a step.
- This stores all common attributes for step classes.
- metaclass ([type], optional): Defaults to StepClass. Takes
- care of wrapping Steps correctly.
Raises: StopIteration
– If we do not encapsulate more substeps.-
DESCRIPTION
= None¶
-
NAME
= None¶
-
ON_STEP_BEGIN
= []¶
-
ON_STEP_END
= []¶
-
class
benchbuild.utils.actions.
StepClass
[source]¶ Bases:
abc.ABCMeta
Decorate steps with logging and result conversion.
-
class
benchbuild.utils.actions.
StepResult
[source]¶ Bases:
enum.IntEnum
Result type for action results.
-
CAN_CONTINUE
= 2¶
-
ERROR
= 3¶
-
OK
= 1¶
-
UNSET
= 0¶
-
-
benchbuild.utils.actions.
log_before_after
(name: str, desc: str)[source]¶ Log customized stirng before & after running func.
-
benchbuild.utils.actions.
notify_step_begin_end
(func)[source]¶ Print the beginning and the end of a func.
-
benchbuild.utils.actions.
to_step_result
(func)[source]¶ Convert a function return to a list of StepResults.
All Step subclasses automatically wrap the result of their __call__ method’s result with this wrapper. If the result is not a list of StepResult values, one will be generated.
result of [StepResult.OK], or convert the given result into a list.
Parameters: func – The function to wrap.