aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2013-01-17 10:41:18 +0200
committerGuido Günther <agx@sigxcpu.org>2018-01-29 10:40:20 +0100
commit393edba385ba101ff6c8cba222a9da5fb7fe5c65 (patch)
treefa7289f0092a5af7fd64004acd32cafe55edd310 /tests
parenta0f6f11c87cb164b245a89332eece5d0af92f7ed (diff)
buildpackage-rpm: support setting the 'VCS:' tag in spec
Now gbp buildpackage-rpm is able to update the 'VCS:' tag in the exported spec file. A new config option 'spec-vcs-tag' controls the format: - if empty, no 'VCS' tag is inserted and possible old 'VCS' tag is removed - otherwise, a 'VCS' tag is inserted or the old 'VCS' tag is updated The spec-vcs-tag is a format string which supports the following keywords: - '%(commit)' expands to the full commit sha1 - '%(commitish)' expands to the sha1 of the exported object (commit or tag) - '%(tagname)s' expands to the long tag name (from git-describe) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/component/rpm/test_buildpackage_rpm.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/component/rpm/test_buildpackage_rpm.py b/tests/component/rpm/test_buildpackage_rpm.py
index 0f50ad14..78e9ff37 100644
--- a/tests/component/rpm/test_buildpackage_rpm.py
+++ b/tests/component/rpm/test_buildpackage_rpm.py
@@ -605,3 +605,21 @@ class TestGbpRpm(RpmRepoTestBase):
# Packaging dir should be taken from spec file if it is defined
eq_(mock_gbp(['--git-packaging-dir=foo',
'--git-spec-file=packaging/gbp-test-native.spec']), 0)
+
+ def test_option_spec_vcs_tag(self):
+ """Test the --git-spec-vcs-tag cmdline option"""
+ repo = self.init_test_repo('gbp-test-native')
+
+ eq_(mock_gbp(['--git-spec-vcs-tag=foobar-%(commit)s']), 0)
+ sha1 = repo.rev_parse('HEAD')
+ num_tags = 0
+ with open('../rpmbuild/SPECS/gbp-test-native.spec') as fobj:
+ for line in fobj.readlines():
+ if line.startswith('VCS: '):
+ ok_(re.match(r'VCS:\s+foobar-%s\n$' % sha1, line))
+ num_tags += 1
+ eq_(num_tags, 1)
+
+ # Test invalid key
+ eq_(mock_gbp(['--git-spec-vcs-tag=%(invalid-key)s']), 1)
+ self._check_log(-1, r".*Failed to format %\(invalid-key\)s")