Home | History | Annotate | Download | only in deqp_tests
      1 import os
      2 import re
      3 import sys
      4 
      5 def ReadFileAsLines(filename):
      6     """Reads a file, removing blank lines and lines that start with #"""
      7     file = open(filename, "r")
      8     raw_lines = file.readlines()
      9     file.close()
     10     lines = []
     11     for line in raw_lines:
     12         line = line.strip()
     13         if len(line) > 0 and not line.startswith("#"):
     14             lines.append(line)
     15     return lines
     16 
     17 def GetCleanTestName(testName):
     18     replacements = { "dEQP-": "", ".*": "", ".":"_", }
     19     cleanName = testName
     20     for replaceKey in replacements:
     21         cleanName = cleanName.replace(replaceKey, replacements[replaceKey])
     22     return cleanName
     23 
     24 def GenerateTests(outFile, testNames):
     25     ''' Remove duplicate tests '''
     26     testNames = list(set(testNames))
     27 
     28     outFile.write("#include \"deqp_tests.h\"\n\n")
     29 
     30     for test in testNames:
     31         outFile.write("TEST(deqp, " + GetCleanTestName(test) + ")\n")
     32         outFile.write("{\n")
     33         outFile.write("    RunDEQPTest(\"" + test + "\", GetCurrentConfig());\n")
     34         outFile.write("}\n\n")
     35 
     36 def main(argv):
     37     tests = ReadFileAsLines(argv[0])
     38     output = open(argv[1], 'wb')
     39     GenerateTests(output, tests)
     40     output.close()
     41     return 0
     42 
     43 if __name__ == '__main__':
     44     sys.exit(main(sys.argv[1:]))
     45