aboutsummaryrefslogtreecommitdiff
path: root/tests/22_test_gbp_buildpackage.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/22_test_gbp_buildpackage.py')
-rw-r--r--tests/22_test_gbp_buildpackage.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/22_test_gbp_buildpackage.py b/tests/22_test_gbp_buildpackage.py
new file mode 100644
index 00000000..bbc0e326
--- /dev/null
+++ b/tests/22_test_gbp_buildpackage.py
@@ -0,0 +1,76 @@
+# vim: set fileencoding=utf-8 :
+"""Test L{gbp.command_wrappers.Command}'s tarball unpack"""
+
+from gbp.scripts.buildpackage import get_pbuilder_dist, GbpError
+from . testutils import DebianGitTestRepo
+
+from mock import patch
+
+
+class TestGbpBuildpackage(DebianGitTestRepo):
+ class Options(object):
+ pass
+
+ def setUp(self):
+ DebianGitTestRepo.setUp(self)
+ self.add_file('doesnotmatter')
+ self.options = self.Options()
+ self.options.pbuilder_dist = 'DEP14'
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_no_dep14(self, patch):
+ self.options.pbuilder_dist = 'notdep14'
+ self.assertEqual(get_pbuilder_dist(self.options, self.repo),
+ self.options.pbuilder_dist)
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_dep14_debian_sid(self, patch):
+ branch = 'debian/sid'
+ self.repo.create_branch(branch)
+ self.repo.set_branch(branch)
+ self.assertEqual(get_pbuilder_dist(self.options, self.repo), '')
+ patch.assert_called_once_with()
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_dep14_debian_suite(self, patch):
+ branch = 'debian/squeeze-lts'
+ self.repo.create_branch(branch)
+ self.repo.set_branch(branch)
+ self.assertEqual(get_pbuilder_dist(self.options, self.repo), 'squeeze-lts')
+ patch.assert_called_once_with()
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_dep14_debian_native(self, patch):
+ self.assertEqual(get_pbuilder_dist(self.options, self.repo, True), '')
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_dep14_vendor_sid(self, patch):
+ branch = 'downstream/sid'
+ self.repo.create_branch(branch)
+ self.repo.set_branch(branch)
+ self.assertEqual(get_pbuilder_dist(self.options, self.repo), 'downstream_sid')
+ patch.assert_called_once_with()
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_dep14_vendor_suite(self, patch):
+ branch = 'downstream/mies-lts'
+ self.repo.create_branch(branch)
+ self.repo.set_branch(branch)
+ self.assertEqual(get_pbuilder_dist(self.options, self.repo), 'downstream_mies-lts')
+
+ @patch('gbp.deb.get_vendor', return_value='Debian')
+ def test_get_pbuilder_dist_dep14_no_vendor(self, patch):
+ branch = 'sid'
+ self.repo.create_branch(branch)
+ self.repo.set_branch(branch)
+ with self.assertRaisesRegexp(GbpError,
+ 'DEP14 DIST setup needs branch name to be vendor/suite'):
+ get_pbuilder_dist(self.options, self.repo)
+
+ def test_get_pbuilder_dist_dep14_too_many_slashes(self):
+ branch = 'too/many/slashed'
+ self.repo.create_branch(branch)
+ self.repo.set_branch(branch)
+ with self.assertRaisesRegexp(GbpError,
+ 'DEP14 DIST setup needs branch name to be vendor/suite'):
+ get_pbuilder_dist(self.options, self.repo)