Bisector Documentation
Overview
Bisector is a git bisect run
compatible tool used in LISA. Check out the
project’s GitLab for some guides to installation and setup.
bisector
allows setting up the steps of a test iteration, repeating
them an infinite number of times (by default). These steps can involve flashing
the board, rebooting it, and running a test command. If one step goes wrong,
bisector implements the logic to retry, abort it, mark it as good or bad
depending on the type of step used. By now, you may have noticed some
similarities between bisector
behaviour and what is expected of the command
executed by git bisect run
[1]: that is no coincidence, as both bisector
run
and bisector report
can be used as a git bisect run
-compliant
script.
bisector run
records all the output of the steps in a machine-readable
report that can be inspected using bisector report
. The emphasis is put on
reliability against unexpected interruption, flaky commands and other issues
that happen on long running sessions. bisector
will never leave you with an
inconsistent report, or worse, no report at all. A new report is saved after
each iteration and can be inspected as the execution goes on.
Contents
- Man page
- API Documentation
mask_signals()
filter_keys()
natural_sort_key()
raise_sig_exception()
MLString
BisectRet
parse_step_options()
parse_iterations()
parse_timeout()
Param
TimeoutParam
IterationParam
BoolOrStrParam
CommaListParam
CommaListRangesParam
EnvListParam
IntParam
BoolParam
ChoiceOrBoolParam
info()
debug()
warn()
error()
SerializableMeta
Serializable
StepResultBase
StepResult
terminate_process()
read_stdout()
write_stdout()
call_process()
git_cleanup()
enforce_git_cleanup()
get_git_sha1()
get_steps_kwarg_parsers()
get_step_kwargs()
StepMeta
IterationCounterStack
StepABC
StepBase
YieldStep
ShellStep
TestShellStep
BuildStep
FlashStep
RebootStep
ExekallStepResult
Deprecated
LISATestStepResult
LISATestStep
ExekallLISATestStep
StepNotifService
urlretrieve()
ArtifactsService
ArtifactorialService
ArtifactoryService
update_json()
load_steps_list()
load_yaml()
get_class()
import_file()
import_files()
get_subclasses()
get_step_by_name()
instantiate_step()
StepSeqResult
ServiceHub
MacroStepResult
match_step_name()
StepFilter
MacroStep
StatTestMeta
StatTestABC
BasicStatTest
BinomStatTest
do_steps_help()
do_run()
ReportPreamble
check_report_path()
disable_gc()
Report
ensure_dir()
format_placeholders()
DBUS_SERVER_BUS_NAME
DBUS_SLAVE_BOOK_PATH
DBUS_SLAVE_BUS_NAME_TEMPLATE
DBUS_SLAVE_MANAGER_PATH
get_dbus_bus()
dbus_variant()
dbus_variant_dict()
dbus_property
PipeSetter
DBusSlaveManager
DBusSlaveThread
parse_slave_props()
send_cmd()
do_monitor()
do_monitor_server()
DBusSlaveBook
YAMLCLIOptionsAction
main()