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:
objectBase 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.ABCMetaDecorate steps with logging and result conversion.
-
class
benchbuild.utils.actions.StepResult[source]¶ Bases:
enum.IntEnumResult 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.