[Piglit] [PATCH] Ignore piglit warning status in JUnit

Mark Janes mark.a.janes at intel.com
Fri Jun 26 11:11:48 PDT 2015


Ilia Mirkin <imirkin at alum.mit.edu> writes:

> So a test that otherwise passes (i.e. has a "pass" result code) but
> generates errors in dmesg will get converted to a "dmesg-warn" code.
> You were previously treating those as failures, but now will treat
> them as success.

Yes.  I used the comment in framework/status.py to determine what
severities of piglit status correspond to JUnit failures:

    Status ordering from best to worst:
    
    pass
    dmesg-warn
    warn    
    dmesg-fail
    fail
    timeout
    crash

If warn doesn't trigger a failure, then dmesg-warn shouldn't either.
>
> I don't feel strongly either way, but just wanted to point it out for
> your consideration. Also adding Jose who IIRC is also a junit user.
> [I, btw, am not.]

Thanks, I should have remembered to do that.  In my own tests, I found
the following tests that were warning:

HSW, IVB, SNB, BDW:
 ext_transform_feedback.tessellation quads flat_last
 ext_transform_feedback.tessellation quad_strip flat_last
 ext_transform_feedback.tessellation polygon flat_last

The tests that provided output indicated pixel color accuracy was beyond
the warning threshold.

G45, G965:
 !opengl 1_1.teximage-colors gl_r32f
 !opengl 1_1.teximage-colors gl_rg32f
 !opengl 1_1.teximage-colors gl_rgb32f
 !opengl 1_1.teximage-colors gl_rgba32f

No output was provided for these warnings, so they may have have
previously been dmesg-warn.

>
> On Fri, Jun 26, 2015 at 1:40 PM, Mark Janes <mark.a.janes at intel.com> wrote:
>> JUnit has no concept of "warning".  It supports the following
>> statuses:
>>
>>  - skip
>>  - success
>>  - fail
>>  - error
>>
>> dEQP has been found to intermittently emit warnings for passed tests,
>> and this status is accurately represented in piglit json.  However,
>> current JUnit transforms them into failures.
>>
>> A test which emits a warning is more accurately represented as
>> "success" in JUnit.
>> ---
>>  framework/backends/junit.py | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/framework/backends/junit.py b/framework/backends/junit.py
>> index 632e516..7499829 100644
>> --- a/framework/backends/junit.py
>> +++ b/framework/backends/junit.py
>> @@ -142,8 +142,7 @@ class JUnitBackend(FileBackend):
>>              if data['result'] == 'skip':
>>                  res = etree.SubElement(element, 'skipped')
>>
>> -            elif data['result'] in ['warn', 'fail', 'dmesg-warn',
>> -                                    'dmesg-fail']:
>> +            elif data['result'] in ['fail', 'dmesg-fail']:
>>                  if expected_result == "failure":
>>                      err.text += "\n\nWARN: passing test as an expected failure"
>>                      res = etree.SubElement(element, 'skipped',
>> --
>> 2.1.4
>>


More information about the Piglit mailing list