~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/blackbox.py

[merge] from robert and fix up tests

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
from cStringIO import StringIO
28
28
import os
 
29
import re
29
30
import shutil
30
31
import sys
31
 
import os
32
32
 
33
33
from bzrlib.branch import Branch
34
34
from bzrlib.clone import copy_branch
401
401
        os.chdir('../b')
402
402
        self.runbzr('commit -m blah3 --unchanged')
403
403
        self.runbzr('pull ../a', retcode=1)
404
 
        print "DECIDE IF PULL CAN CONVERGE, blackbox.py"
405
 
        return
406
404
        os.chdir('../a')
407
405
        self.runbzr('merge ../b')
408
406
        self.runbzr('commit -m blah4 --unchanged')
511
509
        self.runbzr('commit -m conflicts')
512
510
        self.assertEquals(result, "")
513
511
 
 
512
    def test_resign(self):
 
513
        """Test re signing of data."""
 
514
        import bzrlib.gpg
 
515
        oldstrategy = bzrlib.gpg.GPGStrategy
 
516
        branch = Branch.initialize('.')
 
517
        branch.commit("base", allow_pointless=True, rev_id='A')
 
518
        try:
 
519
            # monkey patch gpg signing mechanism
 
520
            from bzrlib.testament import Testament
 
521
            bzrlib.gpg.GPGStrategy = bzrlib.gpg.LoopbackGPGStrategy
 
522
            self.runbzr('re-sign -r revid:A')
 
523
            self.assertEqual(Testament.from_revision(branch,'A').as_short_text(),
 
524
                             branch.revision_store.get('A', 'sig').read())
 
525
        finally:
 
526
            bzrlib.gpg.GPGStrategy = oldstrategy
 
527
 
514
528
def listdir_sorted(dir):
515
529
    L = os.listdir(dir)
516
530
    L.sort()
614
628
        runbzr("add sub1")
615
629
        runbzr("rename sub1 sub2")
616
630
        runbzr("move hello.txt sub2")
617
 
        assert capture("relpath sub2/hello.txt") == os.path.join("sub2", "hello.txt\n")
 
631
        self.assertEqual(capture("relpath sub2/hello.txt"),
 
632
                         os.path.join("sub2", "hello.txt\n"))
618
633
 
619
634
        assert exists("sub2")
620
635
        assert exists("sub2/hello.txt")
654
669
        f.close()
655
670
 
656
671
        f = file('msg.tmp', 'wt')
657
 
        f.write('this is my new commit\n')
 
672
        f.write('this is my new commit\nand it has multiple lines, for fun')
658
673
        f.close()
659
674
 
660
675
        runbzr('commit -F msg.tmp')
668
683
        runbzr('log -v --forward')
669
684
        runbzr('log -m', retcode=1)
670
685
        log_out = capture('log -m commit')
671
 
        assert "this is my new commit" in log_out
 
686
        assert "this is my new commit\n  and" in log_out
672
687
        assert "rename nested" not in log_out
673
688
        assert 'revision-id' not in log_out
674
689
        assert 'revision-id' in capture('log --show-ids -m commit')
675
690
 
 
691
        log_out = capture('log --line')
 
692
        for line in log_out.splitlines():
 
693
            assert len(line) <= 79, len(line)
 
694
        assert "this is my new commit and" in log_out
 
695
 
676
696
 
677
697
        progress("file with spaces in name")
678
698
        mkdir('sub directory')
800
820
        self.run_bzr('branch', url, 'to')
801
821
        branch = Branch.open('to')
802
822
        self.assertEqual(1, len(branch.revision_history()))
 
823
 
 
824
    def test_log(self):
 
825
        self.build_tree(['branch/', 'branch/file'])
 
826
        branch = Branch.initialize('branch')
 
827
        branch.add(['file'])
 
828
        branch.commit('add file', rev_id='A')
 
829
        url = self.get_remote_url('branch/file')
 
830
        output = self.capture('log %s' % url)
 
831
        self.assertEqual(7, len(output.split('\n')))
 
832
        
 
833
 
 
834
 
 
835