runcli - Test fixtures used for running BuildStream commands

:function:’cli’ Use result = cli.run([arg1, arg2]) to run buildstream commands

:function:’cli_integration’ A variant of the main fixture that keeps persistent

artifact and source caches. It also does not use the click test runner to avoid deadlock issues when running bst shell, but unfortunately cannot produce nice stacktraces.

class Result(exit_code=None, exception=None, exc_info=None, output=None, stderr=None)

Bases: object

assert_success(fail_message='')
assert_main_error(error_domain, error_reason, fail_message='', *, debug=False)
assert_task_error(error_domain, error_reason, fail_message='')
assert_shell_error(fail_message='')
get_start_order(activity)
get_tracked_elements()
get_pushed_elements()
get_pulled_elements()
class Cli(directory, verbose=True, default_options=None)

Bases: object

configure(config)
remove_artifact_from_cache(project, element_name, *, cache_dir=None)
run(project=None, silent=False, env=None, cwd=None, options=None, args=None, binary_capture=False)
get_element_state(project, element_name)
get_element_states(project, targets, deps='all')
get_element_key(project, element_name)
get_element_config(project, element_name)
get_pipeline(project, elements, except_=None, scope='plan')
get_artifact_name(project, project_name, element_name, cache_key=None)
class CliIntegration(directory, verbose=True, default_options=None)

Bases: buildstream.testing.runcli.Cli

run(project=None, silent=False, env=None, cwd=None, options=None, args=None, binary_capture=False)
run_project_config(*, project_config=None, **kwargs)
class CliRemote(directory, verbose=True, default_options=None)

Bases: buildstream.testing.runcli.CliIntegration

ensure_services(actions=True, execution=True, storage=True, artifacts=False, sources=False)
class TestArtifact

Bases: object

remove_artifact_from_cache(cache_dir, element_name)
is_cached(cache_dir, element, element_key)
get_digest(cache_dir, element, element_key)
extract_buildtree(cache_dir, tmpdir, ref)
cli(tmpdir)
cli_integration(tmpdir, integration_cache)
cli_remote_execution(tmpdir, remote_services)
chdir(directory)
environment(env)
configured(directory, config=None)