/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_export.py

  • Committer: Jelmer Vernooij
  • Date: 2019-05-29 03:22:34 UTC
  • mfrom: (7303 work)
  • mto: This revision was merged to the branch mainline in revision 7306.
  • Revision ID: jelmer@jelmer.uk-20190529032234-mt3fuws8gq03tapi
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Tests for breezy.export."""
18
18
 
 
19
import gzip
19
20
import os
20
21
import tarfile
21
22
import time
98
99
        wt.commit('1')
99
100
        self.build_tree(['target/', 'target/foo'])
100
101
        self.assertRaises(errors.BzrError,
101
 
            export.export, wt, 'target', format="dir")
 
102
                          export.export, wt, 'target', format="dir")
102
103
 
103
104
    def test_existing_single_file(self):
104
105
        self.build_tree([
177
178
        self.addCleanup(b.unlock)
178
179
        tree = b.basis_tree()
179
180
        export.export(tree, 'target', format='dir', subdir='subdir',
180
 
            per_file_timestamps=True)
 
181
                      per_file_timestamps=True)
181
182
        t = self.get_transport('target')
182
183
        self.assertEqual(foo_time, t.stat('foo.txt').st_mtime)
183
184
 
215
216
        tf = tarfile.open('target.tar.gz')
216
217
        self.assertEqual(["target/a"], tf.getnames())
217
218
 
 
219
    def test_tgz_consistent_mtime(self):
 
220
        wt = self.make_branch_and_tree('.')
 
221
        self.build_tree(['a'])
 
222
        wt.add(["a"])
 
223
        timestamp = 1547400500
 
224
        revid = wt.commit("1", timestamp=timestamp)
 
225
        revtree = wt.branch.repository.revision_tree(revid)
 
226
        export.export(revtree, 'target.tar.gz', format="tgz")
 
227
        with gzip.GzipFile('target.tar.gz', 'r') as f:
 
228
            f.read()
 
229
            self.assertEqual(int(f.mtime), timestamp)
 
230
 
218
231
    def test_tgz_ignores_dest_path(self):
219
232
        # The target path should not be a part of the target file.
220
233
        # (bug #102234)
225
238
        os.mkdir("testdir1")
226
239
        os.mkdir("testdir2")
227
240
        export.export(wt, 'testdir1/target.tar.gz', format="tgz",
228
 
            per_file_timestamps=True)
 
241
                      per_file_timestamps=True)
229
242
        export.export(wt, 'testdir2/target.tar.gz', format="tgz",
230
 
            per_file_timestamps=True)
 
243
                      per_file_timestamps=True)
231
244
        file1 = open('testdir1/target.tar.gz', 'rb')
232
245
        self.addCleanup(file1.close)
233
246
        file2 = open('testdir1/target.tar.gz', 'rb')
275
288
        timestamp = 347151600
276
289
        tree.commit('setup', timestamp=timestamp)
277
290
        export.export(tree.basis_tree(), 'test.zip', format='zip',
278
 
            per_file_timestamps=True)
 
291
                      per_file_timestamps=True)
279
292
        zfile = zipfile.ZipFile('test.zip')
280
293
        info = zfile.getinfo("test/har")
281
294
        self.assertEqual(time.localtime(timestamp)[:6], info.date_time)
293
306
        self.assertEqual('bzr-0.0.5', get_root_name('bzr-0.0.5'))
294
307
        self.assertEqual('mytar', get_root_name('a/long/path/mytar.tgz'))
295
308
        self.assertEqual('other',
296
 
            get_root_name('../parent/../dir/other.tbz2'))
 
309
                         get_root_name('../parent/../dir/other.tbz2'))
297
310
        self.assertEqual('', get_root_name('-'))