From c40e80b266adafc32558599446b72b89e5cfd3f9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Fri, 25 Nov 2011 08:58:38 +0000 Subject: [PATCH] Automate egl_tri test. --- apps/CMakeLists.txt | 24 ++++++++++++++++++++++++ apps/egl/gl/CMakeLists.txt | 8 ++++++++ apps/egl/gl/tri.c | 8 ++++++++ apps/egl/gl/tri.ref.txt | 36 ++++++++++++++++++++++++++++++++++++ apps/gl/CMakeLists.txt | 32 +++----------------------------- 5 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 apps/egl/gl/tri.ref.txt diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt index 12981b3..c4c0518 100644 --- a/apps/CMakeLists.txt +++ b/apps/CMakeLists.txt @@ -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} + "$" + ${TEST_ARGS} + ) +endfunction () + if (OPENGL_FOUND) add_subdirectory (gl) endif () diff --git a/apps/egl/gl/CMakeLists.txt b/apps/egl/gl/CMakeLists.txt index 1f4c606..24eec75 100644 --- a/apps/egl/gl/CMakeLists.txt +++ b/apps/egl/gl/CMakeLists.txt @@ -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) diff --git a/apps/egl/gl/tri.c b/apps/egl/gl/tri.c index fb1dde3..423a948 100644 --- a/apps/egl/gl/tri.c +++ b/apps/egl/gl/tri.c @@ -37,6 +37,12 @@ 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 index 0000000..06fa7a3 --- /dev/null +++ b/apps/egl/gl/tri.ref.txt @@ -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() diff --git a/apps/gl/CMakeLists.txt b/apps/gl/CMakeLists.txt index 69f2b21..ba8ad16 100644 --- a/apps/gl/CMakeLists.txt +++ b/apps/gl/CMakeLists.txt @@ -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} - "$" - ${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 ${api}_${target} + REF ${target}.ref.txt ) endif () endforeach (target) -- 2.43.0