[Piglit] [PATCH 1/5] util: Move command-line parsing out of piglit_gl_test_config_init

Ian Romanick idr at freedesktop.org
Tue Oct 15 17:32:45 PDT 2013


From: Ian Romanick <ian.d.romanick at intel.com>

Create a new function, piglit_gl_process_args, that does the
command-line parsing.  This happens after the test code between
PIGLIT_GL_TEST_CONFIG_BEGIN and PIGLIT_GL_TEST_CONFIG_END.  By having an
explicit function that does this, tests can call it inside the BEGIN/END
block.  This may be useful for tests that expect certain arguments to be
in specific positions.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: Chad Versace <chad.versace at linux.intel.com>
---
 tests/texturing/shaders/texelFetch.c  | 10 ++++++----
 tests/texturing/shaders/textureSize.c | 10 ++++++----
 tests/util/piglit-framework-gl.c      | 24 ++++++++++++++----------
 tests/util/piglit-framework-gl.h      | 10 +++++++---
 4 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/tests/texturing/shaders/texelFetch.c b/tests/texturing/shaders/texelFetch.c
index ebd48cd..bc6cc8f 100644
--- a/tests/texturing/shaders/texelFetch.c
+++ b/tests/texturing/shaders/texelFetch.c
@@ -84,6 +84,12 @@ static enum shader_target test_stage = UNKNOWN;
 
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
+	config.window_width = 900;
+	config.window_height = 600;
+	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
+
+	piglit_gl_process_args(&argc, argv, &config);
+
 	parse_args(argc, argv);
 	if (test_stage == GS) {
 		config.supports_gl_compat_version = 32;
@@ -93,10 +99,6 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 		config.supports_gl_core_version = 31;
 	}
 
-	config.window_width = 900;
-	config.window_height = 600;
-	config.window_visual = PIGLIT_GL_VISUAL_RGBA | PIGLIT_GL_VISUAL_DOUBLE;
-
 PIGLIT_GL_TEST_CONFIG_END
 
 #define MAX_LOD_OR_SAMPLES  10.0
diff --git a/tests/texturing/shaders/textureSize.c b/tests/texturing/shaders/textureSize.c
index f010d9c..ee64b07 100644
--- a/tests/texturing/shaders/textureSize.c
+++ b/tests/texturing/shaders/textureSize.c
@@ -52,6 +52,12 @@ static enum shader_target test_stage = UNKNOWN;
 
 PIGLIT_GL_TEST_CONFIG_BEGIN
 
+	config.window_width = 150;
+	config.window_height = 30;
+	config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;
+
+	piglit_gl_process_args(&argc, argv, &config);
+
 	parse_args(argc, argv);
 	if (test_stage == GS) {
 		config.supports_gl_compat_version = 32;
@@ -61,10 +67,6 @@ PIGLIT_GL_TEST_CONFIG_BEGIN
 		config.supports_gl_core_version = 31;
 	}
 
-	config.window_width = 150;
-	config.window_height = 30;
-	config.window_visual = PIGLIT_GL_VISUAL_RGB | PIGLIT_GL_VISUAL_DOUBLE;
-
 PIGLIT_GL_TEST_CONFIG_END
 
 static int lod_location;
diff --git a/tests/util/piglit-framework-gl.c b/tests/util/piglit-framework-gl.c
index 2a315be..dd2e6a5 100644
--- a/tests/util/piglit-framework-gl.c
+++ b/tests/util/piglit-framework-gl.c
@@ -43,18 +43,9 @@ static void
 process_args(int *argc, char *argv[], unsigned *force_samples);
 
 void
-piglit_gl_test_config_init(int *argc, char *argv[],
-			   struct piglit_gl_test_config *config)
+piglit_gl_test_config_init(struct piglit_gl_test_config *config)
 {
-	unsigned force_samples = 0;
-
 	memset(config, 0, sizeof(*config));
-
-	process_args(argc, argv, &force_samples);
-
-	if (force_samples > 1)
-		config->window_samples = force_samples;
-
 }
 
 static void
@@ -125,6 +116,19 @@ process_args(int *argc, char *argv[], unsigned *force_samples)
 }
 
 void
+piglit_gl_process_args(int *argc, char *argv[],
+		       struct piglit_gl_test_config *config)
+{
+	unsigned force_samples = 0;
+
+	process_args(argc, argv, &force_samples);
+
+	if (force_samples > 1)
+		config->window_samples = force_samples;
+
+}
+
+void
 piglit_gl_test_run(int argc, char *argv[],
 		   const struct piglit_gl_test_config *config)
 {
diff --git a/tests/util/piglit-framework-gl.h b/tests/util/piglit-framework-gl.h
index 7520f38..fcc1594 100644
--- a/tests/util/piglit-framework-gl.h
+++ b/tests/util/piglit-framework-gl.h
@@ -175,8 +175,11 @@ struct piglit_gl_test_config {
  * from command line arguments.
  */
 void
-piglit_gl_test_config_init(int *argc, char *argv[],
-			   struct piglit_gl_test_config *config);
+piglit_gl_test_config_init(struct piglit_gl_test_config *config);
+
+void
+piglit_gl_process_args(int *argc, char *argv[],
+		       struct piglit_gl_test_config *config);
 
 /**
  * Run the OpenGL test described by @a config. Does not return.
@@ -210,7 +213,7 @@ piglit_gl_test_run(int argc, char *argv[],
         {                                                                    \
                 struct piglit_gl_test_config config;                         \
                                                                              \
-                piglit_gl_test_config_init(&argc, argv, &config);            \
+                piglit_gl_test_config_init(&config);                         \
                                                                              \
                 config.init = piglit_init;                                   \
                 config.display = piglit_display;                             \
@@ -230,6 +233,7 @@ piglit_gl_test_run(int argc, char *argv[],
 #define PIGLIT_GL_TEST_CONFIG_END                                            \
                 }                                                            \
                                                                              \
+                piglit_gl_process_args(&argc, argv, &config);                \
                 piglit_gl_test_run(argc, argv, &config);                     \
                                                                              \
                 assert(false);                                               \
-- 
1.8.1.4



More information about the Piglit mailing list