diff options
Diffstat (limited to 'nx-X11/extras/Mesa_6.4.2/progs/tests/getprocaddress.py')
-rw-r--r-- | nx-X11/extras/Mesa_6.4.2/progs/tests/getprocaddress.py | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/nx-X11/extras/Mesa_6.4.2/progs/tests/getprocaddress.py b/nx-X11/extras/Mesa_6.4.2/progs/tests/getprocaddress.py new file mode 100644 index 000000000..d16b2d93d --- /dev/null +++ b/nx-X11/extras/Mesa_6.4.2/progs/tests/getprocaddress.py @@ -0,0 +1,93 @@ +#!/usr/bin/env python + +# $Id: getprocaddress.py,v 1.7 2005/06/21 23:42:43 idr Exp $ + +# Helper for the getprocaddress.c test. + +import sys, getopt, re +sys.path.append("../../src/mesa/glapi/" ) +import gl_XML +import license + + +def FindTestFunctions(): + """Scan getprocaddress.c for lines that start with "test_" to find + extension function tests. Return a list of names found.""" + functions = [] + f = open("getprocaddress.c") + if not f: + return functions + for line in f.readlines(): + v = re.search("^test_([a-zA-Z0-9]+)", line) + if v: + func = v.group(1) + functions.append(func) + f.close + return functions + + +class PrintExports(gl_XML.gl_print_base): + def __init__(self): + gl_XML.gl_print_base.__init__(self) + + self.name = "getprocaddress.py (from Mesa)" + self.license = license.bsd_license_template % ( \ +"""Copyright (C) 1999-2001 Brian Paul All Rights Reserved. +(C) Copyright IBM Corporation 2004""", "BRIAN PAUL, IBM") + + self.tests = FindTestFunctions() + self.prevCategory = "" + return + + + def printRealHeader(self): + print """ +struct name_test_pair { + const char *name; + GLboolean (*test)(generic_func); +}; + +static struct name_test_pair functions[] = {""" + + def printBody(self, api): + prev_category = None + + + for f in api.functionIterateByOffset(): + [category, num] = api.get_category_for_name( f.name ) + if category != prev_category: + print ' { "-%s", NULL},' % category + prev_category = category + + test = "NULL" + for name in f.entry_points: + if name in self.tests: + test = "test_%s" % name + break + + print ' { "gl%s", %s },' % (f.name, test) + + print '' + print ' { NULL, NULL }' + print '};' + print '' + return + + +if __name__ == '__main__': + file_name = "../../src/mesa/glapi/gl_API.xml" + + try: + (args, trail) = getopt.getopt(sys.argv[1:], "f:") + except Exception,e: + show_usage() + + for (arg,val) in args: + if arg == "-f": + file_name = val + + printer = PrintExports() + + api = gl_XML.parse_GL_API( file_name, gl_XML.gl_item_factory() ) + + printer.Print( api ) |