[Piglit] [PATCH v2] core.py: fix subtest json reporting

Tom Stellard tom at stellard.net
Thu Aug 29 13:53:47 PDT 2013


On Wed, Aug 28, 2013 at 12:35:02PM -0700, Dylan Baker wrote:
> Previously every subtest wrote an entry in the file as a full test, this
> is a bug since the fake-fulltest (actually subtest) reported with the
> full test value, not it's own value.
> 
> This patch changes the behvaior so that a test with subtests only gets
> one entry, with the full test result value as it's value.
> 

I would really like the old behavior preserved.  If each subtest doesn't
have its own entry in the summary, then there is really no point to
having subtests.

I am having a little trouble following the code, so here are some examples
of the past and current behavior to help clarify the situation.

Lets say we have a Test A with subtests:
1 => 'FAIL'
2 => 'PASS'
3 => 'FAIL'

The original way of displaying this (i.e before
eeec306bc2197a2fc0eeb064462a1244d39c16fa) was:

A     2/3
1     FAIL
2     PASS
3     FAIL

The way it is displayed with the current code from git is:

A    0/3
1    FAIL
2    FAIL
3    FAIL

The way it is displayed with this patch is:

A    FAIL

The current state of things is making it difficult to compare subtest results.
Would anyone object to me reverting eeec306bc2197a2fc0eeb064462a1244d39c16fa
while we sort out how to best handle subtests?

-Tom

> Signed-off-by: Dylan Baker <baker.dylan.c at gmail.com>
> ---
>  framework/core.py | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/framework/core.py b/framework/core.py
> index b1a5726..25cc2ff 100644
> --- a/framework/core.py
> +++ b/framework/core.py
> @@ -476,9 +476,7 @@ class Test:
>                  for test in result['subtest'].keys():
>                      if serious_level(result['subtest'][test]) >= serious_level(result['result']):
>                          result['result'] = result['subtest'][test]
> -                    json_writer.write_dict_item(path + '/' + test, result)
> -            else:
> -                json_writer.write_dict_item(path, result)
> +            json_writer.write_dict_item(path, result)
>          else:
>              status("dry-run")
>  
> -- 
> 1.8.1.5
> 
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list