]> git.cworth.org Git - apitrace-tests/commitdiff
Automate egl_tri test.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Fri, 25 Nov 2011 08:58:38 +0000 (08:58 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Fri, 25 Nov 2011 08:59:10 +0000 (08:59 +0000)
apps/CMakeLists.txt
apps/egl/gl/CMakeLists.txt
apps/egl/gl/tri.c
apps/egl/gl/tri.ref.txt [new file with mode: 0644]
apps/gl/CMakeLists.txt

index 12981b36672807306f585ec9cc4ab1c95fad7fdc..c4c051830da52c44cae17f0f27c3a046cd80012c 100644 (file)
@@ -1,3 +1,27 @@
+function (ADD_APP_TEST)
+    cmake_parse_arguments(
+        TEST
+        # Options
+        ""
+        # One value args
+        "NAME;TARGET;REF"
+        # Multi value args
+        "ARGS"
+        ${ARGN}
+    )
+
+    add_test(
+        NAME ${TEST_NAME}
+        COMMAND
+        python ${CMAKE_SOURCE_DIR}/driver.py
+            --build ${APITRACE_BINARY_DIR}
+            --api ${api}
+            --ref-dump ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_REF}
+            "$<TARGET_FILE:${TEST_TARGET}>"
+            ${TEST_ARGS}
+    )
+endfunction ()
+
 if (OPENGL_FOUND)
     add_subdirectory (gl)
 endif ()
index 1f4c60620bbaaed35f498ae636656577882fe38f..24eec7598f9318e886a69a3de84929de6a3fb0ac 100644 (file)
@@ -14,4 +14,12 @@ foreach (target ${targets})
     add_executable (${api}_${target} ${target}.c)
     set_target_properties (${api}_${target} PROPERTIES OUTPUT_NAME ${target})
     target_link_libraries (${api}_${target} eglut ${OPENGL_gl_LIBRARY})
+    
+    if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${target}.ref.txt)
+        add_app_test(
+            NAME ${api}_${target}
+           TARGET ${api}_${target}
+           REF ${target}.ref.txt
+        )
+    endif ()
 endforeach (target)
index fb1dde3529cf1275f8acecd44912cb87cfbccbfe..423a948df4a2212ab6afa2ee008b46e6b81cc18a 100644 (file)
 static GLfloat view_rotx = 0.0, view_roty = 0.0, view_rotz = 0.0;
 
 
+static void
+idle(void)
+{
+   exit(0);
+}
+
 static void
 draw(void)
 {
@@ -71,6 +77,8 @@ draw(void)
    }
 
    glPopMatrix();
+
+   eglutIdleFunc(idle);
 }
 
 
diff --git a/apps/egl/gl/tri.ref.txt b/apps/egl/gl/tri.ref.txt
new file mode 100644 (file)
index 0000000..06fa7a3
--- /dev/null
@@ -0,0 +1,36 @@
+eglBindAPI(api = EGL_OPENGL_API) = EGL_TRUE
+glClearColor(red = 0.4, green = 0.4, blue = 0.4, alpha = 0)
+glViewport(x = 0, y = 0, width = 300, height = 300)
+glMatrixMode(mode = GL_PROJECTION)
+glLoadIdentity()
+glFrustum(left = -1, right = 1, bottom = -1, top = 1, zNear = 5, zFar = 60)
+glMatrixMode(mode = GL_MODELVIEW)
+glLoadIdentity()
+glTranslatef(x = 0, y = 0, z = -10)
+glViewport(x = 0, y = 0, width = 300, height = 300)
+glMatrixMode(mode = GL_PROJECTION)
+glLoadIdentity()
+glFrustum(left = -1, right = 1, bottom = -1, top = 1, zNear = 5, zFar = 60)
+glMatrixMode(mode = GL_MODELVIEW)
+glLoadIdentity()
+glTranslatef(x = 0, y = 0, z = -10)
+glViewport(x = 0, y = 0, width = 300, height = 300)
+glMatrixMode(mode = GL_PROJECTION)
+glLoadIdentity()
+glFrustum(left = -1, right = 1, bottom = -1, top = 1, zNear = 5, zFar = 60)
+glMatrixMode(mode = GL_MODELVIEW)
+glLoadIdentity()
+glTranslatef(x = 0, y = 0, z = -10)
+glClear(mask = GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT)
+glPushMatrix()
+glRotatef(angle = 0, x = 1, y = 0, z = 0)
+glRotatef(angle = 0, x = 0, y = 1, z = 0)
+glRotatef(angle = 0, x = 0, y = 0, z = 1)
+glEnableClientState(array = GL_VERTEX_ARRAY)
+glEnableClientState(array = GL_COLOR_ARRAY)
+glColorPointer(size = 3, type = GL_FLOAT, stride = 0, pointer = blob(36))
+glVertexPointer(size = 2, type = GL_FLOAT, stride = 0, pointer = blob(24))
+glDrawArrays(mode = GL_TRIANGLES, first = 0, count = 3)
+glDisableClientState(array = GL_VERTEX_ARRAY)
+glDisableClientState(array = GL_COLOR_ARRAY)
+glPopMatrix()
index 69f2b211b6a40606cbdabeaf3c8a86c0ddc5f378..ba8ad164f0a47e5cd8403637cf33039243988d4a 100644 (file)
@@ -19,41 +19,15 @@ set (targets
     varray
 )
 
-function (ADD_APP_TEST)
-    cmake_parse_arguments(
-        TEST
-        # Options
-        ""
-        # One value args
-        "NAME;TARGET;REF"
-        # Multi value args
-        "ARGS"
-        ${ARGN}
-    )
-
-    add_test(
-        NAME ${TEST_NAME}
-        COMMAND
-        python ${CMAKE_SOURCE_DIR}/driver.py
-            --build ${APITRACE_BINARY_DIR}
-            --api ${api}
-            --ref-dump ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_REF}
-            "$<TARGET_FILE:${TEST_TARGET}>"
-            ${TEST_ARGS}
-    )
-endfunction ()
-
 foreach (target ${targets})
     add_executable (${api}_${target} ${target}.c)
     set_target_properties (${api}_${target} PROPERTIES OUTPUT_NAME ${target})
 
     if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${target}.ref.txt)
-        add_test(
+        add_app_test(
             NAME ${api}_${target}
-            COMMAND python ${CMAKE_SOURCE_DIR}/driver.py
-                --build ${APITRACE_BINARY_DIR}
-                --ref-dump ${CMAKE_CURRENT_SOURCE_DIR}/${target}.ref.txt
-                "$<TARGET_FILE:${api}_${target}>"
+           TARGET ${api}_${target}
+           REF ${target}.ref.txt
         )
     endif ()
 endforeach (target)