view tests/test-outgoing-incoming.py @ 117:59cb26bf866e

error: show more info on CommandError's __str__ Sometimes stderr doesn't contain anything which makes the current __str__ useless. We now return a tuple of (exit code, output, error).
author Idan Kamara <idankk86@gmail.com>
date Fri, 14 Jun 2013 18:36:56 +0300
parents 46908f4b87d5
children 4359cabcb0cc
line wrap: on
line source

import common
import hglib

class test_outgoing_incoming(common.basetest):
    def test_no_path(self):
        self.assertRaises(hglib.error.CommandError, self.client.incoming)

    def test_empty(self):
        self.client.clone(dest='other')
        self.other = hglib.open('other')

        self.assertEquals(self.other.incoming(), [])
        self.assertEquals(self.other.outgoing(), [])

    def test_basic(self):
        self.append('a', 'a')
        self.client.commit('first', addremove=True)
        self.append('a', 'a')
        self.client.commit('second')

        self.client.clone(dest='other')
        other = hglib.open('other')

        self.assertEquals(self.client.log(), other.log())
        self.assertEquals(self.client.outgoing(path='other'), other.incoming())

        self.append('a', 'a')
        rev, node = self.client.commit('third')
        out = self.client.outgoing(path='other')

        self.assertEquals(len(out), 1)
        self.assertEquals(out[0].node, node)

        self.assertEquals(out, other.incoming())

    def test_bookmarks(self):
        self.append('a', 'a')
        self.client.commit('first', addremove=True)
        self.append('a', 'a')
        self.client.commit('second')

        self.client.clone(dest='other')
        other = hglib.open('other')

        self.client.bookmark('bm1', 1)

        self.assertEquals(other.incoming(bookmarks=True),
                          [('bm1', self.client.tip().node[:12])])

        self.assertEquals(self.client.outgoing(path='other', bookmarks=True),
                          [('bm1', self.client.tip().node[:12])])