[Piglit] [PATCH] deqp-integration: Handle ResourceError.

Mark Janes mark.a.janes at intel.com
Wed Mar 16 00:16:16 UTC 2016


This patch doesn't fix the issue I see on HSW with Resource errors.

Dylan Baker <baker.dylan.c at gmail.com> writes:

> This is a previously unseen error type generated on by the Vulkan CTS
> (which is dEQP based).
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
>
> Mark, I think this will fix the that jenkins bug we're seeing.
>
>  framework/test/deqp.py  | 15 +++++++++------
>  unittests/deqp_tests.py | 50 ++++++++++++++++++++++++++++---------------------
>  2 files changed, 38 insertions(+), 27 deletions(-)
>
> diff --git a/framework/test/deqp.py b/framework/test/deqp.py
> index 4fd51ec..80ce156 100644
> --- a/framework/test/deqp.py
> +++ b/framework/test/deqp.py
> @@ -115,12 +115,15 @@ def iter_deqp_test_cases(case_file):
>  
>  @six.add_metaclass(abc.ABCMeta)
>  class DEQPBaseTest(Test):
> -    __RESULT_MAP = {"Pass": "pass",
> -                    "Fail": "fail",
> -                    "QualityWarning": "warn",
> -                    "InternalError": "fail",
> -                    "Crash": "crash",
> -                    "NotSupported": "skip"}
> +    __RESULT_MAP = {
> +        "Pass": "pass",
> +        "Fail": "fail",
> +        "QualityWarning": "warn",
> +        "InternalError": "fail",
> +        "Crash": "crash",
> +        "NotSupported": "skip",
> +        "ResourceError": "crash",
> +    }
>  
>      @abc.abstractproperty
>      def deqp_bin(self):
> diff --git a/unittests/deqp_tests.py b/unittests/deqp_tests.py
> index 7143da2..7119fed 100644
> --- a/unittests/deqp_tests.py
> +++ b/unittests/deqp_tests.py
> @@ -28,6 +28,7 @@ tests
>  from __future__ import (
>      absolute_import, division, print_function, unicode_literals
>  )
> +import textwrap
>  
>  try:
>      from unittest import mock
> @@ -191,34 +192,35 @@ class TestDEQPBaseTestIntepretResultStatus(object):
>      def __init__(self):
>          self.inst = None
>  
> -    __OUT = (
> -        "dEQP Core 2014.x (0xcafebabe) starting..\n"
> -        "arget implementation = 'DRM'\n"
> -        "\n"
> -        "Test case 'dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_ivec3_fragment'..\n"
> -        "Vertex shader compile time = 0.129000 ms\n"
> -        "Fragment shader compile time = 0.264000 ms\n"
> -        "Link time = 0.814000 ms\n"
> -        "Test case duration in microseconds = 487155 us\n"
> -        "{stat} ({stat})\n"
> -        "\n"
> -        "DONE!\n"
> -        "\n"
> -        "Test run totals:\n"
> -        "Passed:        {pass_}/1 (100.0%)\n"
> -        "Failed:        {fail}/1 (0.0%)\n"
> -        "Not supported: {supp}/1 (0.0%)\n"
> -        "Warnings:      {warn}/1 (0.0%)\n"
> -    )
> +    __OUT = textwrap.dedent("""\
> +        dEQP Core 2014.x (0xcafebabe) starting..
> +          target implementation = 'DRM'
> +
> +        Test case 'dEQP-GLES2.functional.shaders.conversions.vector_to_vector.vec3_to_ivec3_fragment'..
> +        Vertex shader compile time = 0.129000 ms
> +        Fragment shader compile time = 0.264000 ms
> +        Link time = 0.814000 ms
> +        Test case duration in microseconds = 487155 us
> +          {stat} ({stat})
> +
> +        DONE!
> +
> +        Test run totals:
> +          Passed:        {pass_}/1 (100.0%)
> +          Failed:        {fail}/1 (0.0%)
> +          Not supported: {supp}/1 (0.0%)
> +          Warnings:      {warn}/1 (0.0%)
> +        Test run was ABORTED!
> +    """)
>  
>      def __gen_stdout(self, status):
>          assert status in ['Fail', 'NotSupported', 'Pass', 'QualityWarning',
> -                          'InternalError', 'Crash']
> +                          'InternalError', 'Crash', 'ResourceError']
>  
>          return self.__OUT.format(
>              stat=status,
>              pass_=1 if status == 'Pass' else 0,
> -            fail=1 if status in ['Crash', 'Fail'] else 0,
> +            fail=1 if status in ['Crash', 'Fail', 'ResourceError'] else 0,
>              supp=1 if status == 'InternalError' else 0,
>              warn=1 if status == 'QualityWarning' else 0,
>          )
> @@ -262,3 +264,9 @@ class TestDEQPBaseTestIntepretResultStatus(object):
>          self.inst.result.out = self.__gen_stdout('NotSupported')
>          self.inst.interpret_result()
>          nt.eq_(self.inst.result.result, 'skip')
> +
> +    def test_resourceerror(self):
> +        """test.deqp.DEQPBaseTest.interpret_result: when ResourceError in result the result is 'crash'"""
> +        self.inst.result.out = self.__gen_stdout('ResourceError')
> +        self.inst.interpret_result()
> +        nt.eq_(self.inst.result.result, 'crash')
> -- 
> 2.7.3


More information about the Piglit mailing list