summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Ennis <james.ennis@codethink.co.uk>2019-09-11 16:07:24 +0100
committerbst-marge-bot <marge-bot@buildstream.build>2019-09-12 15:33:04 +0000
commitcfa0eb7157f167f1f14c866cca8820d6605ffcd0 (patch)
treee6dcfd1e72ec9e7027b4eb3e62ec217c2e9ba280
parent7ec6190a415edbcf3846fb9f9e4ad84ebddc24ba (diff)
downloadbuildstream-jennis/add_deps_all_to_checkout.tar.gz
cli.py: Allow checkout to handle --deps alljennis/add_deps_all_to_checkout
source checkout supports --deps all, so we should be consistent. Additionally, a user may want to have build deps in a potential chroot so you could rebuild any component.
-rw-r--r--src/buildstream/_frontend/cli.py4
-rw-r--r--tests/frontend/buildcheckout.py6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/buildstream/_frontend/cli.py b/src/buildstream/_frontend/cli.py
index 3344c5c79..66133a218 100644
--- a/src/buildstream/_frontend/cli.py
+++ b/src/buildstream/_frontend/cli.py
@@ -1041,7 +1041,7 @@ def artifact_show(app, deps, artifacts):
@click.option('--force', '-f', is_flag=True,
help="Allow files to be overwritten")
@click.option('--deps', '-d', default='run', show_default=True,
- type=click.Choice(['run', 'build', 'none']),
+ type=click.Choice(['run', 'build', 'none', 'all']),
help='The dependencies to checkout')
@click.option('--integrate/--no-integrate', default=None, is_flag=True,
help="Whether to run integration commands")
@@ -1110,7 +1110,7 @@ def artifact_checkout(app, force, deps, integrate, hardlinks, tar, compression,
if not target:
raise AppError('Missing argument "ELEMENT".')
- scope = {'run': Scope.RUN, 'build': Scope.BUILD, 'none': Scope.NONE}
+ scope = {'run': Scope.RUN, 'build': Scope.BUILD, 'none': Scope.NONE, 'all': Scope.ALL}
app.stream.checkout(target,
location=location,
force=force,
diff --git a/tests/frontend/buildcheckout.py b/tests/frontend/buildcheckout.py
index c9a42239a..7044739a1 100644
--- a/tests/frontend/buildcheckout.py
+++ b/tests/frontend/buildcheckout.py
@@ -158,7 +158,7 @@ def test_build_invalid_filename_chars_dep(datafiles, cli):
@pytest.mark.datafiles(DATA_DIR)
-@pytest.mark.parametrize("deps", [("run"), ("none"), ("build")])
+@pytest.mark.parametrize("deps", [("run"), ("none"), ("build"), ("all")])
def test_build_checkout_deps(datafiles, cli, deps):
project = str(datafiles)
checkout = os.path.join(cli.directory, 'checkout')
@@ -187,14 +187,14 @@ def test_build_checkout_deps(datafiles, cli, deps):
# Verify output of this element's build dependencies
filename = os.path.join(checkout, 'usr', 'include', 'pony.h')
- if deps == "build":
+ if deps in ["build", "all"]:
assert os.path.exists(filename)
else:
assert not os.path.exists(filename)
# Verify output of this element's runtime dependencies
filename = os.path.join(checkout, 'usr', 'bin', 'hello')
- if deps == "run":
+ if deps in ["run", "all"]:
assert os.path.exists(filename)
else:
assert not os.path.exists(filename)