aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2018-09-06 18:34:13 +0200
committerGuido Günther <agx@sigxcpu.org>2018-11-23 16:53:55 +0100
commite5aedb16548a6a83223862b96ba2112e0c02c126 (patch)
tree15d10c4317493d39d2c7a63fca1dfce155762ce0 /tests
parent44acc6d523e08e8e8a97f8cddd37419ab16db4eb (diff)
buildpackage, export-orig: support version substitution for --git-tarball-dir
Add support for passing %(version), %(hversion) and %(version%A%B) in buildpackage --git-tarball-dir and export-orig --tarball-dir. Closes: #909266 Signed-off-by: Luca Boccassi <bluca@debian.org>
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)