~ubuntu-branches/ubuntu/natty/bzr-builddeb/natty-proposed

« back to all changes in this revision

Viewing changes to tests/test_dh_make.py

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij, James Westby, Jelmer Vernooij
  • Date: 2010-02-13 00:44:03 UTC
  • mfrom: (5.1.2 sid)
  • mto: This revision was merged to the branch mainline in revision 13.
  • Revision ID: james.westby@ubuntu.com-20100213004403-l5wgcc3y1bs6came
[ James Westby ]
* Some support for v3 source formats (Closes: #562991)
  - Those that look quite a lot like v1 are supported well.
  - .tar.bz2 tarballs are supported for import, building, merge-upstream,
    etc., but only enabled for the latter with a --v3 switch for now.
  - Multiple orig.tar.gz is not supported.
  - .tar.lzma is not supported awaiting pristine-tar support.
* New "dh-make" command ("dh_make" alias) that allows you to start
  packaging, either in an empty branch, or based on an upstream branch.
* Fix merge-package for native packages (LP: #476348)
* debian/changelog merge hook to reduce the manual conflict resolution
  required there. Thanks to John Arbash Meinel and Andrew Bennetts
  (LP: #501754).
  - Requires newer bzr.
* Fix merge-package outside a shared repo (LP: #493462)
* Fix exporting of symlinks (LP: #364671)
* Add --force option to merge-upstream which may help certain people.
* Use system configobj if the bzr copy isn't available. Thanks Jelmer.
* Make merging multiple-root branches work. Thanks Robert Collins.
* Disentangle from bzrtools. Thanks Max Bowser.

[ Jelmer Vernooij ]
* Bump standards version to 3.8.4.
* Fix formatting in doc-base.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
import tarfile
 
2
 
 
3
from bzrlib.plugins.builddeb import dh_make
 
4
from bzrlib.plugins.builddeb.tests import BuilddebTestCase
 
5
 
 
6
 
 
7
class dh_makeTests(BuilddebTestCase):
 
8
 
 
9
    def test__get_tree_existing_branch(self):
 
10
        tree = self.make_branch_and_tree('.')
 
11
        new_tree = dh_make._get_tree("foo")
 
12
        self.failIfExists("foo")
 
13
        self.assertEqual(tree.branch.base, new_tree.branch.base)
 
14
 
 
15
    def test__get_tree_no_existing_branch(self):
 
16
        new_tree = dh_make._get_tree("foo")
 
17
        self.failUnlessExists("foo")
 
18
 
 
19
    def test_import_upstream(self):
 
20
        tree = self.make_branch_and_tree('.')
 
21
        self.build_tree(['a'])
 
22
        tree.add(['a'])
 
23
        revid = tree.commit("one")
 
24
        self.build_tree(['package-0.1/', 'package-0.1/a', 'package-0.1/b'])
 
25
        tf = tarfile.open('package-0.1.tar.gz', 'w:gz')
 
26
        try:
 
27
            tf.add('package-0.1')
 
28
        finally:
 
29
            tf.close()
 
30
        new_tree = dh_make.import_upstream('package-0.1', 'package', '0.1')
 
31
        self.assertEqual(tree.branch.base, new_tree.branch.base)
 
32
        self.assertNotEqual(revid, tree.branch.last_revision())
 
33
        rev_tree = tree.branch.repository.revision_tree(
 
34
                tree.branch.last_revision())
 
35
        # Has the original revision as a parent
 
36
        self.assertEqual([revid], rev_tree.get_parent_ids())
 
37
        self.failUnlessExists('a')
 
38
        self.failUnlessExists('b')
 
39
        self.assertEqual(open('package-0.1/a').read(), open('a').read())
 
40
        self.failUnlessExists('../package_0.1.orig.tar.gz')
 
41
 
 
42
    def test_import_upstream_no_existing(self):
 
43
        self.build_tree(['package-0.1/', 'package-0.1/a', 'package-0.1/b'])
 
44
        tf = tarfile.open('package-0.1.tar.gz', 'w:gz')
 
45
        try:
 
46
            tf.add('package-0.1')
 
47
        finally:
 
48
            tf.close()
 
49
        tree = dh_make.import_upstream('package-0.1', 'package', '0.1')
 
50
        self.failUnlessExists("package")
 
51
        rev_tree = tree.branch.repository.revision_tree(
 
52
                tree.branch.last_revision())
 
53
        # Has the original revision as a parent
 
54
        self.failUnlessExists('package/a')
 
55
        self.failUnlessExists('package/b')
 
56
        self.assertEqual(open('package-0.1/a').read(),
 
57
               open('package/a').read())
 
58
        self.failUnlessExists('package_0.1.orig.tar.gz')