~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_export.py

  • Committer: Martin Pool
  • Date: 2011-06-28 17:25:26 UTC
  • mfrom: (5999 +trunk)
  • mto: This revision was merged to the branch mainline in revision 6001.
  • Revision ID: mbp@canonical.com-20110628172526-10cok2s17dvw7x62
merge news

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
    tests,
29
29
    )
30
30
from bzrlib.export import get_root_name
31
 
from bzrlib.export.tar_exporter import export_tarball
 
31
from bzrlib.export.tar_exporter import export_tarball_generator
32
32
from bzrlib.tests import features
33
33
 
34
34
 
84
84
        wt.add(['a', 'b', 'b/c'])
85
85
        wt.commit('1')
86
86
        self.build_tree(['target/', 'target/foo'])
87
 
        self.assertRaises(errors.BzrError, export.export, wt, 'target', format="dir")
 
87
        self.assertRaises(errors.BzrError,
 
88
            export.export, wt, 'target', format="dir")
88
89
 
89
90
    def test_existing_single_file(self):
90
 
        self.build_tree(['dir1/', 'dir1/dir2/', 'dir1/first', 'dir1/dir2/second'])
 
91
        self.build_tree([
 
92
            'dir1/', 'dir1/dir2/', 'dir1/first', 'dir1/dir2/second'])
91
93
        wtree = self.make_branch_and_tree('dir1')
92
94
        wtree.add(['dir2', 'first', 'dir2/second'])
93
95
        wtree.commit('1')
110
112
        self.addCleanup(b.unlock)
111
113
        tree = b.basis_tree()
112
114
        orig_iter_files_bytes = tree.iter_files_bytes
 
115
 
113
116
        # Make iter_files_bytes slower, so we provoke mtime skew
114
117
        def iter_files_bytes(to_fetch):
115
118
            for thing in orig_iter_files_bytes(to_fetch):
239
242
        self.assertRaises(errors.BzrError, export.export, wt, '-',
240
243
            format="txz")
241
244
 
242
 
    def test_export_tarball(self):
 
245
    def test_export_tarball_generator(self):
243
246
        wt = self.make_branch_and_tree('.')
244
247
        self.build_tree(['a'])
245
248
        wt.add(["a"])
248
251
        ball = tarfile.open(None, "w|", target)
249
252
        wt.lock_read()
250
253
        try:
251
 
            export_tarball(wt, ball, "bar")
 
254
            for _ in export_tarball_generator(wt, ball, "bar"):
 
255
                pass
252
256
        finally:
253
257
            wt.unlock()
254
 
        self.assertEquals(["bar/a"], ball.getnames())
255
 
        ball.close()
 
258
        # Ball should now be closed.
 
259
        target.seek(0)
 
260
        ball2 = tarfile.open(None, "r", target)
 
261
        self.addCleanup(ball2.close)
 
262
        self.assertEquals(["bar/a"], ball2.getnames())
256
263
 
257
264
 
258
265
class ZipExporterTests(tests.TestCaseWithTransport):