From: Ian Romanick <[email protected]>

This mostly reverts bd096a8a, but it keeps the subtest reporting.  The
non-idomatic way this test was implemented was causing confusion for at
least one new piglit developer.

Signed-off-by: Ian Romanick <[email protected]>
Cc: Matt Turner <[email protected]>
Cc: Corey Richardson <[email protected]>
Cc: Jon Ashburn <[email protected]>
---
 tests/spec/arb_texture_storage/texture-storage.c | 66 +++++++++++++-----------
 1 file changed, 37 insertions(+), 29 deletions(-)

diff --git a/tests/spec/arb_texture_storage/texture-storage.c 
b/tests/spec/arb_texture_storage/texture-storage.c
index 201929d..8d161d1 100644
--- a/tests/spec/arb_texture_storage/texture-storage.c
+++ b/tests/spec/arb_texture_storage/texture-storage.c
@@ -57,7 +57,7 @@ static GLubyte Colors[][4] = {
 /**
  * Do error-check tests for a non-mipmapped texture.
  */
-static enum piglit_result
+static bool
 test_one_level_errors(GLenum target)
 {
        const GLint width = 64, height = 4, depth = 8;
@@ -86,14 +86,14 @@ test_one_level_errors(GLenum target)
        glGetTexLevelParameteriv(target, 0, GL_TEXTURE_WIDTH, &v);
        if (v != width) {
                printf("%s: bad width: %d, should be %d\n", TestName, v, width);
-               return PIGLIT_FAIL;
+               return false;
        }
 
        if (target != GL_TEXTURE_1D) {
                glGetTexLevelParameteriv(target, 0, GL_TEXTURE_HEIGHT, &v);
                if (v != height) {
                        printf("%s: bad height: %d, should be %d\n", TestName, 
v, height);
-                       return PIGLIT_FAIL;
+                       return false;
                }
        }
 
@@ -101,7 +101,7 @@ test_one_level_errors(GLenum target)
                glGetTexLevelParameteriv(target, 0, GL_TEXTURE_DEPTH, &v);
                if (v != depth) {
                        printf("%s: bad depth: %d, should be %d\n", TestName, 
v, depth);
-                       return PIGLIT_FAIL;
+                       return false;
                }
        }
 
@@ -120,32 +120,32 @@ test_one_level_errors(GLenum target)
                             GL_RGBA, GL_UNSIGNED_BYTE, NULL);
                if (glGetError() != GL_INVALID_OPERATION) {
                        printf("%s: glTexImage2D failed to generate error\n", 
TestName);
-                       return PIGLIT_FAIL;
+                       return false;
                }
 
                glTexStorage2D(target, 1, GL_RGBA8, width, height);
                if (glGetError() != GL_INVALID_OPERATION) {
                        printf("%s: glTexStorage2D() failed to generate 
error\n", TestName);
-                       return PIGLIT_FAIL;
+                       return false;
                }
 
                glCopyTexImage2D(target, 0, GL_RGBA, 0, 0, width, height, 0);
                if (glGetError() != GL_INVALID_OPERATION) {
                        printf("%s: glCopyTexImage2D() failed to generate 
error\n", TestName);
-                       return PIGLIT_FAIL;
+                       return false;
                }
        }
 
        glDeleteTextures(1, &tex);
 
-       return PIGLIT_PASS;
+       return true;
 }
 
 
 /**
  * Do error-check tests for a mipmapped texture.
  */
-static enum piglit_result
+static bool
 test_mipmap_errors(GLenum target)
 {
        GLint width = 128, height = 64, depth = 4, levels = 8;
@@ -178,7 +178,7 @@ test_mipmap_errors(GLenum target)
        glGetTexParameteriv(target, GL_TEXTURE_IMMUTABLE_FORMAT, &v);
        if (!v) {
                printf("%s: %s GL_TEXTURE_IMMUTABLE_FORMAT query returned 
false\n",                    TestName, targetString);
-               return PIGLIT_FAIL;
+               return false;
        }
 
        for (l = 0; l < levels; l++) {
@@ -186,7 +186,7 @@ test_mipmap_errors(GLenum target)
                if (v != width) {
                        printf("%s: %s level %d: bad width: %d, should be %d\n",
                               TestName, targetString, l, v, width);
-                       return PIGLIT_FAIL;
+                       return false;
                }
 
                if (target != GL_TEXTURE_1D) {
@@ -194,7 +194,7 @@ test_mipmap_errors(GLenum target)
                        if (v != height) {
                                printf("%s: %s level %d: bad height: %d, should 
be %d\n",
                                       TestName, targetString, l, v, height);
-                               return PIGLIT_FAIL;
+                               return false;
                        }
                }
 
@@ -203,7 +203,7 @@ test_mipmap_errors(GLenum target)
                        if (v != depth) {
                                printf("%s: %s level %d: bad depth: %d, should 
be %d\n",
                                       TestName, targetString, l, v, depth);
-                               return PIGLIT_FAIL;
+                               return false;
                        }
                }
 
@@ -217,7 +217,7 @@ test_mipmap_errors(GLenum target)
 
        glDeleteTextures(1, &tex);
 
-       return PIGLIT_PASS;
+       return true;
 }
 
 
@@ -242,7 +242,7 @@ create_image(GLint w, GLint h, const GLubyte color[4])
 /**
  * Test a mip-mapped texture w/ rendering.
  */
-static enum piglit_result
+static bool
 test_2d_mipmap_rendering(void)
 {
        GLuint tex;
@@ -269,14 +269,14 @@ test_2d_mipmap_rendering(void)
                if (v != width) {
                        printf("%s: level %d: bad width: %d, should be %d\n",
                                         TestName, l, v, width);
-                       return PIGLIT_FAIL;
+                       return false;
                }
 
                glGetTexLevelParameteriv(GL_TEXTURE_2D, l, GL_TEXTURE_HEIGHT, 
&v);
                if (v != height) {
                        printf("%s: level %d: bad height: %d, should be %d\n",
                                         TestName, l, v, height);
-                       return PIGLIT_FAIL;
+                       return false;
                }
 
                if (width > 1)
@@ -297,7 +297,7 @@ test_2d_mipmap_rendering(void)
                if (err == GL_NO_ERROR) {
                        printf("%s: glTexSubImage2D(illegal level) failed to 
generate an error.\n",
                               TestName);
-                       return PIGLIT_FAIL;
+                       return false;
                }
 
                free(buf);
@@ -334,7 +334,7 @@ test_2d_mipmap_rendering(void)
                if (!p) {
                        printf("%s: wrong color for mipmap level %d\n",
                               TestName, l);
-                       return PIGLIT_FAIL;
+                       return false;
                }
        }
 
@@ -342,7 +342,7 @@ test_2d_mipmap_rendering(void)
 
        glDeleteTextures(1, &tex);
 
-       return PIGLIT_PASS;
+       return true;
 }
 
 
@@ -353,7 +353,7 @@ test_2d_mipmap_rendering(void)
  * there are many extensions/versions that could effect the lists (ex:
  * integer formats, etc.)
  */
-static enum piglit_result
+static bool
 test_internal_formats(void)
 {
        const GLenum target = GL_TEXTURE_2D;
@@ -425,10 +425,10 @@ test_internal_formats(void)
                glDeleteTextures(1, &tex);
        }
 
-       return pass ? PIGLIT_PASS : PIGLIT_FAIL;
+       return pass;
 }
        
-static enum piglit_result
+static bool
 test_immutablity(GLenum target)
 {
        GLuint tex;
@@ -466,15 +466,23 @@ test_immutablity(GLenum target)
        /* Other immutable tests happen per-format above */
 
        glDeleteTextures(1, &tex);
-       return pass == true ? PIGLIT_PASS : PIGLIT_FAIL;
+       return pass;
 }
 
+#define X(f, n)                                                                
\
+       do {                                                            \
+               const bool subtest_pass = (f);                          \
+               piglit_report_subtest_result(subtest_pass               \
+                                            ? PIGLIT_PASS : PIGLIT_FAIL, \
+                                            (n));                      \
+               pass = pass && subtest_pass;                            \
+       } while (0)
+
 enum piglit_result
 piglit_display(void)
 {
-       enum piglit_result pass = PIGLIT_PASS;
-       enum piglit_result tmp;
-#define X(f, n) tmp = (f); pass = tmp != PIGLIT_PASS ? PIGLIT_FAIL : pass; 
piglit_report_subtest_result(tmp, (n))
+       bool pass = true;
+
        X(test_one_level_errors(GL_TEXTURE_1D), "1D non-mipmapped");
        X(test_one_level_errors(GL_TEXTURE_2D), "2D non-mipmapped");
        X(test_one_level_errors(GL_TEXTURE_3D), "3D non-mipmapped");
@@ -484,8 +492,8 @@ piglit_display(void)
        X(test_2d_mipmap_rendering(), "2D mipmap rendering");
        X(test_internal_formats(), "internal formats");
        X(test_immutablity(GL_TEXTURE_2D), "immutability");
-#undef X
-       return pass;
+
+       return pass ? PIGLIT_PASS : PIGLIT_FAIL;
 }
 
 
-- 
1.8.1.4

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to