~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-06 00:52:53 UTC
  • Revision ID: robertc@robertcollins.net-20051006005253-415c38ad22094f13
define some expected behaviour for inventory_entry.snapshot

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
import sys
31
31
import os
32
32
 
 
33
from bzrlib.selftest import TestCaseInTempDir, BzrTestBase
33
34
from bzrlib.branch import Branch
34
 
from bzrlib.errors import BzrCommandError
35
35
from bzrlib.osutils import has_symlinks
36
 
from bzrlib.selftest import TestCaseInTempDir, BzrTestBase
37
36
from bzrlib.selftest.HTTPTestUtil import TestCaseWithWebserver
38
37
 
39
38
 
104
103
        self.runbzr("add hello.txt")
105
104
        self.runbzr("commit -m added")
106
105
 
107
 
    def test_empty_commit_message(self):
108
 
        self.runbzr("init")
109
 
        file('foo.c', 'wt').write('int main() {}')
110
 
        self.runbzr(['add', 'foo.c'])
111
 
        self.runbzr(["commit", "-m", ""] , retcode=1) 
112
 
 
113
106
    def test_ignore_patterns(self):
114
107
        from bzrlib.branch import Branch
115
108
        
308
301
        a.get_revision_xml(b.last_revision())
309
302
        self.log('pending merges: %s', a.pending_merges())
310
303
        #        assert a.pending_merges() == [b.last_revision()], "Assertion %s %s" \
311
 
        #        % (a.pending_merges(), b.last_patch())
312
 
 
313
 
    def test_merge_with_missing_file(self):
314
 
        """Merge handles missing file conflicts"""
315
 
        os.mkdir('a')
316
 
        os.chdir('a')
317
 
        os.mkdir('sub')
318
 
        print >> file('sub/a.txt', 'wb'), "hello"
319
 
        print >> file('b.txt', 'wb'), "hello"
320
 
        print >> file('sub/c.txt', 'wb'), "hello"
321
 
        self.runbzr('init')
322
 
        self.runbzr('add')
323
 
        self.runbzr(('commit', '-m', 'added a'))
324
 
        self.runbzr('branch . ../b')
325
 
        print >> file('sub/a.txt', 'ab'), "there"
326
 
        print >> file('b.txt', 'ab'), "there"
327
 
        print >> file('sub/c.txt', 'ab'), "there"
328
 
        self.runbzr(('commit', '-m', 'Added there'))
329
 
        os.unlink('sub/a.txt')
330
 
        os.unlink('sub/c.txt')
331
 
        os.rmdir('sub')
332
 
        os.unlink('b.txt')
333
 
        self.runbzr(('commit', '-m', 'Removed a.txt'))
334
 
        os.chdir('../b')
335
 
        print >> file('sub/a.txt', 'ab'), "something"
336
 
        print >> file('b.txt', 'ab'), "something"
337
 
        print >> file('sub/c.txt', 'ab'), "something"
338
 
        self.runbzr(('commit', '-m', 'Modified a.txt'))
339
 
        self.runbzr('merge ../a/')
340
 
        assert os.path.exists('sub/a.txt.THIS')
341
 
        assert os.path.exists('sub/a.txt.BASE')
342
 
        os.chdir('../a')
343
 
        self.runbzr('merge ../b/')
344
 
        assert os.path.exists('sub/a.txt.OTHER')
345
 
        assert os.path.exists('sub/a.txt.BASE')
 
304
        #        % (a.pending_merges(), b.last_revision())
346
305
 
347
306
    def test_merge_with_missing_file(self):
348
307
        """Merge handles missing file conflicts"""
427
386
        self.runbzr('commit -m blah8 --unchanged')
428
387
        self.runbzr('pull ../b')
429
388
        self.runbzr('pull ../b')
430
 
 
431
 
    def test_locations(self):
432
 
        """Using and remembering different locations"""
433
 
        os.mkdir('a')
434
 
        os.chdir('a')
435
 
        self.runbzr('init')
436
 
        self.runbzr('commit -m unchanged --unchanged')
437
 
        self.runbzr('pull', retcode=1)
438
 
        self.runbzr('merge', retcode=1)
439
 
        self.runbzr('branch . ../b')
440
 
        os.chdir('../b')
441
 
        self.runbzr('pull')
442
 
        self.runbzr('branch . ../c')
443
 
        self.runbzr('pull ../c')
444
 
        self.runbzr('merge')
445
 
        os.chdir('../a')
446
 
        self.runbzr('pull ../b')
447
 
        self.runbzr('pull')
448
 
        self.runbzr('pull ../c')
449
 
        self.runbzr('branch ../c ../d')
450
 
        shutil.rmtree('../c')
451
 
        self.runbzr('pull')
452
 
        os.chdir('../b')
453
 
        self.runbzr('pull')
454
 
        os.chdir('../d')
455
 
        self.runbzr('pull', retcode=1)
456
 
        self.runbzr('pull ../a --remember')
457
 
        self.runbzr('pull')
458
389
        
459
390
    def test_add_reports(self):
460
391
        """add command prints the names of added files."""
475
406
        self.assertEquals(out, '')
476
407
        err.index('unknown command')
477
408
 
478
 
    def test_conflicts(self):
479
 
        """Handling of merge conflicts"""
480
 
        os.mkdir('base')
481
 
        os.chdir('base')
482
 
        file('hello', 'wb').write("hi world")
483
 
        file('answer', 'wb').write("42")
484
 
        self.runbzr('init')
485
 
        self.runbzr('add')
486
 
        self.runbzr('commit -m base')
487
 
        self.runbzr('branch . ../other')
488
 
        self.runbzr('branch . ../this')
489
 
        os.chdir('../other')
490
 
        file('hello', 'wb').write("Hello.")
491
 
        file('answer', 'wb').write("Is anyone there?")
492
 
        self.runbzr('commit -m other')
493
 
        os.chdir('../this')
494
 
        file('hello', 'wb').write("Hello, world")
495
 
        self.runbzr('mv answer question')
496
 
        file('question', 'wb').write("What do you get when you multiply six"
497
 
                                   "times nine?")
498
 
        self.runbzr('commit -m this')
499
 
        self.runbzr('merge ../other')
500
 
        result = self.runbzr('conflicts', backtick=1)
501
 
        self.assertEquals(result, "hello\nquestion\n")
502
 
        result = self.runbzr('status', backtick=1)
503
 
        assert "conflicts:\n  hello\n  question\n" in result, result
504
 
        self.runbzr('resolve hello')
505
 
        result = self.runbzr('conflicts', backtick=1)
506
 
        self.assertEquals(result, "question\n")
507
 
        self.runbzr('commit -m conflicts', retcode=1)
508
 
        self.runbzr('resolve --all')
509
 
        result = self.runbzr('conflicts', backtick=1)
510
 
        self.runbzr('commit -m conflicts')
511
 
        self.assertEquals(result, "")
512
409
 
513
410
def listdir_sorted(dir):
514
411
    L = os.listdir(dir)