change a small bit in the way valididy error messages get initialized

* parserInternals.c: change a small bit in the way valididy
  error messages get initialized
* python/TODO python/libxml.c python/libxml2-python-api.xml
  python/libxml2class.txt python/libxml_wrap.h python/types.c:
  added some memory debugging to track leaks at the libxml2 level
* python/tests/*.py: changed all tests to check for leaks,
  there is just one left in XPath extension registrations.
daniel
diff --git a/python/tests/error.py b/python/tests/error.py
index 21cf558..9337945 100755
--- a/python/tests/error.py
+++ b/python/tests/error.py
@@ -6,6 +6,9 @@
 import sys
 import libxml2
 
+# Memory debug specific
+libxml2.debugMemory(1)
+
 expect='--> warning: --> failed to load external entity "missing.xml"\n'
 err=""
 def callback(ctx, str):
@@ -27,4 +30,10 @@
     err = ""
     i = i - 1
 
-print "OK"
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/python/tests/push.py b/python/tests/push.py
index 738d3e9..5b60a16 100755
--- a/python/tests/push.py
+++ b/python/tests/push.py
@@ -2,6 +2,9 @@
 import sys
 import libxml2
 
+# Memory debug specific
+libxml2.debugMemory(1)
+
 ctxt = libxml2.createPushParser(None, "<foo", 4, "test.xml")
 ctxt.parseChunk("/>", 2, 1)
 doc = ctxt.doc()
@@ -22,4 +25,11 @@
     doc.freeDoc()
     i = i -1
 ctxt=None
-print "OK"
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/python/tests/tst.py b/python/tests/tst.py
index dc6e4d4..9540cda 100755
--- a/python/tests/tst.py
+++ b/python/tests/tst.py
@@ -2,6 +2,9 @@
 import sys
 import libxml2
 
+# Memory debug specific
+libxml2.debugMemory(1)
+
 doc = libxml2.parseFile("tst.xml")
 if doc.name != "tst.xml":
     print "doc.name failed"
@@ -15,4 +18,11 @@
     print "child.name failed"
     sys.exit(1)
 doc.freeDoc()
-print "OK"
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/python/tests/tstxpath.py b/python/tests/tstxpath.py
index 97d392c..9fc3d4c 100755
--- a/python/tests/tstxpath.py
+++ b/python/tests/tstxpath.py
@@ -2,6 +2,10 @@
 import sys
 import libxml2
 
+#memory debug specific
+libxml2.debugMemory(1)
+
+
 def foo(x):
     return x + 1
 
@@ -35,4 +39,12 @@
 	sys.exit(1)
     i = i - 1
 doc.freeDoc()
-print "OK"
+del ctxt
+
+#memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/python/tests/validate.py b/python/tests/validate.py
index 5762f60..e9841a9 100755
--- a/python/tests/validate.py
+++ b/python/tests/validate.py
@@ -2,6 +2,9 @@
 import sys
 import libxml2
 
+# Memory debug specific
+libxml2.debugMemory(1)
+
 ctxt = libxml2.createFileParserCtxt("valid.xml")
 ctxt.validate(1)
 ctxt.parseDocument()
@@ -68,5 +71,12 @@
 	print "validity check failed"
 	sys.exit(1)
     i = i - 1
+del ctxt
 
-print "OK"
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/python/tests/xpath.py b/python/tests/xpath.py
index 49a697f..0d35a99 100755
--- a/python/tests/xpath.py
+++ b/python/tests/xpath.py
@@ -6,6 +6,9 @@
 import sys
 import libxml2
 
+# Memory debug specific
+libxml2.debugMemory(1)
+
 doc = libxml2.parseFile("tst.xml")
 if doc.name != "tst.xml":
     print "doc.name error"
@@ -27,4 +30,12 @@
     res = ctxt.xpathEval("//*")
     doc.freeDoc()
     i = i -1
-print "OK"
+del ctxt
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()
diff --git a/python/tests/xpathext.py b/python/tests/xpathext.py
index 97d392c..14cb69f 100755
--- a/python/tests/xpathext.py
+++ b/python/tests/xpathext.py
@@ -2,6 +2,9 @@
 import sys
 import libxml2
 
+# Memory debug specific
+libxml2.debugMemory(1)
+
 def foo(x):
     return x + 1
 
@@ -35,4 +38,12 @@
 	sys.exit(1)
     i = i - 1
 doc.freeDoc()
-print "OK"
+del ctxt
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()