From 7ce98d64b3e505c09ad785a561f59815ca26d20d Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Sun, 19 Aug 2018 19:48:10 +0200 Subject: New command to merge in changes from a upstream using git This reverts commit 3384a0f7a763144e5d627c454d7d76c2841e553b. --- tests/01_test_help.py | 1 + tests/component/deb/test_import_ref.py | 87 ++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 tests/component/deb/test_import_ref.py (limited to 'tests') diff --git a/tests/01_test_help.py b/tests/01_test_help.py index 525c03bf..25c36fb0 100644 --- a/tests/01_test_help.py +++ b/tests/01_test_help.py @@ -15,6 +15,7 @@ class TestHelp(TestCaseWithData): 'create_remote_repo', 'dch', 'import_orig', + 'import_ref', 'import_dsc', 'pristine_tar', 'pull', diff --git a/tests/component/deb/test_import_ref.py b/tests/component/deb/test_import_ref.py new file mode 100644 index 00000000..260a8be1 --- /dev/null +++ b/tests/component/deb/test_import_ref.py @@ -0,0 +1,87 @@ +# vim: set fileencoding=utf-8 : +# +# (C) 2015,2017 Guido Günther +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, please see +# + +import os + +from tests.component import ComponentTestBase +from tests.component.deb import DEB_TEST_DATA_DIR +from tests.component.deb.fixtures import RepoFixtures + +from gbp.scripts.import_ref import main as import_ref + +from nose.tools import ok_, eq_ + + +def _dsc_file(pkg, version, dir='dsc-3.0'): + return os.path.join(DEB_TEST_DATA_DIR, dir, '%s_%s.dsc' % (pkg, version)) + + +DEFAULT_DSC = _dsc_file('hello-debhelper', '2.6-2') + + +class TestImportRef(ComponentTestBase): + """Test importing of new upstream versions""" + pkg = "hello-debhelper" + def_branches = ['master', 'upstream', 'pristine-tar'] + + def _orig(self, version, dir='dsc-3.0'): + return os.path.join(DEB_TEST_DATA_DIR, + dir, + '%s_%s.orig.tar.gz' % (self.pkg, version)) + + @RepoFixtures.quilt30(DEFAULT_DSC, opts=['--pristine-tar']) + def test_from_branch(self, repo): + """ + Test that importing a upstream git from a branch works + """ + eq_(len(repo.get_commits()), 2) + ok_(import_ref(['arg0', + '--upstream-tree=BRANCH', + '--upstream-tag=theupstream/%(version)s', + '-uaversion']) == 0) + self._check_repo_state(repo, 'master', self.def_branches, + tags=['debian/2.6-2', 'theupstream/aversion', 'upstream/2.6']) + eq_(len(repo.get_commits()), 3) + + @RepoFixtures.quilt30(DEFAULT_DSC, opts=['--pristine-tar']) + def test_from_version(self, repo): + """ + Test that importing a upstream git from a given version works + """ + eq_(len(repo.get_commits()), 2) + ok_(import_ref(['arg0', + '--upstream-tree=VERSION', + '--upstream-tag=upstream/%(version)s', + '-u2.6']) == 0) + self._check_repo_state(repo, 'master', self.def_branches, + tags=['debian/2.6-2', 'upstream/2.6']) + eq_(len(repo.get_commits()), 3) + + @RepoFixtures.quilt30(DEFAULT_DSC, opts=['--pristine-tar']) + def test_from_committish(self, repo): + """ + Test that importing a upstream git from another commit works + """ + eq_(len(repo.get_commits()), 2) + ok_(import_ref(['arg0', + '--upstream-tree=upstream', + '--upstream-tag=upstream/%(version)s', + '-u2.6']) == 0) + self._check_repo_state(repo, 'master', self.def_branches, + tags=['debian/2.6-2', 'upstream/2.6']) + eq_(len(repo.get_commits()), 3) -- cgit v1.2.3