Mercurial > public > mercurial-scm > python-hglib
view tests/test-import.py @ 179:c4c0efb37187
protocol: add the abilty to trace the protocol between the client and server
This is useful when debugging issues with driving hg via hglib
where output and error messages can be lost.
Call setprotocoltrace with the name of a trace function or None.
If the trace function is None no tracing is done.
The trace function is called with the direction, the channel-identified
and its data.
author | Barry A. Scott <barry@barrys-emacs.org> |
---|---|
date | Tue, 18 Oct 2016 17:45:17 +0100 |
parents | c1b966866ed7 |
children |
line wrap: on
line source
import os from tests import common from hglib.util import b, BytesIO patch = b(""" # HG changeset patch # User test # Date 0 0 # Node ID c103a3dec114d882c98382d684d8af798d09d857 # Parent 0000000000000000000000000000000000000000 1 diff -r 000000000000 -r c103a3dec114 a --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/a Thu Jan 01 00:00:00 1970 +0000 @@ -0,0 +1,1 @@ +1 """) class test_import(common.basetest): def test_basic_cstringio(self): self.client.import_(BytesIO(patch)) self.assertEquals(self.client.cat([b('a')]), b('1\n')) def test_basic_file(self): f = open('patch', 'wb') f.write(patch) f.close() # --no-commit self.client.import_([b('patch')], nocommit=True) self.assertEquals(open('a').read(), '1\n') self.client.update(clean=True) os.remove('a') self.client.import_([b('patch')]) self.assertEquals(self.client.cat([b('a')]), b('1\n'))