~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/blackbox.py

  • Committer: Robert Collins
  • Date: 2005-10-02 21:51:29 UTC
  • mfrom: (1396)
  • mto: This revision was merged to the branch mainline in revision 1397.
  • Revision ID: robertc@robertcollins.net-20051002215128-5686c7d24bf9bdb9
merge from martins newformat branch - brings in transport abstraction

Show diffs side-by-side

added added

removed removed

Lines of Context:
214
214
        test.runbzr('add goodbye')
215
215
        test.runbzr('commit -m setup goodbye')
216
216
 
 
217
    def test_export(self):
 
218
        os.mkdir('branch')
 
219
        os.chdir('branch')
 
220
        self.example_branch()
 
221
        self.runbzr('export ../latest')
 
222
        self.assertEqual(file('../latest/goodbye', 'rt').read(), 'baz')
 
223
        self.runbzr('export ../first -r 1')
 
224
        assert not os.path.exists('../first/goodbye')
 
225
        self.assertEqual(file('../first/hello', 'rt').read(), 'foo')
 
226
        self.runbzr('export ../first.gz -r 1')
 
227
        self.assertEqual(file('../first.gz/hello', 'rt').read(), 'foo')
 
228
        self.runbzr('export ../first.bz2 -r 1')
 
229
        self.assertEqual(file('../first.bz2/hello', 'rt').read(), 'foo')
 
230
        self.runbzr('export ../first.tar -r 1')
 
231
        assert os.path.isfile('../first.tar')
 
232
        from tarfile import TarFile
 
233
        tf = TarFile('../first.tar')
 
234
        assert 'first/hello' in tf.getnames(), tf.getnames()
 
235
        self.assertEqual(tf.extractfile('first/hello').read(), 'foo')
 
236
        self.runbzr('export ../first.tar.gz -r 1')
 
237
        assert os.path.isfile('../first.tar.gz')
 
238
        self.runbzr('export ../first.tbz2 -r 1')
 
239
        assert os.path.isfile('../first.tbz2')
 
240
        self.runbzr('export ../first.tar.bz2 -r 1')
 
241
        assert os.path.isfile('../first.tar.bz2')
 
242
        self.runbzr('export ../first.tar.tbz2 -r 1')
 
243
        assert os.path.isfile('../first.tar.tbz2')
 
244
        from bz2 import BZ2File
 
245
        tf = TarFile('../first.tar.tbz2', 
 
246
                     fileobj=BZ2File('../first.tar.tbz2', 'r'))
 
247
        assert 'first.tar/hello' in tf.getnames(), tf.getnames()
 
248
        self.assertEqual(tf.extractfile('first.tar/hello').read(), 'foo')
 
249
        self.runbzr('export ../first2.tar -r 1 --root pizza')
 
250
        tf = TarFile('../first2.tar')
 
251
        assert 'pizza/hello' in tf.getnames(), tf.getnames()
 
252
 
217
253
    def test_diff(self):
218
254
        self.example_branch()
219
255
        file('hello', 'wt').write('hello world!')
268
304
        #        assert a.pending_merges() == [b.last_revision()], "Assertion %s %s" \
269
305
        #        % (a.pending_merges(), b.last_revision())
270
306
 
 
307
    def test_merge_with_missing_file(self):
 
308
        """Merge handles missing file conflicts"""
 
309
        os.mkdir('a')
 
310
        os.chdir('a')
 
311
        os.mkdir('sub')
 
312
        print >> file('sub/a.txt', 'wb'), "hello"
 
313
        print >> file('b.txt', 'wb'), "hello"
 
314
        print >> file('sub/c.txt', 'wb'), "hello"
 
315
        self.runbzr('init')
 
316
        self.runbzr('add')
 
317
        self.runbzr(('commit', '-m', 'added a'))
 
318
        self.runbzr('branch . ../b')
 
319
        print >> file('sub/a.txt', 'ab'), "there"
 
320
        print >> file('b.txt', 'ab'), "there"
 
321
        print >> file('sub/c.txt', 'ab'), "there"
 
322
        self.runbzr(('commit', '-m', 'Added there'))
 
323
        os.unlink('sub/a.txt')
 
324
        os.unlink('sub/c.txt')
 
325
        os.rmdir('sub')
 
326
        os.unlink('b.txt')
 
327
        self.runbzr(('commit', '-m', 'Removed a.txt'))
 
328
        os.chdir('../b')
 
329
        print >> file('sub/a.txt', 'ab'), "something"
 
330
        print >> file('b.txt', 'ab'), "something"
 
331
        print >> file('sub/c.txt', 'ab'), "something"
 
332
        self.runbzr(('commit', '-m', 'Modified a.txt'))
 
333
        self.runbzr('merge ../a/')
 
334
        assert os.path.exists('sub/a.txt.THIS')
 
335
        assert os.path.exists('sub/a.txt.BASE')
 
336
        os.chdir('../a')
 
337
        self.runbzr('merge ../b/')
 
338
        assert os.path.exists('sub/a.txt.OTHER')
 
339
        assert os.path.exists('sub/a.txt.BASE')
 
340
 
271
341
    def test_pull(self):
272
342
        """Pull changes from one branch to another."""
273
343
        os.mkdir('a')