Esempio n. 1
0
 def check_xsd_file_with_lxml(self, xmlschema_time):
     start_time = time.time()
     lxs = lxml_etree.parse(xsd_file)
     try:
         lxml_etree.XMLSchema(lxs.getroot())
     except lxml_etree.XMLSchemaParseError as err:
         if not self.errors:
             print(
                 "\nSchema error with lxml.etree.XMLSchema for file {!r} ({}): {}"
                 .format(xsd_file, self.__class__.__name__,
                         unicode_type(err)))
     else:
         if self.errors:
             print(
                 "\nUnrecognized errors with lxml.etree.XMLSchema for file {!r} ({}): {}"
                 .format(
                     xsd_file, self.__class__.__name__,
                     '\n++++++\n'.join(
                         [unicode_type(e) for e in self.errors])))
         lxml_schema_time = time.time() - start_time
         if lxml_schema_time >= xmlschema_time:
             print(
                 "\nSlower lxml.etree.XMLSchema ({:.3f}s VS {:.3f}s) with file {!r} ({})"
                 .format(lxml_schema_time, xmlschema_time, xsd_file,
                         self.__class__.__name__))
 def check_lxml_validation(self):
     try:
         schema = lxml_etree.XMLSchema(self.lxml_schema.getroot())
     except lxml_etree.XMLSchemaParseError:
         print("\nSkip lxml.etree.XMLSchema validation test for {!r} ({})".
               format(xml_file, TestValidator.__name__, ))
     else:
         xml_tree = lxml_etree.parse(xml_file)
         if self.errors:
             self.assertFalse(schema.validate(xml_tree))
         else:
             self.assertTrue(schema.validate(xml_tree))