[Piglit] [PATCH] Convert simple if(piglit_get_gl_version() < N) { SKIP } to require

Chris Forbes chrisf at ijw.co.nz
Thu Sep 6 19:26:12 PDT 2012


Generated from the following semantic patch:

@@
expression VER;
expression MSG;
@@

-	if (piglit_get_gl_version() < VER) {
-		printf(MSG);
-		piglit_report_result(PIGLIT_SKIP);
(
-		exit(1);
|
)
-	}

+   piglit_require_gl_version(VER);

Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
---
 tests/bugs/fdo25614-genmipmap.c                                     | 5 +----
 tests/bugs/fdo31934.c                                               | 5 +----
 tests/fbo/fbo-alphatest-nocolor.c                                   | 5 +----
 tests/fbo/fbo-copypix.c                                             | 5 +----
 tests/fbo/fbo-drawbuffers-blend-add.c                               | 5 +----
 tests/fbo/fbo-drawbuffers-fragcolor.c                               | 5 +----
 tests/fbo/fbo-drawbuffers-maxtargets.c                              | 5 +----
 tests/fbo/fbo-fragcoord.c                                           | 5 +----
 tests/fbo/fbo-fragcoord2.c                                          | 5 +----
 tests/fbo/fbo-readdrawpix.c                                         | 5 +----
 tests/general/bgra-sec-color-pointer.c                              | 5 +----
 tests/general/bgra-vert-attrib-pointer.c                            | 5 +----
 tests/general/blendminmax.c                                         | 5 +----
 tests/general/clear-varray-2.0.c                                    | 5 +----
 tests/general/draw-batch.c                                          | 5 +----
 tests/general/draw-elements-base-vertex-neg.c                       | 5 +----
 tests/general/draw-elements-vs-inputs.c                             | 5 +----
 tests/general/draw-elements.c                                       | 5 +----
 tests/general/draw-vertices-half-float.c                            | 5 +----
 tests/general/draw-vertices.c                                       | 5 +----
 tests/general/early-z.c                                             | 5 +----
 tests/general/isbufferobj.c                                         | 5 +----
 tests/general/occlusion-query-discard.c                             | 5 +----
 tests/general/texunits.c                                            | 5 +----
 tests/general/vao-element-array-buffer.c                            | 5 +----
 tests/shaders/activeprogram-bad-program.c                           | 5 +----
 tests/shaders/activeprogram-get.c                                   | 5 +----
 tests/shaders/createshaderprogram-attached-shaders.c                | 5 +----
 tests/shaders/createshaderprogram-bad-type.c                        | 5 +----
 tests/shaders/fp-fragment-position.c                                | 5 +----
 tests/shaders/fp-kil.c                                              | 5 +----
 tests/shaders/glsl-arb-fragment-coord-conventions-define.c          | 5 +----
 tests/shaders/glsl-bindattriblocation.c                             | 6 +-----
 tests/shaders/glsl-cos.c                                            | 5 +----
 tests/shaders/glsl-deriv-varyings.c                                 | 5 +----
 tests/shaders/glsl-derivs.c                                         | 5 +----
 tests/shaders/glsl-dlist-getattriblocation.c                        | 6 +-----
 tests/shaders/glsl-empty-vs-no-fs.c                                 | 5 +----
 tests/shaders/glsl-explicit-location-01.c                           | 5 +----
 tests/shaders/glsl-explicit-location-02.c                           | 5 +----
 tests/shaders/glsl-explicit-location-03.c                           | 5 +----
 tests/shaders/glsl-explicit-location-04.c                           | 5 +----
 tests/shaders/glsl-explicit-location-05.c                           | 5 +----
 tests/shaders/glsl-fs-bug25902.c                                    | 5 +----
 tests/shaders/glsl-fs-exp2.c                                        | 5 +----
 tests/shaders/glsl-fs-flat-color.c                                  | 5 +----
 tests/shaders/glsl-fs-fogcolor-statechange.c                        | 5 +----
 tests/shaders/glsl-fs-fragcoord-zw-ortho.c                          | 5 +----
 tests/shaders/glsl-fs-fragcoord-zw-perspective.c                    | 5 +----
 tests/shaders/glsl-fs-fragcoord.c                                   | 5 +----
 tests/shaders/glsl-fs-loop-nested.c                                 | 5 +----
 tests/shaders/glsl-fs-loop.c                                        | 5 +----
 tests/shaders/glsl-fs-mix-constant.c                                | 5 +----
 tests/shaders/glsl-fs-mix.c                                         | 5 +----
 tests/shaders/glsl-fs-pointcoord.c                                  | 6 +-----
 tests/shaders/glsl-fs-raytrace-bug27060.c                           | 5 +----
 tests/shaders/glsl-fs-sampler-numbering.c                           | 5 +----
 tests/shaders/glsl-fs-shader-stencil-export.c                       | 5 +----
 tests/shaders/glsl-fs-sqrt-branch.c                                 | 5 +----
 tests/shaders/glsl-fs-texture2drect.c                               | 5 +----
 tests/shaders/glsl-fs-texturecube-2.c                               | 5 +----
 tests/shaders/glsl-fs-texturecube.c                                 | 5 +----
 tests/shaders/glsl-fs-textureenvcolor-statechange.c                 | 5 +----
 tests/shaders/glsl-fs-user-varying-ff.c                             | 5 +----
 tests/shaders/glsl-fwidth.c                                         | 5 +----
 tests/shaders/glsl-getactiveuniform-array-size.c                    | 5 +----
 tests/shaders/glsl-getactiveuniform-length.c                        | 5 +----
 tests/shaders/glsl-getattriblocation.c                              | 6 +-----
 tests/shaders/glsl-invalid-asm-01.c                                 | 5 +----
 tests/shaders/glsl-invalid-asm-02.c                                 | 5 +----
 tests/shaders/glsl-kwin-blur-1.c                                    | 5 +----
 tests/shaders/glsl-kwin-blur-2.c                                    | 5 +----
 tests/shaders/glsl-light-model.c                                    | 5 +----
 tests/shaders/glsl-link-bug30552.c                                  | 5 +----
 tests/shaders/glsl-link-bug38015.c                                  | 5 +----
 tests/shaders/glsl-link-empty-prog-01.c                             | 5 +----
 tests/shaders/glsl-link-empty-prog-02.c                             | 5 +----
 tests/shaders/glsl-link-initializer-03.c                            | 5 +----
 tests/shaders/glsl-link-test.c                                      | 5 +----
 tests/shaders/glsl-lod-bias.c                                       | 5 +----
 tests/shaders/glsl-mat-attribute.c                                  | 5 +----
 tests/shaders/glsl-max-varyings.c                                   | 5 +----
 tests/shaders/glsl-max-vertex-attrib.c                              | 6 +-----
 tests/shaders/glsl-novertexdata.c                                   | 6 +-----
 tests/shaders/glsl-orangebook-ch06-bump.c                           | 5 +----
 tests/shaders/glsl-preprocessor-comments.c                          | 5 +----
 tests/shaders/glsl-routing.c                                        | 5 +----
 tests/shaders/glsl-sin.c                                            | 5 +----
 tests/shaders/glsl-uniform-update.c                                 | 5 +----
 tests/shaders/glsl-unused-varying.c                                 | 5 +----
 tests/shaders/glsl-useprogram-displaylist.c                         | 5 +----
 tests/shaders/glsl-vs-arrays.c                                      | 5 +----
 tests/shaders/glsl-vs-functions.c                                   | 5 +----
 tests/shaders/glsl-vs-if-bool.c                                     | 5 +----
 tests/shaders/glsl-vs-loop-nested.c                                 | 5 +----
 tests/shaders/glsl-vs-loop.c                                        | 5 +----
 tests/shaders/glsl-vs-mov-after-deref.c                             | 5 +----
 tests/shaders/glsl-vs-mvp-statechange.c                             | 5 +----
 tests/shaders/glsl-vs-normalscale.c                                 | 5 +----
 tests/shaders/glsl-vs-point-size.c                                  | 5 +----
 tests/shaders/glsl-vs-raytrace-bug26691.c                           | 5 +----
 tests/shaders/glsl-vs-statechange-1.c                               | 5 +----
 tests/shaders/glsl-vs-texturematrix-1.c                             | 5 +----
 tests/shaders/glsl-vs-texturematrix-2.c                             | 5 +----
 tests/shaders/glsl-vs-user-varying-ff.c                             | 5 +----
 tests/shaders/link-mismatch-layout-01.c                             | 5 +----
 tests/shaders/link-mismatch-layout-02.c                             | 5 +----
 tests/shaders/link-mismatch-layout-03.c                             | 5 +----
 tests/shaders/link-unresolved-function.c                            | 5 +----
 tests/shaders/sso-simple.c                                          | 5 +----
 tests/shaders/sso-uniforms-01.c                                     | 5 +----
 tests/shaders/sso-uniforms-02.c                                     | 5 +----
 tests/shaders/sso-user-varying-01.c                                 | 5 +----
 tests/shaders/sso-user-varying-02.c                                 | 5 +----
 tests/shaders/trinity-fp1.c                                         | 5 +----
 tests/shaders/useprogram-flushverts-1.c                             | 5 +----
 tests/shaders/useprogram-flushverts-2.c                             | 5 +----
 tests/shaders/useprogram-inside-begin.c                             | 5 +----
 tests/shaders/useprogram-refcount-1.c                               | 5 +----
 tests/shaders/useshaderprogram-bad-program.c                        | 5 +----
 tests/shaders/useshaderprogram-bad-type.c                           | 5 +----
 tests/shaders/useshaderprogram-flushverts-1.c                       | 5 +----
 tests/shaders/vp-ignore-input.c                                     | 5 +----
 tests/spec/arb_copy_buffer/copy_buffer_coherency.c                  | 5 +----
 tests/spec/arb_es2_compatibility/arb_es2_compatibility-fixed-type.c | 5 +----
 .../arb_es2_compatibility-getshaderprecisionformat.c                | 5 +----
 tests/spec/arb_es2_compatibility/arb_es2_compatibility-maxvectors.c | 5 +----
 .../arb_es2_compatibility-releaseshadercompiler.c                   | 5 +----
 .../arb_es2_compatibility/arb_es2_compatibility-shadercompiler.c    | 5 +----
 tests/spec/arb_map_buffer_range/map_buffer_range_error_check.c      | 5 +----
 tests/spec/arb_map_buffer_range/map_buffer_range_test.c             | 5 +----
 tests/spec/arb_robustness/draw-vbo-bounds.c                         | 5 +----
 tests/spec/arb_timer_query/timestamp-get.c                          | 5 +----
 tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c   | 5 +----
 tests/spec/ext_timer_query/time-elapsed.c                           | 5 +----
 tests/spec/gl-2.0/vertex-program-two-side.c                         | 5 +----
 tests/spec/gl-3.0/required-renderbuffer-attachment-formats.c        | 5 +----
 tests/spec/gl-3.0/required-sized-texture-formats.c                  | 5 +----
 tests/spec/gl-3.0/required-texture-attachment-formats.c             | 5 +----
 tests/spec/nv_conditional_render/begin-while-active.c               | 5 +----
 tests/spec/nv_conditional_render/begin-zero.c                       | 5 +----
 tests/spec/nv_conditional_render/bitmap.c                           | 5 +----
 tests/spec/nv_conditional_render/blitframebuffer.c                  | 5 +----
 tests/spec/nv_conditional_render/clear.c                            | 5 +----
 tests/spec/nv_conditional_render/copypixels.c                       | 5 +----
 tests/spec/nv_conditional_render/copyteximage.c                     | 5 +----
 tests/spec/nv_conditional_render/copytexsubimage.c                  | 5 +----
 tests/spec/nv_conditional_render/dlist.c                            | 5 +----
 tests/spec/nv_conditional_render/drawpixels.c                       | 5 +----
 tests/spec/nv_conditional_render/generatemipmap.c                   | 5 +----
 tests/spec/nv_conditional_render/vertex_array.c                     | 5 +----
 tests/texturing/depth-tex-modes-glsl.c                              | 5 +----
 tests/texturing/fragment-and-vertex-texturing.c                     | 5 +----
 tests/texturing/lodbias.c                                           | 5 +----
 tests/texturing/tex3d-maxsize.c                                     | 5 +----
 tests/texturing/tex3d.c                                             | 5 +----
 tests/texturing/texrect-many.c                                      | 5 +----
 157 files changed, 157 insertions(+), 634 deletions(-)

diff --git a/tests/bugs/fdo25614-genmipmap.c b/tests/bugs/fdo25614-genmipmap.c
index 43a7042..804ac9b 100644
--- a/tests/bugs/fdo25614-genmipmap.c
+++ b/tests/bugs/fdo25614-genmipmap.c
@@ -61,10 +61,7 @@ piglit_init(int argc, char **argv)
 	(void) argc;
 	(void) argv;
 
-	if (piglit_get_gl_version() < 14) {
-		printf("Requires OpenGL 1.4\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(14);
 
 	loadTex();
 
diff --git a/tests/bugs/fdo31934.c b/tests/bugs/fdo31934.c
index c5b8392..c1960e3 100644
--- a/tests/bugs/fdo31934.c
+++ b/tests/bugs/fdo31934.c
@@ -10,10 +10,7 @@ piglit_init(int argc, char *argv[])
 {
     GLuint id;
 
-    if (piglit_get_gl_version() < 15) {
-        printf("Requires OpenGL 1.5\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(15);
 
     piglit_require_extension("GL_ARB_vertex_buffer_object");
 
diff --git a/tests/fbo/fbo-alphatest-nocolor.c b/tests/fbo/fbo-alphatest-nocolor.c
index 1794fd2..aec4095 100644
--- a/tests/fbo/fbo-alphatest-nocolor.c
+++ b/tests/fbo/fbo-alphatest-nocolor.c
@@ -162,10 +162,7 @@ void piglit_init(int argc, char **argv)
 {
 	GLuint fs, vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_framebuffer_object");
 
diff --git a/tests/fbo/fbo-copypix.c b/tests/fbo/fbo-copypix.c
index 7dc0e59..f34cbf2 100644
--- a/tests/fbo/fbo-copypix.c
+++ b/tests/fbo/fbo-copypix.c
@@ -211,10 +211,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 14) {
-		printf("Requires OpenGL 1.4\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(14);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/fbo/fbo-drawbuffers-blend-add.c b/tests/fbo/fbo-drawbuffers-blend-add.c
index 76bf324..158cb9e 100644
--- a/tests/fbo/fbo-drawbuffers-blend-add.c
+++ b/tests/fbo/fbo-drawbuffers-blend-add.c
@@ -230,10 +230,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_framebuffer_object");
 	piglit_require_extension("GL_ARB_draw_buffers");
diff --git a/tests/fbo/fbo-drawbuffers-fragcolor.c b/tests/fbo/fbo-drawbuffers-fragcolor.c
index f93a437..167855d 100644
--- a/tests/fbo/fbo-drawbuffers-fragcolor.c
+++ b/tests/fbo/fbo-drawbuffers-fragcolor.c
@@ -179,10 +179,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_framebuffer_object");
 	piglit_require_extension("GL_ARB_draw_buffers");
diff --git a/tests/fbo/fbo-drawbuffers-maxtargets.c b/tests/fbo/fbo-drawbuffers-maxtargets.c
index e970098..b3227bf 100644
--- a/tests/fbo/fbo-drawbuffers-maxtargets.c
+++ b/tests/fbo/fbo-drawbuffers-maxtargets.c
@@ -187,10 +187,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_framebuffer_object");
 	piglit_require_extension("GL_ARB_draw_buffers");
diff --git a/tests/fbo/fbo-fragcoord.c b/tests/fbo/fbo-fragcoord.c
index cfd7be2..0547b9f 100644
--- a/tests/fbo/fbo-fragcoord.c
+++ b/tests/fbo/fbo-fragcoord.c
@@ -141,10 +141,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-mvp.vert");
diff --git a/tests/fbo/fbo-fragcoord2.c b/tests/fbo/fbo-fragcoord2.c
index 9277e58..82d439c 100644
--- a/tests/fbo/fbo-fragcoord2.c
+++ b/tests/fbo/fbo-fragcoord2.c
@@ -209,10 +209,7 @@ piglit_init(int argc, char**argv)
 {
    GLuint vs, fs;
 
-   if (piglit_get_gl_version() < 20) {
-      printf("Requires OpenGL 2.0\n");
-      piglit_report_result(PIGLIT_SKIP);
-   }
+   piglit_require_gl_version(20);
 
    piglit_require_extension("GL_ARB_framebuffer_object");
 
diff --git a/tests/fbo/fbo-readdrawpix.c b/tests/fbo/fbo-readdrawpix.c
index bc0c96f..5aa6b3e 100644
--- a/tests/fbo/fbo-readdrawpix.c
+++ b/tests/fbo/fbo-readdrawpix.c
@@ -214,10 +214,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 14) {
-		printf("Requires OpenGL 1.4\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(14);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/general/bgra-sec-color-pointer.c b/tests/general/bgra-sec-color-pointer.c
index 6e5fc19..7b3821c 100644
--- a/tests/general/bgra-sec-color-pointer.c
+++ b/tests/general/bgra-sec-color-pointer.c
@@ -52,10 +52,7 @@ static GLubyte colors[16] = {255, 0, 0, 127,
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 14) {
-		printf("Requires OpenGL 1.4\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(14);
 
 	piglit_require_extension("GL_EXT_vertex_array_bgra");
 
diff --git a/tests/general/bgra-vert-attrib-pointer.c b/tests/general/bgra-vert-attrib-pointer.c
index f3703c3..5404876 100644
--- a/tests/general/bgra-vert-attrib-pointer.c
+++ b/tests/general/bgra-vert-attrib-pointer.c
@@ -110,10 +110,7 @@ compileLinkProg(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_vertex_array_bgra");
 
diff --git a/tests/general/blendminmax.c b/tests/general/blendminmax.c
index c4fc442..9f69880 100644
--- a/tests/general/blendminmax.c
+++ b/tests/general/blendminmax.c
@@ -132,10 +132,7 @@ piglit_init(int argc, char **argv)
 		piglit_report_result(PIGLIT_SKIP);
 	}
 
-	if (piglit_get_gl_version() < 14) {
-		printf("Requires OpenGL 1.4\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(14);
 
 	printf("\nAll 4 quads should be the same color.\n");
 	glEnable(GL_BLEND);
diff --git a/tests/general/clear-varray-2.0.c b/tests/general/clear-varray-2.0.c
index 697cd3f..e13b29c 100644
--- a/tests/general/clear-varray-2.0.c
+++ b/tests/general/clear-varray-2.0.c
@@ -129,10 +129,7 @@ piglit_init(int argc, char **argv)
 {
 	GLuint vert_prog, frag_prog;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	reshape(piglit_width, piglit_height);
 
diff --git a/tests/general/draw-batch.c b/tests/general/draw-batch.c
index c21b8b7..6c9b105 100644
--- a/tests/general/draw-batch.c
+++ b/tests/general/draw-batch.c
@@ -32,10 +32,7 @@ PIGLIT_GL_TEST_MAIN(
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 14) {
-		printf("Requires OpenGL 1.4.\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(14);
 }
 
 static void rotate_colors(float *array)
diff --git a/tests/general/draw-elements-base-vertex-neg.c b/tests/general/draw-elements-base-vertex-neg.c
index 6e7b260..ebb72fc 100644
--- a/tests/general/draw-elements-base-vertex-neg.c
+++ b/tests/general/draw-elements-base-vertex-neg.c
@@ -46,10 +46,7 @@ void piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 15) {
-		printf("Requires OpenGL 1.5\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(15);
 
 	piglit_require_extension("GL_ARB_draw_elements_base_vertex");
 
diff --git a/tests/general/draw-elements-vs-inputs.c b/tests/general/draw-elements-vs-inputs.c
index ff11626..4c73fff 100644
--- a/tests/general/draw-elements-vs-inputs.c
+++ b/tests/general/draw-elements-vs-inputs.c
@@ -49,10 +49,7 @@ piglit_init(int argc, char **argv)
 {
    GLfloat red[4] = {1, 0, 0, 1};
 
-   if (piglit_get_gl_version() < 12) {
-      printf("Requires OpenGL 1.2\n");
-      piglit_report_result(PIGLIT_SKIP);
-   }
+   piglit_require_gl_version(12);
 
    glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, red);
 
diff --git a/tests/general/draw-elements.c b/tests/general/draw-elements.c
index b2bfbd5..32cdf92 100644
--- a/tests/general/draw-elements.c
+++ b/tests/general/draw-elements.c
@@ -51,10 +51,7 @@ void piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 15) {
-		printf("Requires OpenGL 1.5\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(15);
 
 	glShadeModel(GL_FLAT);
 	glClearColor(0.2, 0.2, 0.2, 1.0);
diff --git a/tests/general/draw-vertices-half-float.c b/tests/general/draw-vertices-half-float.c
index b81b19c..c962ebf 100644
--- a/tests/general/draw-vertices-half-float.c
+++ b/tests/general/draw-vertices-half-float.c
@@ -51,10 +51,7 @@ void piglit_init(int argc, char **argv)
 
     piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-    if (piglit_get_gl_version() < 15) {
-        printf("Requires OpenGL 1.5\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(15);
     piglit_require_extension("GL_ARB_half_float_vertex");
 
     glShadeModel(GL_FLAT);
diff --git a/tests/general/draw-vertices.c b/tests/general/draw-vertices.c
index 03d602e..70f1bd7 100644
--- a/tests/general/draw-vertices.c
+++ b/tests/general/draw-vertices.c
@@ -51,10 +51,7 @@ void piglit_init(int argc, char **argv)
 
     piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-    if (piglit_get_gl_version() < 15) {
-        printf("Requires OpenGL 1.5\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(15);
 
     glShadeModel(GL_FLAT);
     glClearColor(0.2, 0.2, 0.2, 1.0);
diff --git a/tests/general/early-z.c b/tests/general/early-z.c
index 036fe52..9957896 100644
--- a/tests/general/early-z.c
+++ b/tests/general/early-z.c
@@ -144,10 +144,7 @@ piglit_init(int argc, char **argv)
 {
    int i;
 
-   if (piglit_get_gl_version() < 20) {
-      printf("Requires OpenGL 2.0 / GLSL\n");
-      piglit_report_result(PIGLIT_SKIP);
-   }
+   piglit_require_gl_version(20);
 
    shader[0] = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fpFragDepthText);
    assert(shader[0]);
diff --git a/tests/general/isbufferobj.c b/tests/general/isbufferobj.c
index 45b3246..be2a090 100644
--- a/tests/general/isbufferobj.c
+++ b/tests/general/isbufferobj.c
@@ -101,8 +101,5 @@ piglit_display(void)
 void
 piglit_init(int argc, char**argv)
 {
-   if (piglit_get_gl_version() < 15) {
-      printf("Requires OpenGL 1.5\n");
-      piglit_report_result(PIGLIT_SKIP);
-   }
+   piglit_require_gl_version(15);
 }
diff --git a/tests/general/occlusion-query-discard.c b/tests/general/occlusion-query-discard.c
index 4cf3de9..144f70b 100644
--- a/tests/general/occlusion-query-discard.c
+++ b/tests/general/occlusion-query-discard.c
@@ -128,10 +128,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint query_bits;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	/* It is legal for a driver to support the query API but not have
 	 * any query bits.  I wonder how many applications actually check for
diff --git a/tests/general/texunits.c b/tests/general/texunits.c
index 01264c9..cfe8012 100644
--- a/tests/general/texunits.c
+++ b/tests/general/texunits.c
@@ -384,10 +384,7 @@ init(void)
 void
 piglit_init(int argc, char *argv[])
 {
-   if (piglit_get_gl_version() < 13) {
-	   printf("Requires OpenGL 1.3\n");
-	   piglit_report_result(PIGLIT_SKIP);
-   }
+   piglit_require_gl_version(13);
 
    init();
 }
diff --git a/tests/general/vao-element-array-buffer.c b/tests/general/vao-element-array-buffer.c
index 6e9f8c0..103f247 100644
--- a/tests/general/vao-element-array-buffer.c
+++ b/tests/general/vao-element-array-buffer.c
@@ -69,10 +69,7 @@ piglit_init(int argc, char **argv)
 	};
 	GLubyte indices[] = {0, 1, 2, 3};
 
-	if (piglit_get_gl_version() < 15) {
-		printf("Requires OpenGL 1.5\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(15);
 
 	piglit_require_extension("GL_ARB_vertex_array_object");
 
diff --git a/tests/shaders/activeprogram-bad-program.c b/tests/shaders/activeprogram-bad-program.c
index b9160b4..b6bf043 100644
--- a/tests/shaders/activeprogram-bad-program.c
+++ b/tests/shaders/activeprogram-bad-program.c
@@ -56,10 +56,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLuint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/activeprogram-get.c b/tests/shaders/activeprogram-get.c
index bdc7014..cf0d2f9 100644
--- a/tests/shaders/activeprogram-get.c
+++ b/tests/shaders/activeprogram-get.c
@@ -51,10 +51,7 @@ piglit_init(int argc, char **argv)
 	GLuint got;
 	GLuint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/createshaderprogram-attached-shaders.c b/tests/shaders/createshaderprogram-attached-shaders.c
index a1a105f..d988fdf 100644
--- a/tests/shaders/createshaderprogram-attached-shaders.c
+++ b/tests/shaders/createshaderprogram-attached-shaders.c
@@ -52,10 +52,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLenum err;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/createshaderprogram-bad-type.c b/tests/shaders/createshaderprogram-bad-type.c
index 5eace08..ab5ba2b 100644
--- a/tests/shaders/createshaderprogram-bad-type.c
+++ b/tests/shaders/createshaderprogram-bad-type.c
@@ -112,10 +112,7 @@ piglit_init(int argc, char **argv)
 		? 0 : GL_INVALID_ENUM;
 	GLboolean pass;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/fp-fragment-position.c b/tests/shaders/fp-fragment-position.c
index b72ac96..cc15b77 100644
--- a/tests/shaders/fp-fragment-position.c
+++ b/tests/shaders/fp-fragment-position.c
@@ -271,10 +271,7 @@ piglit_init(int argc, char **argv)
 	GLubyte rectangle[200][200][4];
 	GLubyte tex[256*256][4];
 
-	if (piglit_get_gl_version() < 13) {
-		printf("Requires OpenGL 1.3\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(13);
 
 	printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
 
diff --git a/tests/shaders/fp-kil.c b/tests/shaders/fp-kil.c
index cb25e5f..297c628 100644
--- a/tests/shaders/fp-kil.c
+++ b/tests/shaders/fp-kil.c
@@ -240,10 +240,7 @@ piglit_init(int argc, char **argv)
 	GLuint texname;
 	GLubyte tex[4][4][4];
 
-	if (piglit_get_gl_version() < 13) {
-		printf("Requires OpenGL 1.3\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(13);
 
 	printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
 
diff --git a/tests/shaders/glsl-arb-fragment-coord-conventions-define.c b/tests/shaders/glsl-arb-fragment-coord-conventions-define.c
index 42a9c04..4943ec5 100644
--- a/tests/shaders/glsl-arb-fragment-coord-conventions-define.c
+++ b/tests/shaders/glsl-arb-fragment-coord-conventions-define.c
@@ -63,10 +63,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_fragment_coord_conventions");
 
diff --git a/tests/shaders/glsl-bindattriblocation.c b/tests/shaders/glsl-bindattriblocation.c
index 62b0f13..cda840e 100644
--- a/tests/shaders/glsl-bindattriblocation.c
+++ b/tests/shaders/glsl-bindattriblocation.c
@@ -127,9 +127,5 @@ piglit_init(int argc, char **argv)
 {
 	piglit_require_vertex_shader();
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-		exit(1);
-	}
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-cos.c b/tests/shaders/glsl-cos.c
index 3390dce..8a9ea5d 100644
--- a/tests/shaders/glsl-cos.c
+++ b/tests/shaders/glsl-cos.c
@@ -111,9 +111,6 @@ enum piglit_result piglit_display(void)
 
 void piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-        printf("Requires OpenGL 2.0\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+	piglit_require_gl_version(20);
 }
 
diff --git a/tests/shaders/glsl-deriv-varyings.c b/tests/shaders/glsl-deriv-varyings.c
index 7a8c81f..c8f2bbf 100644
--- a/tests/shaders/glsl-deriv-varyings.c
+++ b/tests/shaders/glsl-deriv-varyings.c
@@ -89,10 +89,7 @@ static const char *fragShaderText2 =
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	compileLinkProg();
 
diff --git a/tests/shaders/glsl-derivs.c b/tests/shaders/glsl-derivs.c
index 76e926a..5e25d93 100644
--- a/tests/shaders/glsl-derivs.c
+++ b/tests/shaders/glsl-derivs.c
@@ -88,10 +88,7 @@ static const char *fragShaderText2 =
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-dlist-getattriblocation.c b/tests/shaders/glsl-dlist-getattriblocation.c
index 0490bfb..a56a1f9 100644
--- a/tests/shaders/glsl-dlist-getattriblocation.c
+++ b/tests/shaders/glsl-dlist-getattriblocation.c
@@ -96,11 +96,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-		exit(1);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 }
diff --git a/tests/shaders/glsl-empty-vs-no-fs.c b/tests/shaders/glsl-empty-vs-no-fs.c
index 4a6d19a..bfe2444 100644
--- a/tests/shaders/glsl-empty-vs-no-fs.c
+++ b/tests/shaders/glsl-empty-vs-no-fs.c
@@ -75,8 +75,5 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-explicit-location-01.c b/tests/shaders/glsl-explicit-location-01.c
index ce39e73..0b8b31b 100644
--- a/tests/shaders/glsl-explicit-location-01.c
+++ b/tests/shaders/glsl-explicit-location-01.c
@@ -50,10 +50,7 @@ void piglit_init(int argc, char **argv)
 	GLint prog;
 	GLboolean ok;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_explicit_attrib_location");
 
diff --git a/tests/shaders/glsl-explicit-location-02.c b/tests/shaders/glsl-explicit-location-02.c
index 28f3571..93084fa 100644
--- a/tests/shaders/glsl-explicit-location-02.c
+++ b/tests/shaders/glsl-explicit-location-02.c
@@ -53,10 +53,7 @@ void piglit_init(int argc, char **argv)
 	GLint loc;
 	GLboolean ok;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_explicit_attrib_location");
 
diff --git a/tests/shaders/glsl-explicit-location-03.c b/tests/shaders/glsl-explicit-location-03.c
index 18be4c6..7661ea4 100644
--- a/tests/shaders/glsl-explicit-location-03.c
+++ b/tests/shaders/glsl-explicit-location-03.c
@@ -50,10 +50,7 @@ void piglit_init(int argc, char **argv)
 	GLint prog;
 	GLboolean ok;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_explicit_attrib_location");
 
diff --git a/tests/shaders/glsl-explicit-location-04.c b/tests/shaders/glsl-explicit-location-04.c
index c570f26..a5c99ca 100644
--- a/tests/shaders/glsl-explicit-location-04.c
+++ b/tests/shaders/glsl-explicit-location-04.c
@@ -47,10 +47,7 @@ void piglit_init(int argc, char **argv)
 	GLint prog;
 	GLboolean ok;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_explicit_attrib_location");
 
diff --git a/tests/shaders/glsl-explicit-location-05.c b/tests/shaders/glsl-explicit-location-05.c
index 60ba27d..bf79900 100644
--- a/tests/shaders/glsl-explicit-location-05.c
+++ b/tests/shaders/glsl-explicit-location-05.c
@@ -52,10 +52,7 @@ void piglit_init(int argc, char **argv)
 	GLboolean ok;
 	GLint loc;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_explicit_attrib_location");
 
diff --git a/tests/shaders/glsl-fs-bug25902.c b/tests/shaders/glsl-fs-bug25902.c
index 743e615..a505249 100644
--- a/tests/shaders/glsl-fs-bug25902.c
+++ b/tests/shaders/glsl-fs-bug25902.c
@@ -74,10 +74,7 @@ piglit_init(int argc, char **argv)
 	float black[4] = {0.0, 0.0, 0.0, 0.0};
 	float white[4] = {1.0, 1.0, 1.0, 0.0};
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-exp2.c b/tests/shaders/glsl-fs-exp2.c
index 862ae90..4ecd870 100644
--- a/tests/shaders/glsl-fs-exp2.c
+++ b/tests/shaders/glsl-fs-exp2.c
@@ -68,10 +68,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-flat-color.c b/tests/shaders/glsl-fs-flat-color.c
index 1ad9285..fa5cbca 100644
--- a/tests/shaders/glsl-fs-flat-color.c
+++ b/tests/shaders/glsl-fs-flat-color.c
@@ -96,10 +96,7 @@ piglit_init(int argc, char **argv)
 {
 	GLuint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-color-mvp.vert");
diff --git a/tests/shaders/glsl-fs-fogcolor-statechange.c b/tests/shaders/glsl-fs-fogcolor-statechange.c
index d3374c2..4a8aa5b 100644
--- a/tests/shaders/glsl-fs-fogcolor-statechange.c
+++ b/tests/shaders/glsl-fs-fogcolor-statechange.c
@@ -72,10 +72,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = gl_Fog.color;\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-mvp.vert");
diff --git a/tests/shaders/glsl-fs-fragcoord-zw-ortho.c b/tests/shaders/glsl-fs-fragcoord-zw-ortho.c
index bdde679..5bd317e 100644
--- a/tests/shaders/glsl-fs-fragcoord-zw-ortho.c
+++ b/tests/shaders/glsl-fs-fragcoord-zw-ortho.c
@@ -115,10 +115,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs, prog;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-fragcoord-zw-perspective.c b/tests/shaders/glsl-fs-fragcoord-zw-perspective.c
index b00f23a..8d16693 100644
--- a/tests/shaders/glsl-fs-fragcoord-zw-perspective.c
+++ b/tests/shaders/glsl-fs-fragcoord-zw-perspective.c
@@ -137,10 +137,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs, prog;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	glMatrixMode(GL_PROJECTION);
 	glLoadIdentity();
diff --git a/tests/shaders/glsl-fs-fragcoord.c b/tests/shaders/glsl-fs-fragcoord.c
index 3e06d56..dbbfd13 100644
--- a/tests/shaders/glsl-fs-fragcoord.c
+++ b/tests/shaders/glsl-fs-fragcoord.c
@@ -74,10 +74,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-loop-nested.c b/tests/shaders/glsl-fs-loop-nested.c
index e6a70c4..bb3d9cc 100644
--- a/tests/shaders/glsl-fs-loop-nested.c
+++ b/tests/shaders/glsl-fs-loop-nested.c
@@ -106,10 +106,7 @@ piglit_init(int argc, char **argv)
 	 */
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-mvp.vert");
diff --git a/tests/shaders/glsl-fs-loop.c b/tests/shaders/glsl-fs-loop.c
index c86fa8a..559f235 100644
--- a/tests/shaders/glsl-fs-loop.c
+++ b/tests/shaders/glsl-fs-loop.c
@@ -104,10 +104,7 @@ piglit_init(int argc, char **argv)
 	 */
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-mvp.vert");
diff --git a/tests/shaders/glsl-fs-mix-constant.c b/tests/shaders/glsl-fs-mix-constant.c
index db10bbd..e98391c 100644
--- a/tests/shaders/glsl-fs-mix-constant.c
+++ b/tests/shaders/glsl-fs-mix-constant.c
@@ -63,10 +63,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-mix.c b/tests/shaders/glsl-fs-mix.c
index fb24b52..2374506 100644
--- a/tests/shaders/glsl-fs-mix.c
+++ b/tests/shaders/glsl-fs-mix.c
@@ -70,10 +70,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-pointcoord.c b/tests/shaders/glsl-fs-pointcoord.c
index 707475a..e096658 100644
--- a/tests/shaders/glsl-fs-pointcoord.c
+++ b/tests/shaders/glsl-fs-pointcoord.c
@@ -86,11 +86,7 @@ void piglit_init(int argc, char**argv)
 	GLint vs, fs;
 	GLint point_size_limits[2];
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-		exit(1);
-	}
+	piglit_require_gl_version(20);
 	piglit_require_extension("GL_ARB_point_sprite");
 
 	glGetIntegerv(GL_ALIASED_POINT_SIZE_RANGE, point_size_limits);
diff --git a/tests/shaders/glsl-fs-raytrace-bug27060.c b/tests/shaders/glsl-fs-raytrace-bug27060.c
index ad7d801..966a476 100644
--- a/tests/shaders/glsl-fs-raytrace-bug27060.c
+++ b/tests/shaders/glsl-fs-raytrace-bug27060.c
@@ -282,10 +282,7 @@ piglit_init(int argc, char **argv)
 
   glDisable(GL_DEPTH_TEST);
 
-  if (piglit_get_gl_version() < 20) {
-    printf("Requires OpenGL 2.0\n");
-    piglit_report_result(PIGLIT_SKIP);
-  }
+  piglit_require_gl_version(20);
 
   glViewport(0, 0, piglit_width, piglit_height);
   glMatrixMode(GL_PROJECTION);
diff --git a/tests/shaders/glsl-fs-sampler-numbering.c b/tests/shaders/glsl-fs-sampler-numbering.c
index 6eedf00..56648a3 100644
--- a/tests/shaders/glsl-fs-sampler-numbering.c
+++ b/tests/shaders/glsl-fs-sampler-numbering.c
@@ -74,10 +74,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-tex-mvp.vert");
diff --git a/tests/shaders/glsl-fs-shader-stencil-export.c b/tests/shaders/glsl-fs-shader-stencil-export.c
index 7d2a66c..d27ba59 100644
--- a/tests/shaders/glsl-fs-shader-stencil-export.c
+++ b/tests/shaders/glsl-fs-shader-stencil-export.c
@@ -67,10 +67,7 @@ piglit_init(int argc, char **argv)
 	GLint vs, fs;
 
 	piglit_require_extension("GL_ARB_shader_stencil_export");
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
diff --git a/tests/shaders/glsl-fs-sqrt-branch.c b/tests/shaders/glsl-fs-sqrt-branch.c
index 67ed2aa..4834383 100644
--- a/tests/shaders/glsl-fs-sqrt-branch.c
+++ b/tests/shaders/glsl-fs-sqrt-branch.c
@@ -68,10 +68,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-fs-texture2drect.c b/tests/shaders/glsl-fs-texture2drect.c
index 94f571a..764d00a 100644
--- a/tests/shaders/glsl-fs-texture2drect.c
+++ b/tests/shaders/glsl-fs-texture2drect.c
@@ -140,10 +140,7 @@ void piglit_init(int argc, char **argv)
 			proj4 = GL_TRUE;
 	}
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 	piglit_require_extension("GL_ARB_texture_rectangle");
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
diff --git a/tests/shaders/glsl-fs-texturecube-2.c b/tests/shaders/glsl-fs-texturecube-2.c
index 3b84f5c..38fa6f8 100644
--- a/tests/shaders/glsl-fs-texturecube-2.c
+++ b/tests/shaders/glsl-fs-texturecube-2.c
@@ -204,10 +204,7 @@ void piglit_init(int argc, char **argv)
 			bias = GL_TRUE;
 	}
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 	piglit_require_extension("GL_ARB_texture_cube_map");
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
diff --git a/tests/shaders/glsl-fs-texturecube.c b/tests/shaders/glsl-fs-texturecube.c
index cf0b7be..5f54eab 100644
--- a/tests/shaders/glsl-fs-texturecube.c
+++ b/tests/shaders/glsl-fs-texturecube.c
@@ -167,10 +167,7 @@ void piglit_init(int argc, char **argv)
 			bias = GL_TRUE;
 	}
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 	piglit_require_extension("GL_ARB_texture_cube_map");
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
diff --git a/tests/shaders/glsl-fs-textureenvcolor-statechange.c b/tests/shaders/glsl-fs-textureenvcolor-statechange.c
index 681d8ef..5b06952 100644
--- a/tests/shaders/glsl-fs-textureenvcolor-statechange.c
+++ b/tests/shaders/glsl-fs-textureenvcolor-statechange.c
@@ -72,10 +72,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = gl_TextureEnvColor[0];\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-mvp.vert");
diff --git a/tests/shaders/glsl-fs-user-varying-ff.c b/tests/shaders/glsl-fs-user-varying-ff.c
index bdb4419..771d0fe 100644
--- a/tests/shaders/glsl-fs-user-varying-ff.c
+++ b/tests/shaders/glsl-fs-user-varying-ff.c
@@ -73,10 +73,7 @@ piglit_init(int argc, char **argv)
 {
 	GLuint fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	glClearColor(0.3, 0.3, 0.3, 0.0);
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
diff --git a/tests/shaders/glsl-fwidth.c b/tests/shaders/glsl-fwidth.c
index ca36512..26358fd 100644
--- a/tests/shaders/glsl-fwidth.c
+++ b/tests/shaders/glsl-fwidth.c
@@ -86,10 +86,7 @@ static const char *fragShaderText2 =
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	compileLinkProg();
 
diff --git a/tests/shaders/glsl-getactiveuniform-array-size.c b/tests/shaders/glsl-getactiveuniform-array-size.c
index ddca59f..a3cfa96 100644
--- a/tests/shaders/glsl-getactiveuniform-array-size.c
+++ b/tests/shaders/glsl-getactiveuniform-array-size.c
@@ -55,10 +55,7 @@ piglit_init(int argc, char **argv)
 	GLsizei size;
 	GLenum type;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-getactiveuniform-array-size.vert");
diff --git a/tests/shaders/glsl-getactiveuniform-length.c b/tests/shaders/glsl-getactiveuniform-length.c
index 1217c89..623a59c 100644
--- a/tests/shaders/glsl-getactiveuniform-length.c
+++ b/tests/shaders/glsl-getactiveuniform-length.c
@@ -56,10 +56,7 @@ piglit_init(int argc, char **argv)
 	char *name;
 	GLsizei size;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-getactiveuniform-length.vert");
diff --git a/tests/shaders/glsl-getattriblocation.c b/tests/shaders/glsl-getattriblocation.c
index 4860cf1..a444384 100644
--- a/tests/shaders/glsl-getattriblocation.c
+++ b/tests/shaders/glsl-getattriblocation.c
@@ -115,9 +115,5 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-		exit(1);
-	}
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-invalid-asm-01.c b/tests/shaders/glsl-invalid-asm-01.c
index b658c6b..3cf38d7 100644
--- a/tests/shaders/glsl-invalid-asm-01.c
+++ b/tests/shaders/glsl-invalid-asm-01.c
@@ -78,10 +78,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLenum err;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_fragment_program");
 
diff --git a/tests/shaders/glsl-invalid-asm-02.c b/tests/shaders/glsl-invalid-asm-02.c
index 313347d..5cd3b15 100644
--- a/tests/shaders/glsl-invalid-asm-02.c
+++ b/tests/shaders/glsl-invalid-asm-02.c
@@ -77,10 +77,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLenum err;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_vertex_program");
 
diff --git a/tests/shaders/glsl-kwin-blur-1.c b/tests/shaders/glsl-kwin-blur-1.c
index 36b92cf..1ab4dc6 100644
--- a/tests/shaders/glsl-kwin-blur-1.c
+++ b/tests/shaders/glsl-kwin-blur-1.c
@@ -229,8 +229,5 @@ enum piglit_result piglit_display(void)
 
 void piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-        printf("Requires OpenGL 2.0\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-kwin-blur-2.c b/tests/shaders/glsl-kwin-blur-2.c
index 042d7a9..adb92c8 100644
--- a/tests/shaders/glsl-kwin-blur-2.c
+++ b/tests/shaders/glsl-kwin-blur-2.c
@@ -260,10 +260,7 @@ void piglit_init(int argc, char **argv)
 {
     int value;
 
-    if (piglit_get_gl_version() < 20) {
-        printf("Requires OpenGL 2.0\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(20);
 
     glGetIntegerv(GL_MAX_VARYING_FLOATS, &value);
     if (value < (13 * 4)) {
diff --git a/tests/shaders/glsl-light-model.c b/tests/shaders/glsl-light-model.c
index 8264783..35ff19f 100644
--- a/tests/shaders/glsl-light-model.c
+++ b/tests/shaders/glsl-light-model.c
@@ -68,10 +68,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_code);
 	fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs_code);
diff --git a/tests/shaders/glsl-link-bug30552.c b/tests/shaders/glsl-link-bug30552.c
index 1997d93..3d84841 100644
--- a/tests/shaders/glsl-link-bug30552.c
+++ b/tests/shaders/glsl-link-bug30552.c
@@ -46,10 +46,7 @@ void piglit_init(int argc, char **argv)
 	GLint prog;
 	GLboolean ok;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vert =
 		piglit_compile_shader(GL_VERTEX_SHADER,
diff --git a/tests/shaders/glsl-link-bug38015.c b/tests/shaders/glsl-link-bug38015.c
index d35c2a0..663eb85 100644
--- a/tests/shaders/glsl-link-bug38015.c
+++ b/tests/shaders/glsl-link-bug38015.c
@@ -58,10 +58,7 @@ void piglit_init(int argc, char **argv)
 	GLint prog;
 	const char *fs_text_ptr = fs_text;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	/* Intentionally omit check for GL_ARB_shader_texture_lod. */
 
diff --git a/tests/shaders/glsl-link-empty-prog-01.c b/tests/shaders/glsl-link-empty-prog-01.c
index 890fe8e..70707f3 100644
--- a/tests/shaders/glsl-link-empty-prog-01.c
+++ b/tests/shaders/glsl-link-empty-prog-01.c
@@ -46,8 +46,5 @@ enum piglit_result piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-	printf("Requires OpenGL 2.0\n");
-	piglit_report_result(PIGLIT_SKIP);
-    }
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-link-empty-prog-02.c b/tests/shaders/glsl-link-empty-prog-02.c
index 0f7545c..579c1ff 100644
--- a/tests/shaders/glsl-link-empty-prog-02.c
+++ b/tests/shaders/glsl-link-empty-prog-02.c
@@ -91,10 +91,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	prog = glCreateProgram();
 
diff --git a/tests/shaders/glsl-link-initializer-03.c b/tests/shaders/glsl-link-initializer-03.c
index 345d6c4..776a012 100644
--- a/tests/shaders/glsl-link-initializer-03.c
+++ b/tests/shaders/glsl-link-initializer-03.c
@@ -55,10 +55,7 @@ void piglit_init(int argc, char **argv)
 	GLint prog_c;
 	GLint prog_d;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vert[0] =
 		piglit_compile_shader(GL_VERTEX_SHADER,
diff --git a/tests/shaders/glsl-link-test.c b/tests/shaders/glsl-link-test.c
index f0f9e55..56fd636 100644
--- a/tests/shaders/glsl-link-test.c
+++ b/tests/shaders/glsl-link-test.c
@@ -49,10 +49,7 @@ void piglit_init(int argc, char **argv)
 	unsigned i;
 	const char *invalid_file = NULL;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_GLSL();
 	program = piglit_CreateProgram();
diff --git a/tests/shaders/glsl-lod-bias.c b/tests/shaders/glsl-lod-bias.c
index 28ff208..ff99099 100644
--- a/tests/shaders/glsl-lod-bias.c
+++ b/tests/shaders/glsl-lod-bias.c
@@ -80,10 +80,7 @@ static const float pink[4]        = {1.0, 0.0, 1.0, 0.0}; /* Note: 0.0 alpha */
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	loadTex();
 	compileLinkProg();
diff --git a/tests/shaders/glsl-mat-attribute.c b/tests/shaders/glsl-mat-attribute.c
index 6d306e3..f4b5181 100644
--- a/tests/shaders/glsl-mat-attribute.c
+++ b/tests/shaders/glsl-mat-attribute.c
@@ -200,10 +200,7 @@ void piglit_init(int argc, char **argv)
 
 	unsigned i;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-max-varyings.c b/tests/shaders/glsl-max-varyings.c
index a0ad433..dead8e3 100644
--- a/tests/shaders/glsl-max-varyings.c
+++ b/tests/shaders/glsl-max-varyings.c
@@ -261,10 +261,7 @@ piglit_display(void)
 
 void piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	printf("Vertical axis: Increasing numbers of varyings.\n");
 	printf("Horizontal axis: Which of the varyings contains the color.\n");
diff --git a/tests/shaders/glsl-max-vertex-attrib.c b/tests/shaders/glsl-max-vertex-attrib.c
index 19b4b58..f0b1873 100644
--- a/tests/shaders/glsl-max-vertex-attrib.c
+++ b/tests/shaders/glsl-max-vertex-attrib.c
@@ -152,9 +152,5 @@ enum piglit_result piglit_display(void)
 
 void piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-		exit(1);
-	}
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-novertexdata.c b/tests/shaders/glsl-novertexdata.c
index a77b477..66253fe 100644
--- a/tests/shaders/glsl-novertexdata.c
+++ b/tests/shaders/glsl-novertexdata.c
@@ -103,9 +103,5 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-		exit(1);
-	}
+	piglit_require_gl_version(20);
 }
diff --git a/tests/shaders/glsl-orangebook-ch06-bump.c b/tests/shaders/glsl-orangebook-ch06-bump.c
index 8a86401..56e7bcf 100644
--- a/tests/shaders/glsl-orangebook-ch06-bump.c
+++ b/tests/shaders/glsl-orangebook-ch06-bump.c
@@ -103,10 +103,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-orangebook-ch06-bump.vert");
diff --git a/tests/shaders/glsl-preprocessor-comments.c b/tests/shaders/glsl-preprocessor-comments.c
index cfac79a..82333a2 100644
--- a/tests/shaders/glsl-preprocessor-comments.c
+++ b/tests/shaders/glsl-preprocessor-comments.c
@@ -68,10 +68,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-routing.c b/tests/shaders/glsl-routing.c
index 8f3092f..acabde2 100644
--- a/tests/shaders/glsl-routing.c
+++ b/tests/shaders/glsl-routing.c
@@ -320,9 +320,6 @@ void piglit_init(int argc, char **argv)
 {
     piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-    if (piglit_get_gl_version() < 20) {
-        printf("Requires OpenGL 2.0\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(20);
 }
 
diff --git a/tests/shaders/glsl-sin.c b/tests/shaders/glsl-sin.c
index 24f71cb..2f40f96 100644
--- a/tests/shaders/glsl-sin.c
+++ b/tests/shaders/glsl-sin.c
@@ -111,9 +111,6 @@ enum piglit_result piglit_display(void)
 
 void piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-        printf("Requires OpenGL 2.0\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+	piglit_require_gl_version(20);
 }
 
diff --git a/tests/shaders/glsl-uniform-update.c b/tests/shaders/glsl-uniform-update.c
index b396b0f..12439f4 100644
--- a/tests/shaders/glsl-uniform-update.c
+++ b/tests/shaders/glsl-uniform-update.c
@@ -75,10 +75,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-unused-varying.c b/tests/shaders/glsl-unused-varying.c
index 73ac12a..07474c3 100644
--- a/tests/shaders/glsl-unused-varying.c
+++ b/tests/shaders/glsl-unused-varying.c
@@ -77,10 +77,7 @@ void piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-useprogram-displaylist.c b/tests/shaders/glsl-useprogram-displaylist.c
index f535bc5..1cc2d1f 100644
--- a/tests/shaders/glsl-useprogram-displaylist.c
+++ b/tests/shaders/glsl-useprogram-displaylist.c
@@ -56,10 +56,7 @@ piglit_init(int argc, char **argv)
 	GLint fsg;
 	GLint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	glClearColor(0.2, 0.2, 0.2, 1.0);
 
diff --git a/tests/shaders/glsl-vs-arrays.c b/tests/shaders/glsl-vs-arrays.c
index 6241d94..17f9a01 100644
--- a/tests/shaders/glsl-vs-arrays.c
+++ b/tests/shaders/glsl-vs-arrays.c
@@ -64,10 +64,7 @@ void piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-vs-functions.c b/tests/shaders/glsl-vs-functions.c
index f87ea36..16a0a47 100644
--- a/tests/shaders/glsl-vs-functions.c
+++ b/tests/shaders/glsl-vs-functions.c
@@ -66,10 +66,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-vs-if-bool.c b/tests/shaders/glsl-vs-if-bool.c
index ee2298d..05d4e87 100644
--- a/tests/shaders/glsl-vs-if-bool.c
+++ b/tests/shaders/glsl-vs-if-bool.c
@@ -67,10 +67,7 @@ void piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-vs-loop-nested.c b/tests/shaders/glsl-vs-loop-nested.c
index 83aad6c..ec2b043 100644
--- a/tests/shaders/glsl-vs-loop-nested.c
+++ b/tests/shaders/glsl-vs-loop-nested.c
@@ -105,10 +105,7 @@ piglit_init(int argc, char **argv)
 	 */
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-vs-loop-nested.vert");
diff --git a/tests/shaders/glsl-vs-loop.c b/tests/shaders/glsl-vs-loop.c
index 2338104..b1f6bf7 100644
--- a/tests/shaders/glsl-vs-loop.c
+++ b/tests/shaders/glsl-vs-loop.c
@@ -104,10 +104,7 @@ piglit_init(int argc, char **argv)
 	 */
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-vs-loop.vert");
diff --git a/tests/shaders/glsl-vs-mov-after-deref.c b/tests/shaders/glsl-vs-mov-after-deref.c
index 6298eef..98c0f94 100644
--- a/tests/shaders/glsl-vs-mov-after-deref.c
+++ b/tests/shaders/glsl-vs-mov-after-deref.c
@@ -64,10 +64,7 @@ void piglit_init(int argc, char **argv)
 {
 	GLint vs, fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-vs-mvp-statechange.c b/tests/shaders/glsl-vs-mvp-statechange.c
index 9a852d8..a8f1834 100644
--- a/tests/shaders/glsl-vs-mvp-statechange.c
+++ b/tests/shaders/glsl-vs-mvp-statechange.c
@@ -74,10 +74,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = vec4(0.0, 1.0, 0.0, 0.0);\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
diff --git a/tests/shaders/glsl-vs-normalscale.c b/tests/shaders/glsl-vs-normalscale.c
index add579a..64c00c0 100644
--- a/tests/shaders/glsl-vs-normalscale.c
+++ b/tests/shaders/glsl-vs-normalscale.c
@@ -69,10 +69,7 @@ void piglit_init(int argc, char **argv)
 	GLint vs, fs;
 	int loc;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-vs-normalscale.vert");
diff --git a/tests/shaders/glsl-vs-point-size.c b/tests/shaders/glsl-vs-point-size.c
index 3ec341c..7a1c308 100644
--- a/tests/shaders/glsl-vs-point-size.c
+++ b/tests/shaders/glsl-vs-point-size.c
@@ -87,10 +87,7 @@ piglit_init(int argc, char **argv)
 	GLint vs;
 	GLint point_size_range[2];
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 	/* If the driver doesn't claim to support the point size the
 	   shader is going to set then we should skip the test */
 	glGetIntegerv(GL_ALIASED_POINT_SIZE_RANGE, point_size_range);
diff --git a/tests/shaders/glsl-vs-raytrace-bug26691.c b/tests/shaders/glsl-vs-raytrace-bug26691.c
index 38aeb38..9ed4e45 100644
--- a/tests/shaders/glsl-vs-raytrace-bug26691.c
+++ b/tests/shaders/glsl-vs-raytrace-bug26691.c
@@ -274,10 +274,7 @@ piglit_init(int argc, char **argv)
 
   glDisable(GL_DEPTH_TEST);
 
-  if (piglit_get_gl_version() < 20) {
-    printf("Requires OpenGL 2.0\n");
-    piglit_report_result(PIGLIT_SKIP);
-  }
+  piglit_require_gl_version(20);
 
   glViewport(0, 0, piglit_width, piglit_height);
   glMatrixMode(GL_PROJECTION);
diff --git a/tests/shaders/glsl-vs-statechange-1.c b/tests/shaders/glsl-vs-statechange-1.c
index d84a17f..3e2a536 100644
--- a/tests/shaders/glsl-vs-statechange-1.c
+++ b/tests/shaders/glsl-vs-statechange-1.c
@@ -79,10 +79,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
 
diff --git a/tests/shaders/glsl-vs-texturematrix-1.c b/tests/shaders/glsl-vs-texturematrix-1.c
index 37c3d7f..013f556 100644
--- a/tests/shaders/glsl-vs-texturematrix-1.c
+++ b/tests/shaders/glsl-vs-texturematrix-1.c
@@ -84,10 +84,7 @@ void piglit_init(int argc, char **argv)
 	GLint vs, fs;
 	int loc;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-vs-texturematrix-1.vert");
diff --git a/tests/shaders/glsl-vs-texturematrix-2.c b/tests/shaders/glsl-vs-texturematrix-2.c
index b6190e0..806d01e 100644
--- a/tests/shaders/glsl-vs-texturematrix-2.c
+++ b/tests/shaders/glsl-vs-texturematrix-2.c
@@ -86,10 +86,7 @@ void piglit_init(int argc, char **argv)
 	GLint vs, fs;
 	int loc;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader(GL_VERTEX_SHADER,
 				   "shaders/glsl-vs-texturematrix-2.vert");
diff --git a/tests/shaders/glsl-vs-user-varying-ff.c b/tests/shaders/glsl-vs-user-varying-ff.c
index 14a5424..e273989 100644
--- a/tests/shaders/glsl-vs-user-varying-ff.c
+++ b/tests/shaders/glsl-vs-user-varying-ff.c
@@ -71,10 +71,7 @@ piglit_init(int argc, char **argv)
 {
 	GLuint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	glClearColor(0.3, 0.3, 0.3, 0.0);
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
diff --git a/tests/shaders/link-mismatch-layout-01.c b/tests/shaders/link-mismatch-layout-01.c
index 9fff30f..d779978 100644
--- a/tests/shaders/link-mismatch-layout-01.c
+++ b/tests/shaders/link-mismatch-layout-01.c
@@ -68,10 +68,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLuint fs[2];
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_fragment_coord_conventions");
 
diff --git a/tests/shaders/link-mismatch-layout-02.c b/tests/shaders/link-mismatch-layout-02.c
index 8e164e1..254acb1 100644
--- a/tests/shaders/link-mismatch-layout-02.c
+++ b/tests/shaders/link-mismatch-layout-02.c
@@ -68,10 +68,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLuint fs[2];
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_AMD_conservative_depth");
 
diff --git a/tests/shaders/link-mismatch-layout-03.c b/tests/shaders/link-mismatch-layout-03.c
index 0cf215b..e5b7dba 100644
--- a/tests/shaders/link-mismatch-layout-03.c
+++ b/tests/shaders/link-mismatch-layout-03.c
@@ -66,10 +66,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLuint fs[2];
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_fragment_coord_conventions");
 
diff --git a/tests/shaders/link-unresolved-function.c b/tests/shaders/link-unresolved-function.c
index f6134e9..1e7d0d4 100644
--- a/tests/shaders/link-unresolved-function.c
+++ b/tests/shaders/link-unresolved-function.c
@@ -51,10 +51,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLuint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, bad_vs_text);
 	prog = glCreateProgram();
diff --git a/tests/shaders/sso-simple.c b/tests/shaders/sso-simple.c
index 51a1730..5bf3e8f 100644
--- a/tests/shaders/sso-simple.c
+++ b/tests/shaders/sso-simple.c
@@ -108,10 +108,7 @@ piglit_init(int argc, char **argv)
 	GLuint vs;
 	GLuint fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/sso-uniforms-01.c b/tests/shaders/sso-uniforms-01.c
index ee753e9..73c408c 100644
--- a/tests/shaders/sso-uniforms-01.c
+++ b/tests/shaders/sso-uniforms-01.c
@@ -81,10 +81,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint loc;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/sso-uniforms-02.c b/tests/shaders/sso-uniforms-02.c
index 92ce096..fd49b45 100644
--- a/tests/shaders/sso-uniforms-02.c
+++ b/tests/shaders/sso-uniforms-02.c
@@ -80,10 +80,7 @@ piglit_init(int argc, char **argv)
 {
 	GLint loc;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/sso-user-varying-01.c b/tests/shaders/sso-user-varying-01.c
index 2cd1695..b561aab 100644
--- a/tests/shaders/sso-user-varying-01.c
+++ b/tests/shaders/sso-user-varying-01.c
@@ -86,10 +86,7 @@ piglit_init(int argc, char **argv)
 	GLuint vs;
 	GLuint fs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/sso-user-varying-02.c b/tests/shaders/sso-user-varying-02.c
index dacd14a..28ec54f 100644
--- a/tests/shaders/sso-user-varying-02.c
+++ b/tests/shaders/sso-user-varying-02.c
@@ -84,10 +84,7 @@ piglit_init(int argc, char **argv)
 {
 	GLboolean try_to_render;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/trinity-fp1.c b/tests/shaders/trinity-fp1.c
index 52fb4bb..46bee55 100644
--- a/tests/shaders/trinity-fp1.c
+++ b/tests/shaders/trinity-fp1.c
@@ -229,10 +229,7 @@ piglit_init(int argc, char **argv)
 
 		"END";
 
-	if (piglit_get_gl_version() < 13) {
-		printf("Requires OpenGL 1.3\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(13);
 
 	printf("GL_RENDERER = %s\n", (char *) glGetString(GL_RENDERER));
 
diff --git a/tests/shaders/useprogram-flushverts-1.c b/tests/shaders/useprogram-flushverts-1.c
index 16b7941..8f40896 100644
--- a/tests/shaders/useprogram-flushverts-1.c
+++ b/tests/shaders/useprogram-flushverts-1.c
@@ -113,10 +113,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = vec4(0.0, 0.0, 1.0, 0.0);\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
 	fs1 = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs1_source);
diff --git a/tests/shaders/useprogram-flushverts-2.c b/tests/shaders/useprogram-flushverts-2.c
index ef88efe..fd859e9 100644
--- a/tests/shaders/useprogram-flushverts-2.c
+++ b/tests/shaders/useprogram-flushverts-2.c
@@ -119,10 +119,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = vec4(0.0, 0.0, 1.0, 0.0);\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
 	fs1 = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs1_source);
diff --git a/tests/shaders/useprogram-inside-begin.c b/tests/shaders/useprogram-inside-begin.c
index 21d309d..ae8b6d0 100644
--- a/tests/shaders/useprogram-inside-begin.c
+++ b/tests/shaders/useprogram-inside-begin.c
@@ -55,10 +55,7 @@ piglit_init(int argc, char **argv)
 	GLint vs;
 	GLenum err;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_text);
 	fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs_text);
diff --git a/tests/shaders/useprogram-refcount-1.c b/tests/shaders/useprogram-refcount-1.c
index d2f3e98..4ff7db9 100644
--- a/tests/shaders/useprogram-refcount-1.c
+++ b/tests/shaders/useprogram-refcount-1.c
@@ -82,10 +82,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = vec4(0.0, 1.0, 0.0, 0.0);\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
 	fs = piglit_compile_shader_text(GL_FRAGMENT_SHADER, fs_source);
diff --git a/tests/shaders/useshaderprogram-bad-program.c b/tests/shaders/useshaderprogram-bad-program.c
index 294357b..9a90e38 100644
--- a/tests/shaders/useshaderprogram-bad-program.c
+++ b/tests/shaders/useshaderprogram-bad-program.c
@@ -56,10 +56,7 @@ piglit_init(int argc, char **argv)
 	GLuint prog;
 	GLuint vs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/useshaderprogram-bad-type.c b/tests/shaders/useshaderprogram-bad-type.c
index 226b7a2..9690303 100644
--- a/tests/shaders/useshaderprogram-bad-type.c
+++ b/tests/shaders/useshaderprogram-bad-type.c
@@ -81,10 +81,7 @@ piglit_init(int argc, char **argv)
 		? 0 : GL_INVALID_ENUM;
 	GLboolean pass;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
diff --git a/tests/shaders/useshaderprogram-flushverts-1.c b/tests/shaders/useshaderprogram-flushverts-1.c
index 61532ef..e72a150 100644
--- a/tests/shaders/useshaderprogram-flushverts-1.c
+++ b/tests/shaders/useshaderprogram-flushverts-1.c
@@ -115,10 +115,7 @@ piglit_init(int argc, char **argv)
 		"	gl_FragColor = vec4(0.0, 0.0, 1.0, 0.0);\n"
 		"}\n";
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 	piglit_require_extension("GL_EXT_separate_shader_objects");
 
 	vs = piglit_compile_shader_text(GL_VERTEX_SHADER, vs_source);
diff --git a/tests/shaders/vp-ignore-input.c b/tests/shaders/vp-ignore-input.c
index 823308b..4d90ec9 100644
--- a/tests/shaders/vp-ignore-input.c
+++ b/tests/shaders/vp-ignore-input.c
@@ -73,10 +73,7 @@ piglit_init(int argc, char **argv)
 
 	glClearColor(0.2, 0.2, 0.2, 1.0);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	compileLinkProg();
 }
diff --git a/tests/spec/arb_copy_buffer/copy_buffer_coherency.c b/tests/spec/arb_copy_buffer/copy_buffer_coherency.c
index f3dd62d..76564f8 100644
--- a/tests/spec/arb_copy_buffer/copy_buffer_coherency.c
+++ b/tests/spec/arb_copy_buffer/copy_buffer_coherency.c
@@ -71,10 +71,7 @@ do_copy()
 void
 piglit_init(int argc, char *argv[])
 {
-	if (piglit_get_gl_version() < 15) {
-		printf("Requires OpenGL 1.5\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(15);
 
 	piglit_require_extension("GL_ARB_vertex_buffer_object");
 	piglit_require_extension("GL_ARB_copy_buffer");
diff --git a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-fixed-type.c b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-fixed-type.c
index e281108..bb69605 100644
--- a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-fixed-type.c
+++ b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-fixed-type.c
@@ -83,10 +83,7 @@ piglit_init(int argc, char **argv)
 	GLuint vs, prog;
 	int i,j;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_ES2_compatibility");
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
diff --git a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-getshaderprecisionformat.c b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-getshaderprecisionformat.c
index 5767867..5d8f95d 100644
--- a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-getshaderprecisionformat.c
+++ b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-getshaderprecisionformat.c
@@ -71,10 +71,7 @@ piglit_init(int argc, char **argv)
 		{ GL_HIGH_INT,     { 16, 16 },  0 }
 	};
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	if (!piglit_is_extension_supported("GL_ARB_ES2_compatibility")) {
 		printf("Requires ARB_ES2_compatibility\n");
diff --git a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-maxvectors.c b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-maxvectors.c
index 7c32046..139c915 100644
--- a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-maxvectors.c
+++ b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-maxvectors.c
@@ -46,10 +46,7 @@ piglit_init(int argc, char **argv)
 	GLboolean pass = GL_TRUE;
 	GLint floats, vecs;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	if (!piglit_is_extension_supported("GL_ARB_ES2_compatibility")) {
 		printf("Requires ARB_ES2_compatibility\n");
diff --git a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-releaseshadercompiler.c b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-releaseshadercompiler.c
index 69fb691..e8c5bd0 100644
--- a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-releaseshadercompiler.c
+++ b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-releaseshadercompiler.c
@@ -123,10 +123,7 @@ piglit_init(int argc, char **argv)
 		+0.0, -1.0, 0.0, 1.0,
 	};
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	if (!piglit_is_extension_supported("GL_ARB_ES2_compatibility")) {
 		printf("Requires ARB_ES2_compatibility\n");
diff --git a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-shadercompiler.c b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-shadercompiler.c
index b9fb989..f0e1dc2 100644
--- a/tests/spec/arb_es2_compatibility/arb_es2_compatibility-shadercompiler.c
+++ b/tests/spec/arb_es2_compatibility/arb_es2_compatibility-shadercompiler.c
@@ -46,10 +46,7 @@ piglit_init(int argc, char **argv)
 #ifdef GL_ARB_ES2_compatibility
 	GLint shadercompiler;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	if (!piglit_is_extension_supported("GL_ARB_ES2_compatibility")) {
 		printf("Requires ARB_ES2_compatibility\n");
diff --git a/tests/spec/arb_map_buffer_range/map_buffer_range_error_check.c b/tests/spec/arb_map_buffer_range/map_buffer_range_error_check.c
index 1e6f69b..f09c4a4 100644
--- a/tests/spec/arb_map_buffer_range/map_buffer_range_error_check.c
+++ b/tests/spec/arb_map_buffer_range/map_buffer_range_error_check.c
@@ -47,10 +47,7 @@ piglit_init(int argc, char *argv[])
 	GLbitfield access = GL_MAP_READ_BIT | GL_MAP_WRITE_BIT;
 	GLuint buffer;
 
-	if (piglit_get_gl_version() < 15) {
-		printf("Requires OpenGL 1.5\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(15);
 
 	piglit_require_extension("GL_ARB_map_buffer_range");
 
diff --git a/tests/spec/arb_map_buffer_range/map_buffer_range_test.c b/tests/spec/arb_map_buffer_range/map_buffer_range_test.c
index b8a89b0..d23f556 100644
--- a/tests/spec/arb_map_buffer_range/map_buffer_range_test.c
+++ b/tests/spec/arb_map_buffer_range/map_buffer_range_test.c
@@ -64,10 +64,7 @@ piglit_init(int argc, char *argv[])
 	int i;
 	bool ret;
 
-	if (piglit_get_gl_version() < 15) {
-		printf("Requires OpenGL 1.5\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(15);
 
 	piglit_require_extension("GL_ARB_map_buffer_range");
 
diff --git a/tests/spec/arb_robustness/draw-vbo-bounds.c b/tests/spec/arb_robustness/draw-vbo-bounds.c
index 8256f4e..cd5e22f 100644
--- a/tests/spec/arb_robustness/draw-vbo-bounds.c
+++ b/tests/spec/arb_robustness/draw-vbo-bounds.c
@@ -56,10 +56,7 @@ void piglit_init(int argc, char **argv)
 {
     piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-    if (piglit_get_gl_version() < 15) {
-        printf("Requires OpenGL 1.5\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(15);
 
     glShadeModel(GL_FLAT);
     glClearColor(0.2, 0.2, 0.2, 1.0);
diff --git a/tests/spec/arb_timer_query/timestamp-get.c b/tests/spec/arb_timer_query/timestamp-get.c
index 39f1679..398f64a 100644
--- a/tests/spec/arb_timer_query/timestamp-get.c
+++ b/tests/spec/arb_timer_query/timestamp-get.c
@@ -134,10 +134,7 @@ piglit_init(int argc, char **argv)
 {
 	piglit_automatic = true;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_ARB_timer_query");
 }
diff --git a/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c b/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c
index 6c4f116..0323699 100644
--- a/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c
+++ b/tests/spec/arb_vertex_type_2_10_10_10_rev/draw-vertices-2101010.c
@@ -53,10 +53,7 @@ void piglit_init(int argc, char **argv)
 {
     piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-    if (piglit_get_gl_version() < 15) {
-        printf("Requires OpenGL 1.5\n");
-        piglit_report_result(PIGLIT_SKIP);
-    }
+    piglit_require_gl_version(15);
 
     piglit_require_extension("GL_ARB_vertex_type_2_10_10_10_rev");
     glShadeModel(GL_FLAT);
diff --git a/tests/spec/ext_timer_query/time-elapsed.c b/tests/spec/ext_timer_query/time-elapsed.c
index ce27ce0..c473fe5 100644
--- a/tests/spec/ext_timer_query/time-elapsed.c
+++ b/tests/spec/ext_timer_query/time-elapsed.c
@@ -265,10 +265,7 @@ retry:
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_EXT_timer_query");
 
diff --git a/tests/spec/gl-2.0/vertex-program-two-side.c b/tests/spec/gl-2.0/vertex-program-two-side.c
index 5014751..82b96a0 100644
--- a/tests/spec/gl-2.0/vertex-program-two-side.c
+++ b/tests/spec/gl-2.0/vertex-program-two-side.c
@@ -152,10 +152,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_require_GLSL();
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	printf("Window quadrants show:\n");
 	printf("+-------------------------+------------------------+\n");
diff --git a/tests/spec/gl-3.0/required-renderbuffer-attachment-formats.c b/tests/spec/gl-3.0/required-renderbuffer-attachment-formats.c
index 4c87a37..d689659 100644
--- a/tests/spec/gl-3.0/required-renderbuffer-attachment-formats.c
+++ b/tests/spec/gl-3.0/required-renderbuffer-attachment-formats.c
@@ -51,10 +51,7 @@ piglit_init(int argc, char **argv)
 	GLuint rb, fbo;
 	int i;
 
-	if (piglit_get_gl_version() < 30) {
-		printf("Requires GL 3.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(30);
 
 	glGenRenderbuffers(1, &rb);
 	glBindRenderbuffer(GL_RENDERBUFFER, rb);
diff --git a/tests/spec/gl-3.0/required-sized-texture-formats.c b/tests/spec/gl-3.0/required-sized-texture-formats.c
index 21c7849..20bb2e2 100644
--- a/tests/spec/gl-3.0/required-sized-texture-formats.c
+++ b/tests/spec/gl-3.0/required-sized-texture-formats.c
@@ -78,10 +78,7 @@ piglit_init(int argc, char **argv)
 	GLuint tex;
 	int i, c;
 
-	if (piglit_get_gl_version() < 30) {
-		printf("Requires GL 3.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(30);
 
 	glGenTextures(1, &tex);
 	glBindTexture(GL_TEXTURE_2D, tex);
diff --git a/tests/spec/gl-3.0/required-texture-attachment-formats.c b/tests/spec/gl-3.0/required-texture-attachment-formats.c
index 1850ab3..8a5fa76 100644
--- a/tests/spec/gl-3.0/required-texture-attachment-formats.c
+++ b/tests/spec/gl-3.0/required-texture-attachment-formats.c
@@ -51,10 +51,7 @@ piglit_init(int argc, char **argv)
 	GLuint tex, fbo;
 	int i, c;
 
-	if (piglit_get_gl_version() < 30) {
-		printf("Requires GL 3.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(30);
 
 	glGenTextures(1, &tex);
 	glBindTexture(GL_TEXTURE_2D, tex);
diff --git a/tests/spec/nv_conditional_render/begin-while-active.c b/tests/spec/nv_conditional_render/begin-while-active.c
index a136323..1bd4b79 100644
--- a/tests/spec/nv_conditional_render/begin-while-active.c
+++ b/tests/spec/nv_conditional_render/begin-while-active.c
@@ -56,10 +56,7 @@ piglit_init(int argc, char **argv)
 {
 	GLuint q;
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 
diff --git a/tests/spec/nv_conditional_render/begin-zero.c b/tests/spec/nv_conditional_render/begin-zero.c
index 5a81775..b7aab6f 100644
--- a/tests/spec/nv_conditional_render/begin-zero.c
+++ b/tests/spec/nv_conditional_render/begin-zero.c
@@ -54,10 +54,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 
diff --git a/tests/spec/nv_conditional_render/bitmap.c b/tests/spec/nv_conditional_render/bitmap.c
index 2e54d7b..ceda655 100644
--- a/tests/spec/nv_conditional_render/bitmap.c
+++ b/tests/spec/nv_conditional_render/bitmap.c
@@ -99,10 +99,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/blitframebuffer.c b/tests/spec/nv_conditional_render/blitframebuffer.c
index f45e4c1..5b9d487 100644
--- a/tests/spec/nv_conditional_render/blitframebuffer.c
+++ b/tests/spec/nv_conditional_render/blitframebuffer.c
@@ -131,10 +131,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 	piglit_require_extension("GL_EXT_framebuffer_object");
diff --git a/tests/spec/nv_conditional_render/clear.c b/tests/spec/nv_conditional_render/clear.c
index 1884ad0..8bc26b9 100644
--- a/tests/spec/nv_conditional_render/clear.c
+++ b/tests/spec/nv_conditional_render/clear.c
@@ -92,10 +92,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/copypixels.c b/tests/spec/nv_conditional_render/copypixels.c
index 4ffd8af..f87e817 100644
--- a/tests/spec/nv_conditional_render/copypixels.c
+++ b/tests/spec/nv_conditional_render/copypixels.c
@@ -95,10 +95,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/copyteximage.c b/tests/spec/nv_conditional_render/copyteximage.c
index e8d1c7c..8fd7dfa 100644
--- a/tests/spec/nv_conditional_render/copyteximage.c
+++ b/tests/spec/nv_conditional_render/copyteximage.c
@@ -116,10 +116,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/copytexsubimage.c b/tests/spec/nv_conditional_render/copytexsubimage.c
index 675e4ff..1a70b5c 100644
--- a/tests/spec/nv_conditional_render/copytexsubimage.c
+++ b/tests/spec/nv_conditional_render/copytexsubimage.c
@@ -116,10 +116,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/dlist.c b/tests/spec/nv_conditional_render/dlist.c
index e33ea12..75286b5 100644
--- a/tests/spec/nv_conditional_render/dlist.c
+++ b/tests/spec/nv_conditional_render/dlist.c
@@ -87,10 +87,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/drawpixels.c b/tests/spec/nv_conditional_render/drawpixels.c
index 371d8e8..d56b6c8 100644
--- a/tests/spec/nv_conditional_render/drawpixels.c
+++ b/tests/spec/nv_conditional_render/drawpixels.c
@@ -109,10 +109,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/spec/nv_conditional_render/generatemipmap.c b/tests/spec/nv_conditional_render/generatemipmap.c
index 90ce8f6..abc8497 100644
--- a/tests/spec/nv_conditional_render/generatemipmap.c
+++ b/tests/spec/nv_conditional_render/generatemipmap.c
@@ -115,10 +115,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 	piglit_require_extension("GL_EXT_framebuffer_object");
diff --git a/tests/spec/nv_conditional_render/vertex_array.c b/tests/spec/nv_conditional_render/vertex_array.c
index 25b387f..b5d97db 100644
--- a/tests/spec/nv_conditional_render/vertex_array.c
+++ b/tests/spec/nv_conditional_render/vertex_array.c
@@ -92,10 +92,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	piglit_require_extension("GL_NV_conditional_render");
 }
diff --git a/tests/texturing/depth-tex-modes-glsl.c b/tests/texturing/depth-tex-modes-glsl.c
index ba718b4..b1ecc89 100644
--- a/tests/texturing/depth-tex-modes-glsl.c
+++ b/tests/texturing/depth-tex-modes-glsl.c
@@ -82,10 +82,7 @@ static void loadTex(void);
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	if (piglit_automatic)
 		printf(" Left to Right: LUMINANCE, INTENSITY, ALPHA\n"
diff --git a/tests/texturing/fragment-and-vertex-texturing.c b/tests/texturing/fragment-and-vertex-texturing.c
index 1e98e61..d960c5e 100644
--- a/tests/texturing/fragment-and-vertex-texturing.c
+++ b/tests/texturing/fragment-and-vertex-texturing.c
@@ -179,10 +179,7 @@ piglit_init(int argc, char **argv)
 
 	piglit_ortho_projection(piglit_width, piglit_height, GL_FALSE);
 
-	if (piglit_get_gl_version() < 20) {
-		printf("Requires OpenGL 2.0\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(20);
 
 	glGetIntegerv(GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB, &m);
 	if (m < 1) {
diff --git a/tests/texturing/lodbias.c b/tests/texturing/lodbias.c
index 310f7aa..bc13e4e 100644
--- a/tests/texturing/lodbias.c
+++ b/tests/texturing/lodbias.c
@@ -297,10 +297,7 @@ piglit_init(int argc, char **argv)
 {
 	int i;
 
-	if (piglit_get_gl_version() < 13) {
-		printf("Requires OpenGL 1.3\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(13);
 
 	piglit_require_extension("GL_EXT_texture_lod_bias");
 
diff --git a/tests/texturing/tex3d-maxsize.c b/tests/texturing/tex3d-maxsize.c
index 465fffc..0a8f45b 100644
--- a/tests/texturing/tex3d-maxsize.c
+++ b/tests/texturing/tex3d-maxsize.c
@@ -188,10 +188,7 @@ piglit_display(void)
 
 void piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 12) {
-		printf("Requires OpenGL 1.2\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(12);
 
 	glDisable(GL_DITHER);
 }
diff --git a/tests/texturing/tex3d.c b/tests/texturing/tex3d.c
index 9e05da9..49b358a 100644
--- a/tests/texturing/tex3d.c
+++ b/tests/texturing/tex3d.c
@@ -219,10 +219,7 @@ piglit_display(void)
 void
 piglit_init(int argc, char **argv)
 {
-	if (piglit_get_gl_version() < 12) {
-		printf("Requires OpenGL 1.2\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(12);
 
 	piglit_automatic = GL_TRUE;
 
diff --git a/tests/texturing/texrect-many.c b/tests/texturing/texrect-many.c
index aaff6fb..b991a20 100644
--- a/tests/texturing/texrect-many.c
+++ b/tests/texturing/texrect-many.c
@@ -103,10 +103,7 @@ void piglit_init(int argc, char **argv)
 	int i;
 	int maxtextures;
 
-	if (piglit_get_gl_version() < 13) {
-		printf("Requires OpenGL 1.3\n");
-		piglit_report_result(PIGLIT_SKIP);
-	}
+	piglit_require_gl_version(13);
 
 	piglit_require_extension("GL_ARB_texture_rectangle");
 
-- 
1.7.12



More information about the Piglit mailing list