/
niceSOFT
/
libxml2
Обзор
Документация
Войти
/
niceSOFT
/
libxml2
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
python/tests/validate.py
82 строки
2 KB
Yegor Yefremov
python/tests: fix typos
15 окт 2024, 12:11
15 окт 2024, 12:11
5139492
Код
Авторство
О чём код?
#!/usr/bin/env python3 import sys import setup_test import libxml2 # Memory debug specific libxml2.debugMemory(1) ctxt = libxml2.createFileParserCtxt("valid.xml") ctxt.validate(1) ctxt.parseDocument() doc = ctxt.doc() valid = ctxt.isValid() if doc.name != "valid.xml": print("doc.name failed") sys.exit(1) root = doc.children if root.name != "doc": print("root.name failed") sys.exit(1) if valid != 1: print("validity check failed") sys.exit(1) doc.freeDoc() i = 1000 while i > 0: ctxt = libxml2.createFileParserCtxt("valid.xml") ctxt.validate(1) ctxt.parseDocument() doc = ctxt.doc() valid = ctxt.isValid() doc.freeDoc() if valid != 1: print("validity check failed") sys.exit(1) i = i - 1 #deactivate error messages from the validation def noerr(ctx, str): pass libxml2.registerErrorHandler(noerr, None) ctxt = libxml2.createFileParserCtxt("invalid.xml") ctxt.validate(1) ctxt.parseDocument() doc = ctxt.doc() valid = ctxt.isValid() if doc.name != "invalid.xml": print("doc.name failed") sys.exit(1) root = doc.children if root.name != "doc": print("root.name failed") sys.exit(1) if valid != 0: print("validity check failed") sys.exit(1) doc.freeDoc() i = 1000 while i > 0: ctxt = libxml2.createFileParserCtxt("invalid.xml") ctxt.validate(1) ctxt.parseDocument() doc = ctxt.doc() valid = ctxt.isValid() doc.freeDoc() if valid != 0: print("validity check failed") sys.exit(1) i = i - 1 del ctxt # Memory debug specific libxml2.cleanupParser() if libxml2.debugMemory(1) == 0: print("OK") else: print("Memory leak %d bytes" % (libxml2.debugMemory(1)))