示例#1
0
def Help():
    debug.dprint("Usage: update_options [OPTIONS] ... [FILES]\n" + \
                 "\n" + \
                 "Updates flml, bml, swml and adml files. If FILES is not specified, all .flml, .bml, .swml and .adml files in\n" + \
                 "tests/*/., tests/*/*/., longtests/*/., longtests/*/*/. and examples/*/. will be updated. Options:\n" + \
                 "\n" + \
                 "-h  Display this help\n" + \
                 "-v  Verbose mode", 0)

    return
def Help():
  debug.dprint("Usage: update_options [OPTIONS] ... [FILES]\n" + \
               "\n" + \
               "Updates flml, and adml files. If FILES is not specified, all .flml, and .adml files in\n" + \
               "tests/*/., tests/*/*/., longtests/*/., longtests/*/*/. and examples/*/. will be updated. Options:\n" + \
               "\n" + \
               "-h  Display this help\n" + \
               "-v  Verbose mode", 0)

  return
 def TestXmlFiles(self, testDir, depth):
   debug.dprint("Checking xml files:", 0)
   for filename in self._TestFiles("xml", testDir, depth):
     try:
       xmlParse = xml.dom.minidom.parse(filename)
       debug.dprint(filename + " : Pass", 0)
       self._passes += 1
     except xml.parsers.expat.ExpatError:
       debug.dprint(filename + " : Fail", 0)
       self._optionErrors[filename] = xml.parsers.expat.ExpatError
   
   return
        def TestXmlFiles(self, testDir, depth):
            debug.dprint("Checking xml files:", 0)
            for filename in self._TestFiles("xml", testDir, depth):
                try:
                    xmlParse = xml.dom.minidom.parse(filename)
                    debug.dprint(filename + " : Pass", 0)
                    self._passes += 1
                except xml.parsers.expat.ExpatError:
                    debug.dprint(filename + " : Fail", 0)
                    self._optionErrors[filename] = xml.parsers.expat.ExpatError

            return
示例#5
0
    schemadict[k] = schema.Schema(os.path.join(rootDir, "schemas", v))

filenames = args
if len(filenames) == 0:
    filenames = []
    for k, v in extdict.items():
        filenames += glob.glob(os.path.join(testDir, "*", "*." + k))
        filenames += glob.glob(os.path.join(testDir, "*", "*", "*." + k))
        filenames += glob.glob(os.path.join(longtestDir, "*", "*." + k))
        filenames += glob.glob(os.path.join(longtestDir, "*", "*", "*." + k))
        filenames += glob.glob(os.path.join(examplesDir, "*", "*." + k))

invalidFiles = []
updated = 0
for filename in filenames:
    debug.dprint("Processing " + str(filename), 1)

    ext = filename.split(".")[-1]
    sch = schemadict[ext]

    # Read the file and check that either the file is valid, or diamond.schema
    # can make the file valid by adding in the missing elements
    optionsTree = sch.read(filename)
    lost_eles, added_eles, lost_attrs, added_attrs = sch.read_errors()
    if len(lost_eles) + len(lost_attrs) > 0 or not optionsTree.valid:
        debug.deprint(str(filename) + ": Invalid", 0)
        debug.deprint(
            str(filename) + " errors: " + str(
                (lost_eles, added_eles, lost_attrs, added_attrs)), 1)
        invalidFiles.append(filename)
        continue
  schemadict[k] = schema.Schema(os.path.join(rootDir, "schemas", v))

filenames = args
if len(filenames) == 0:
  filenames = []
  for k,v in extdict.items():
    filenames += glob.glob(os.path.join(testDir, "*", "*."+k))
    filenames += glob.glob(os.path.join(testDir, "*", "*", "*."+k))
    filenames += glob.glob(os.path.join(longtestDir, "*", "*."+k))
    filenames += glob.glob(os.path.join(longtestDir, "*", "*", "*."+k))
    filenames += glob.glob(os.path.join(examplesDir, "*", "*."+k))

invalidFiles = []
updated = 0
for filename in filenames:
  debug.dprint("Processing " + str(filename), 1)
  
  ext = filename.split(".")[-1]
  sch = schemadict[ext]
 
  # Read the file and check that either the file is valid, or diamond.schema
  # can make the file valid by adding in the missing elements
  optionsTree = sch.read(filename)
  lost_eles, added_eles, lost_attrs, added_attrs = sch.read_errors()
  if len(lost_eles) + len(lost_attrs) > 0 or not optionsTree.valid:
    debug.deprint(str(filename) + ": Invalid", 0)
    debug.deprint(str(filename) + " errors: " + str((lost_eles, added_eles, lost_attrs, added_attrs)), 1)
    invalidFiles.append(filename)
    continue
  
  # Write out the updated options file
     def ValidateOptionsFiles(self, schemafile, testDir, depth, extension = None, xmlRootNode = None):
       debug.dprint("Validating options file against schema: " + schemafile, 0)
     
       schemafile = os.path.join(self._rootDir, schemafile)
       sch = schema.Schema(schemafile)

       if not extension is None:
         debug.dprint("Testing files with extension: " + extension, 0)
         for filename in self._TestFiles(extension, testDir, depth): 
           optionsTree = sch.read(filename)
           lost_eles, added_eles, lost_attrs, added_attrs = sch.read_errors()
           if len(lost_eles) + len(added_eles) + len(lost_attrs) + len(added_attrs) == 0 and optionsTree.valid:
             debug.dprint(filename + " : Pass", 0)
             self._passes += 1
           else:
             debug.dprint(filename + " : Fail", 0)
             self._optionErrors[filename] = (lost_eles, added_eles, lost_attrs, added_attrs)
             
       if not xmlRootNode is None:
         debug.dprint("Testing xml files with root node: " + xmlRootNode, 0)
         for filename in self._TestFiles("xml", testDir, depth):
           try:
             xmlParse = xml.dom.minidom.parse(filename)
           except xml.parsers.expat.ExpatError:
             continue
           rootEles = xmlParse.getElementsByTagName(xmlRootNode)
           if len(rootEles) == 0:
             continue
           optionsTree = sch.read(filename)
           lost_eles, added_eles, lost_attrs, added_attrs = sch.read_errors()
           if len(lost_eles) + len(added_eles) + len(lost_attrs) + len(added_attrs) == 0 and optionsTree.valid:
             debug.dprint(filename + " : Pass", 0)
             self._passes += 1
           else:
             debug.dprint(filename + " : Fail", 0)
             self._optionErrors[filename] = (lost_eles, added_eles, lost_attrs, added_attrs)
       
       return
        def ValidateOptionsFiles(self,
                                 schemafile,
                                 testDir,
                                 depth,
                                 extension=None,
                                 xmlRootNode=None):
            debug.dprint(
                "Validating options file against schema: " + schemafile, 0)

            schemafile = os.path.join(self._rootDir, schemafile)
            sch = schema.Schema(schemafile)

            if not extension is None:
                debug.dprint("Testing files with extension: " + extension, 0)
                for filename in self._TestFiles(extension, testDir, depth):
                    optionsTree = sch.read(filename)
                    lost_eles, added_eles, lost_attrs, added_attrs = sch.read_errors(
                    )
                    if len(lost_eles) + len(added_eles) + len(
                            lost_attrs) + len(
                                added_attrs) == 0 and optionsTree.valid:
                        debug.dprint(filename + " : Pass", 0)
                        self._passes += 1
                    else:
                        debug.dprint(filename + " : Fail", 0)
                        self._optionErrors[filename] = (lost_eles, added_eles,
                                                        lost_attrs,
                                                        added_attrs)

            if not xmlRootNode is None:
                debug.dprint(
                    "Testing xml files with root node: " + xmlRootNode, 0)
                for filename in self._TestFiles("xml", testDir, depth):
                    try:
                        xmlParse = xml.dom.minidom.parse(filename)
                    except xml.parsers.expat.ExpatError:
                        continue
                    rootEles = xmlParse.getElementsByTagName(xmlRootNode)
                    if len(rootEles) == 0:
                        continue
                    optionsTree = sch.read(filename)
                    lost_eles, added_eles, lost_attrs, added_attrs = sch.read_errors(
                    )
                    if len(lost_eles) + len(added_eles) + len(
                            lost_attrs) + len(
                                added_attrs) == 0 and optionsTree.valid:
                        debug.dprint(filename + " : Pass", 0)
                        self._passes += 1
                    else:
                        debug.dprint(filename + " : Fail", 0)
                        self._optionErrors[filename] = (lost_eles, added_eles,
                                                        lost_attrs,
                                                        added_attrs)

            return