diff options
author | Guido Günther <agx@sigxcpu.org> | 2017-09-30 11:09:42 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2017-09-30 11:15:35 +0200 |
commit | 4761cf937803cb41a064cf9de288496d734d9eea (patch) | |
tree | b2081a4bcde999905f18acfa1acbd4f5e96dee26 /tests | |
parent | 83c4a931615efc69e24005e5a71f56e099773100 (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.py | 34 |
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) |