aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/component/deb/test_buildpackage.py21
-rw-r--r--tests/component/deb/test_export_orig.py25
2 files changed, 46 insertions, 0 deletions
diff --git a/tests/component/deb/test_buildpackage.py b/tests/component/deb/test_buildpackage.py
index c8a31e77..fe0802a0 100644
--- a/tests/component/deb/test_buildpackage.py
+++ b/tests/component/deb/test_buildpackage.py
@@ -312,3 +312,24 @@ class TestBuildpackage(ComponentTestBase):
'--git-preexport=printenv > %s' % preexport_out])
ok_(os.path.exists(preexport_out))
self.check_hook_vars('../preexport', ["GBP_BUILD_DIR", "GBP_GIT_DIR"])
+
+ @RepoFixtures.overlay()
+ def test_export_dir_version_replacement(self, repo):
+ """Test that building in overlay mode with export dir with versioned name works"""
+ tarball_dir = os.path.join(DEB_TEST_DATA_DIR, 'foo-%(version)s')
+ self._test_buildpackage(repo, ['--git-overlay',
+ '--git-compression=auto',
+ '--git-tarball-dir=%s' % tarball_dir,
+ '--git-no-purge',
+ '--git-component=foo',
+ '--git-export-dir=../foo'])
+ # Check if main tarball got unpacked
+ ok_(os.path.exists('../foo/hello-debhelper-2.8/configure'))
+ # Check if debian dir is there
+ ok_(os.path.exists('../foo/hello-debhelper-2.8/debian/changelog'))
+ # Check if additional tarball got unpacked
+ ok_(os.path.exists('../foo/hello-debhelper-2.8/foo/test1'))
+ # Check if upstream tarballs is in export_dir
+ eq_(sorted(glob.glob('../foo/*')), ['../foo/hello-debhelper-2.8',
+ '../foo/hello-debhelper_2.8.orig-foo.tar.gz',
+ '../foo/hello-debhelper_2.8.orig.tar.gz'])
diff --git a/tests/component/deb/test_export_orig.py b/tests/component/deb/test_export_orig.py
index e42a1fc2..b2a8e8bb 100644
--- a/tests/component/deb/test_export_orig.py
+++ b/tests/component/deb/test_export_orig.py
@@ -111,3 +111,28 @@ class TestExportOrig(ComponentTestBase):
'--pristine-tar'])
ok_(ret == 1, "Exporting tarballs must fail")
self._check_log(-1, ".*git show refs/heads/pristine-tar:.*failed")
+
+ def test_tarball_dir_version_replacement(self):
+ """Test that generating tarball from directory version substitution works"""
+ pkg = 'hello-debhelper'
+ dsc = self._dsc_name(pkg, '2.8-1', 'dsc-3.0-additional-tarballs')
+ tarballs = ["%s_2.8.orig-foo.tar.gz" % pkg,
+ "%s_2.8.orig.tar.gz" % pkg]
+
+ assert import_dsc(['arg0', '--no-pristine-tar', dsc]) == 0
+ ComponentTestGitRepository(pkg)
+ os.chdir(pkg)
+ for t in tarballs:
+ self.assertFalse(os.path.exists(os.path.join('..', t)), "Tarball %s must not exist" % t)
+
+ tarball_dir = os.path.join(DEB_TEST_DATA_DIR, 'foo-%(version)s')
+ ret = export_orig(['arg0',
+ '--tarball-dir=%s' % tarball_dir,
+ '--component=foo',
+ '--no-pristine-tar'])
+ ok_(ret == 0, "Exporting tarballs failed")
+ # tarballs should be found in existing --tarball-dir directory and thus
+ # not get recreated by export-orig
+ for t in tarballs:
+ self.assertFalse(os.path.exists(os.path.join('..', t)), "Tarball %s found" % t)
+ self.assertTrue(os.path.exists(os.path.join(DEB_TEST_DATA_DIR, 'foo-2.8', t)), "Tarball %s not found" % t)