Edit

kc3-lang/angle/src/tests/deqp_tests/generate_deqp_tests.py

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2015-03-16 17:25:51
    Hash : 559a2e8c
    Message : Move the ANGLE tests project to src/ *re-re-land with fix for Chrome's angle tests* BUG=angleproject:945 Change-Id: I3c64e2edc776c299791440f65f22450855eb6dfa Reviewed-on: https://chromium-review.googlesource.com/260448 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>

  • src/tests/deqp_tests/generate_deqp_tests.py
  • import os
    import re
    import sys
    
    def ReadFileAsLines(filename):
        """Reads a file, removing blank lines and lines that start with #"""
        file = open(filename, "r")
        raw_lines = file.readlines()
        file.close()
        lines = []
        for line in raw_lines:
            line = line.strip()
            if len(line) > 0 and not line.startswith("#"):
                lines.append(line)
        return lines
    
    def GetCleanTestName(testName):
        replacements = { "dEQP-": "", ".*": "", ".":"_", }
        cleanName = testName
        for replaceKey in replacements:
            cleanName = cleanName.replace(replaceKey, replacements[replaceKey])
        return cleanName
    
    def GenerateTests(outFile, testNames):
        ''' Remove duplicate tests '''
        testNames = list(set(testNames))
    
        outFile.write("#include \"deqp_tests.h\"\n\n")
    
        for test in testNames:
            outFile.write("TEST(deqp, " + GetCleanTestName(test) + ")\n")
            outFile.write("{\n")
            outFile.write("    RunDEQPTest(\"" + test + "\", GetCurrentConfig());\n")
            outFile.write("}\n\n")
    
    def main(argv):
        tests = ReadFileAsLines(argv[0])
        output = open(argv[1], 'wb')
        GenerateTests(output, tests)
        output.close()
        return 0
    
    if __name__ == '__main__':
        sys.exit(main(sys.argv[1:]))