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()MLStringBisectRetparse_step_options()parse_iterations()parse_timeout()ParamTimeoutParamIterationParamBoolOrStrParamCommaListParamCommaListRangesParamEnvListParamIntParamBoolParamChoiceOrBoolParaminfo()debug()warn()error()SerializableMetaSerializableStepResultBaseStepResultterminate_process()read_stdout()write_stdout()call_process()git_cleanup()enforce_git_cleanup()get_git_sha1()get_steps_kwarg_parsers()get_step_kwargs()StepMetaIterationCounterStackStepABCStepBaseYieldStepShellStepTestShellStepBuildStepFlashStepRebootStepExekallStepResultDeprecatedLISATestStepResultLISATestStepExekallLISATestStepStepNotifServiceurlretrieve()ArtifactsServiceArtifactorialServiceArtifactoryServiceupdate_json()load_steps_list()load_yaml()get_class()import_file()import_files()get_subclasses()get_step_by_name()instantiate_step()StepSeqResultServiceHubMacroStepResultmatch_step_name()StepFilterMacroStepStatTestMetaStatTestABCBasicStatTestBinomStatTestdo_steps_help()do_run()ReportPreamblecheck_report_path()disable_gc()Reportensure_dir()format_placeholders()DBUS_SERVER_BUS_NAMEDBUS_SLAVE_BOOK_PATHDBUS_SLAVE_BUS_NAME_TEMPLATEDBUS_SLAVE_MANAGER_PATHget_dbus_bus()dbus_variant()dbus_variant_dict()dbus_propertyPipeSetterDBusSlaveManagerDBusSlaveThreadparse_slave_props()send_cmd()do_monitor()do_monitor_server()DBusSlaveBookYAMLCLIOptionsActionmain()