summaryrefslogtreecommitdiff
path: root/tests/frontend/source_checkout.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/frontend/source_checkout.py')
-rw-r--r--tests/frontend/source_checkout.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/frontend/source_checkout.py b/tests/frontend/source_checkout.py
index 08230ce5d..343448abc 100644
--- a/tests/frontend/source_checkout.py
+++ b/tests/frontend/source_checkout.py
@@ -1,5 +1,6 @@
import os
import pytest
+import tarfile
from tests.testutils import cli
@@ -56,6 +57,23 @@ def test_source_checkout(datafiles, cli, tmpdir_factory, with_workspace, guess_e
@pytest.mark.datafiles(DATA_DIR)
+def test_source_checkout_tar(datafiles, cli):
+ project = os.path.join(datafiles.dirname, datafiles.basename)
+ checkout = os.path.join(cli.directory, 'source-checkout.tar')
+ target = 'checkout-deps.bst'
+
+ result = cli.run(project=project, args=['source-checkout', '--tar', target, '--deps', 'none', checkout])
+ result.assert_success()
+
+ assert os.path.exists(checkout)
+ with tarfile.open(checkout) as tf:
+ expected_content = os.path.join(checkout, 'checkout-deps', 'etc', 'buildstream', 'config')
+ tar_members = [f.name for f in tf]
+ for member in tar_members:
+ assert member in expected_content
+
+
+@pytest.mark.datafiles(DATA_DIR)
@pytest.mark.parametrize('deps', [('build'), ('none'), ('run'), ('all')])
def test_source_checkout_deps(datafiles, cli, deps):
project = os.path.join(datafiles.dirname, datafiles.basename)