[Piglit] [PATCH 1/1] results.py: Print warning when overwriting subtest results

Ilia Mirkin imirkin at alum.mit.edu
Wed Sep 3 16:33:32 PDT 2014


On Wed, Sep 3, 2014 at 7:16 PM, Jan Vesely <jan.vesely at rutgers.edu> wrote:
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
> ---
>
> There is none reported for quick.py profile, and tons for cl.py
>
>  framework/results.py | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/framework/results.py b/framework/results.py
> index ddadcc1..7d3a375 100644
> --- a/framework/results.py
> +++ b/framework/results.py
> @@ -465,15 +465,17 @@ class TestResult(dict):
>          dictionary -- a dictionary instance to update the TestResult with
>
>          """
> -        def update(d, u):
> +        def update(d, u, check):
>              for k, v in u.iteritems():
>                  if isinstance(v, dict):
> -                    d[k] = update(d.get(k, {}), v)
> +                    d[k] = update(d.get(k, {}), v, True)
>                  else:
> +                   if check and d.has_key(k):
> +                       print("Warning: duplicate subtest: {} value: {} old value: {}".format(k, v, d[k]))

It would appear that you are mixing tabs and spaces. Don't do that,
python can get mad at you. (Or gmail is messing up, in which case, my
bad.)

Also, "k in d" is preferable to "d.has_key(k)".

At a quick glance I don't understand the purpose of "check". Why can't
it always just be true (and thus removed)?

Printing stuff right there goes against the logging logic... I think
TestResults are also used during test execution, not just at summary
time... Dylan may have ideas on how to expose the issue properly.

>                      d[k] = v
>              return d
>
> -        update(self, dictionary)
> +        update(self, dictionary, False)
>
>
>  class TestrunResult(object):
> --
> 1.9.3
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list