[PATCH 0 of 6] Python replacements for C extensions

Martin Geisler mg at daimi.au.dk
Mon Jan 12 10:12:51 CST 2009


Brendan recently sent a pure Python version of base85.c -- here are
Python versions of the other C extensions. Most are based on the
previous Python code, but some are new.

I am able to run all tests but one: test-bdiff gives slightly
different output. This is not very surpricing since I replaced a ton
of C code in bdiff.blocks with just 4 lines of Python code and did so
more on intuition than on understanding the C code...

The error is below, I hope that someone more familiar with the C code
can tweak the Python code as needed. There doesn't seem to be any
previous Python code for this.

I have not done anything special for integrating this into the
Makefile. The final patch simply disables the extensions in setup.py
file for easy testing, but that is all :-)

The test-bdiff error:

cd tests && python run-tests.py  test-bdiff
ERROR: test-bdiff output changed
--- Expected output 
+++ Test output 
@@ -17,7 +17,7 @@
 *** 'abc' 'abc'
 *** 'a\n' 'a\n'
 *** 'a\nb' 'a\nb'
+5 5 '\ny\n'
 6 6 'y\n\n'
-6 6 'y\n\n'
-9 9 'y\n\n'
+8 8 '\ny\n'
Failed test-bdiff: output changed
# Ran 1 tests, 0 skipped, 1 failed.
make: *** [test-bdiff] Error 1

More information about the Mercurial-devel mailing list