aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2017-09-30 11:09:42 +0200
committerGuido Günther <agx@sigxcpu.org>2017-09-30 11:15:35 +0200
commit4761cf937803cb41a064cf9de288496d734d9eea (patch)
treeb2081a4bcde999905f18acfa1acbd4f5e96dee26 /tests
parent83c4a931615efc69e24005e5a71f56e099773100 (diff)
import-orig: Use gz compression when repackaging non tarball filtered upstream source
If the source isn't a tarball we have to use a sane default compression. This should probably be configurable. This makes it consistent with export_orig:guess_comp_type when no compressor could be detected.
Diffstat (limited to 'tests')
-rw-r--r--tests/component/deb/test_import_orig.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/component/deb/test_import_orig.py b/tests/component/deb/test_import_orig.py
index b7c2ee2d..9d42554e 100644
--- a/tests/component/deb/test_import_orig.py
+++ b/tests/component/deb/test_import_orig.py
@@ -31,6 +31,7 @@ from gbp.deb.pristinetar import DebianPristineTar
from gbp.deb.dscfile import DscFile
from gbp.git.repository import GitRepository, GitRepositoryError
from gbp.paths import to_bin
+from gbp.command_wrappers import UnpackTarArchive
from nose.tools import ok_, eq_, assert_raises
@@ -305,6 +306,39 @@ class TestImportOrig(ComponentTestBase):
t.close()
@RepoFixtures.quilt30(DEFAULT_DSC, opts=['--pristine-tar'])
+ def test_filter_unpacked_dir(self, repo):
+ """
+ Test that importing and filtering unpacked upstream source works.
+ """
+ f = 'hello-debhelper_2.8.orig.tar.gz'
+ src = os.path.join(DEB_TEST_DATA_DIR, 'dsc-3.0', f)
+
+ # Create an unpacked tarball we can import
+ UnpackTarArchive(src, '..')()
+ ok_(os.path.exists('../hello-2.8'))
+
+ ok_(import_orig(['arg0',
+ '--no-interactive',
+ '--pristine-tar',
+ '--filter-pristine-tar',
+ '--filter=README*',
+ '../hello-2.8']) == 0)
+ self._check_repo_state(repo, 'master', ['master', 'upstream', 'pristine-tar'],
+ tags=['debian/2.6-2', 'upstream/2.6', 'upstream/2.8'])
+
+ filtered = os.path.join('..', f)
+ ok_(os.path.exists(filtered))
+ # Check if tar got filtered properly
+ t = tarfile.open(name=filtered, mode="r:gz")
+ for f in ['hello-2.8/configure']:
+ i = t.getmember(f)
+ eq_(type(i), tarfile.TarInfo)
+ for f in ['hello-2.8/README']:
+ with assert_raises(KeyError):
+ t.getmember(f)
+ t.close()
+
+ @RepoFixtures.quilt30(DEFAULT_DSC, opts=['--pristine-tar'])
def test_import_in_submodule(self, repo):
"""
Test that importing works if repo is a git submodule (#674015)