diff options
Diffstat (limited to 'opengl/libs/GLES_trace/tools/testgenapi.py')
-rw-r--r-- | opengl/libs/GLES_trace/tools/testgenapi.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/opengl/libs/GLES_trace/tools/testgenapi.py b/opengl/libs/GLES_trace/tools/testgenapi.py new file mode 100644 index 0000000..fe14954 --- /dev/null +++ b/opengl/libs/GLES_trace/tools/testgenapi.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# +# Copyright (C) 2011 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# USAGE +# $ cd GLES_trace/tools +# $ python testgenapi.py + +import unittest +from genapi import DataType, ApiCall, getApis, parseArgs + +class TestApiCall(unittest.TestCase): + def test_parsing(self): + apientry = 'void API_ENTRY(glCopyTexSubImage2D)(GLenum target, GLint level, ' \ + 'GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ' \ + 'GLsizei height) {' + callsite = 'CALL_GL_API(glCopyTexImage2D, target, level, internalformat, x, y,' \ + 'width, height, border);' + + api = ApiCall("GL", apientry, callsite) + self.assertEqual(api.func, "glCopyTexImage2D") + self.assertEqual(api.callsite, 'glCopyTexImage2D(target, level, internalformat, ' \ + 'x, y, width, height, border)') + self.assertEqual(api.ret, 'void') + self.assertEqual(api.arglist, 'GLenum target, GLint level, ' \ + 'GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ' \ + 'GLsizei height') + + def test_num_functions_parsed(self): + gl2_apis = getApis('../../GLES2/gl2_api.in', 'GL2') + gl2ext_apis = getApis('../../GLES2/gl2ext_api.in', 'GL2Ext') + gl_apis = getApis('../../GLES_CM/gl_api.in', "GL1") + glext_apis = getApis('../../GLES_CM/glext_api.in', 'GL1Ext') + + self.assertEqual(len(gl2_apis), 142) + self.assertEqual(len(gl2ext_apis), 121) + self.assertEqual(len(gl_apis), 145) + self.assertEqual(len(glext_apis), 140) + + def test_parseArgs(self): + args = parseArgs("void") + self.assertEqual(len(args), 0) + + args = parseArgs("GLchar a") + self.assertEqual(args, [("a", DataType.CHAR)]) + + args = parseArgs("GLchar *a") + self.assertEqual(args, [("a", DataType.POINTER)]) + + args = parseArgs("GLint exponent[16]") + self.assertEqual(args, [("exponent", DataType.POINTER)]) + +if __name__ == '__main__': + unittest.main() |