[Piglit] [PATCH 2/2] clipflat: Fix subtest reporting

Dylan Baker baker.dylan.c at gmail.com
Sat Oct 3 22:51:59 PDT 2015


Ping
On Sep 30, 2015 4:52 PM, "Dylan Baker" <baker.dylan.c at gmail.com> wrote:

> There are two problems with the way this test reports subtests:
>
> First, it only reports subtests when they fail. This has all kinds of
> problems. It's not at all what the summary code expects, the
> summary code expects that subtests are always present, which means that
> they will show up under disabled/enabled pages instead of
> fixes/regressions, which in turn, will confuse developers.
>
> Second, it tries to report lots of information as the subtest name. This
> causes the JSON parser in python (JSON is used by the tests to
> communicate with the runner) to choke and die.
>
> This patch makes a couple of changes to correct this.
> First, it reports the subtest result always, whether pass or fail.
> Second, it simplifies the names of the subtests, and passes the other
> information to stdout, which the runner will scoop up and record for a
> developer to go look at.
>
> cc: Brian Paul <brianp at vmware.com>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
>
> Brian: I've tried to make the subtest reporting consistant, but I want
> to make sure that I'm not screwing up the logic of the test. I
> understand the idea of what it's doing, but not the details.
>
>
>  tests/general/clipflat.c | 44 ++++++++++++++++++++++++++------------------
>  1 file changed, 26 insertions(+), 18 deletions(-)
>
> diff --git a/tests/general/clipflat.c b/tests/general/clipflat.c
> index 91e410e..f195185 100644
> --- a/tests/general/clipflat.c
> +++ b/tests/general/clipflat.c
> @@ -1,5 +1,6 @@
>  /*
>   * Copyright © 2009, 2013 VMware, Inc.
> + * Copyright © 2015 Intel Corporation
>   *
>   * Permission is hereby granted, free of charge, to any person obtaining a
>   * copy of this software and associated documentation files (the
> "Software"),
> @@ -317,12 +318,12 @@ checkResult(GLfloat badColor[3])
>
>
>  static void
> -reportFailure(GLenum mode, int drawMode, GLuint facing,
> +reportSubtest(GLenum mode, int drawMode, GLuint facing,
>                GLuint fill,
> -              const GLfloat badColor[3], GLfloat x, GLfloat y)
> +              const GLfloat badColor[3], GLfloat x, GLfloat y,
> +              const bool fail)
>  {
>         const char *m, *d, *f, *p;
> -       char msg1[100], msg2[100], msg3[100];
>
>         switch (mode) {
>         case GL_TRIANGLES:
> @@ -372,22 +373,23 @@ reportFailure(GLenum mode, int drawMode, GLuint
> facing,
>         else
>                 p = "GL_LINE";
>
> -       snprintf(msg1, sizeof(msg1), "clipflat: Failure for %s(%s),"
> -                " glFrontFace(%s), glPolygonMode(%s)\n",
> -                d, m, f, p);
> +       if (fail == true) {
> +               printf("clipflat: Failure for %s(%s), glFrontFace(%s), "
> +                      "glPolygonMode(%s)\n",
> +                      d, m, f, p);
>
> -       if (testing_first_pv)
> -               snprintf(msg2, sizeof(msg2),
> -                        "\tGL_EXT_provoking_vertex test: "
> -                        "GL_FIRST_VERTEX_CONVENTION_EXT mode\n");
> -       else
> -               msg2[0] = 0;
> +               if (testing_first_pv) {
> +                   printf("\tGL_EXT_provoking_vertex test: "
> +                          "GL_FIRST_VERTEX_CONVENTION_EXT mode\n");
> +               }
>
> -       snprintf(msg3, sizeof(msg3),
> -                "\tExpected color (0, 1, 0) but found (%g, %g, %g)\n",
> -                badColor[0], badColor[1], badColor[2]);
> +               printf("Expected color (0, 1, 0) but found (%g, %g, %g)\n",
> +                      badColor[0], badColor[1], badColor[2]);
> +       }
>
> -       piglit_report_subtest_result(PIGLIT_FAIL, "%s%s%s", msg1, msg2,
> msg3);
> +       piglit_report_subtest_result(fail ? PIGLIT_FAIL : PIGLIT_PASS,
> +                                    "%s(%s), glFrontFace(%s),
> glPolygonMode(%s)",
> +                                    d, m, f, p);
>  }
>
>
> @@ -449,11 +451,17 @@ testPrim(GLenum mode, const GLfloat *verts, GLuint
> count)
>                                                 glPopMatrix();
>
>                                                 if
> (!checkResult(badColor)) {
> -
>  reportFailure(mode, drawMode, facing, fill, badColor, x, y);
> -                                                       return false;
> +
>  reportSubtest(mode, drawMode, facing, fill,
> +
>  badColor, x, y, true);
> +                                                       goto failed;
>                                                 }
>                                         }
>                                 }
> +
> +                               GLfloat badColor[3];
> +                               reportSubtest(mode, drawMode, facing, fill,
> +                                             badColor, x, y, false);
> +                               failed: continue;
>                         }
>                 }
>         }
> --
> 2.6.0
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20151003/41e83731/attachment-0001.html>


More information about the Piglit mailing list