[Piglit] [PATCH 2/2] core: don't report warn if stderr is not empty

Dylan Baker baker.dylan.c at gmail.com
Tue Nov 19 09:05:29 PST 2013


On Tuesday, November 19, 2013 02:57:33 AM Marek Olšák wrote:
> I don't understand your argument. This patch makes stderr to have no
> effect on test results, that is the only way to get "warn" is to have
> a test which actually returns PIGLIT_WARN.
> 
> Marek
> 
> On Tue, Nov 19, 2013 at 12:02 AM, Dylan Baker <baker.dylan.c at gmail.com> 
wrote:
> > On Monday, November 18, 2013 03:33:34 PM Marek Olšák wrote:
> >> From: Marek Olšák <marek.olsak at amd.com>
> >> 
> >> The usefulness of this is questionable to say the least.
> >> ---
> >> 
> >>  framework/core.py     | 72
> >> 
> >> --------------------------------------------------- framework/exectest.py
> >> |
> >> 
> >>  2 --
> >>  2 files changed, 74 deletions(-)
> >> 
> >> diff --git a/framework/core.py b/framework/core.py
> >> index d3e0ea9..7312764 100644
> >> --- a/framework/core.py
> >> +++ b/framework/core.py
> >> 
> >> @@ -438,8 +438,6 @@ class Environment:
> >>  class Test:
> >> -    ignoreErrors = []
> >> -
> >> 
> >>      def __init__(self, runConcurrent=False):
> >>          '''
> >>          
> >>                  'runConcurrent' controls whether this test will
> >> 
> >> @@ -498,31 +496,6 @@ class Test:
> >>          else:
> >>              status("dry-run")
> >> 
> >> -    # Returns True iff the given error message should be ignored
> >> -    def isIgnored(self, error):
> >> -        for pattern in Test.ignoreErrors:
> >> -            if pattern.search(error):
> >> -                return True
> >> -
> >> -        return False
> >> -
> >> -    # Default handling for stderr messages
> >> -    def handleErr(self, results, err):
> >> -        errors = filter(lambda s: len(s) > 0,
> >> -                        map(lambda s: s.strip(), err.split('\n')))
> >> -
> >> -        ignored = [s for s in errors if self.isIgnored(s)]
> >> -        errors = [s for s in errors if s not in ignored]
> >> -
> >> -        if len(errors) > 0:
> >> -            results['errors'] = errors
> >> -
> >> -            if results['result'] == 'pass':
> >> -                results['result'] = 'warn'
> >> -
> >> -        if len(ignored) > 0:
> >> -            results['errors_ignored'] = ignored
> >> -
> >> 
> >>  class Group(dict):
> >>      pass
> >> 
> >> @@ -644,51 +617,6 @@ def load_results(filename):
> >>      return testrun
> >> 
> >> -# Error messages to be ignored
> >> -Test.ignoreErrors = map(re.compile,
> >> -                        ["couldn't open libtxc_dxtn.so",
> >> -                         "compression/decompression available",
> >> -                         "Mesa: .*build",
> >> -                         "Mesa: CPU.*",
> >> -                         "Mesa: .*cpu detected.",
> >> -                         "Mesa: Test.*",
> >> -                         "Mesa: Yes.*",
> >> -                         "libGL: XF86DRIGetClientDriverName.*",
> >> -                         "libGL: OpenDriver: trying.*",
> >> -                         "libGL: Warning in.*drirc*",
> >> -                         "ATTENTION.*value of option.*",
> >> -                         "drmOpen.*",
> >> -                         "Mesa: Not testing OS support.*",
> >> -                         "Mesa: User error:.*",
> >> -                         "Mesa: Initializing .* optimizations",
> >> -                         "debug_get_.*",
> >> -                         "util_cpu_caps.*",
> >> -                         "Mesa: 3Dnow! detected",
> >> -                         "r300:.*",
> >> -                         "radeon:.*",
> >> -                         "Warning:.*",
> >> -                         "0 errors, .*",
> >> -                         "Mesa.*",
> >> -                         "no rrb",
> >> -                         "; ModuleID.*",
> >> -                         "%.*",
> >> -                         ".*failed to translate tgsi opcode.*to SSE",
> >> -                         ".*falling back to interpreter",
> >> -                         "GLSL version is .*, but requested version .*
> >> is " -                         "required",
> >> -                         "kCGErrorIllegalArgument: CGSOrderWindowList",
> >> -                         "kCGErrorFailure: Set a breakpoint @ "
> >> -                         "CGErrorBreakpoint\(\) to catch errors as they
> >> are " -                         "logged.",
> >> -                         "stw_(init|cleanup).*",
> >> -                         "OpenGLInfo..*",
> >> -                         "AdapterInfo..*",
> >> -                         "frameThrottleRate.*",
> >> -                         ".*DeviceName.*",
> >> -                         "No memory leaks detected.",
> >> -                         "libGL: Can't open configuration file.*"])
> >> -
> >> -
> >> 
> >>  def parse_listfile(filename):
> >>      """
> >>      Parses a newline-seperated list in a text file and returns a python
> >> 
> >> list diff --git a/framework/exectest.py b/framework/exectest.py
> >> index e239940..7b1c058 100644
> >> --- a/framework/exectest.py
> >> +++ b/framework/exectest.py
> >> 
> >> @@ -203,8 +203,6 @@ class ExecTest(Test):
> >>              results['dmesg'] = dmesg_diff
> >>              results['timeout'] = timeout
> >> 
> >> -            self.handleErr(results, err)
> >> -
> >> 
> >>          else:
> >>              results = TestResult()
> > 
> >>              if 'result' not in results:
> > I'm nacking this patch (I haven't looked close enough at the first one to
> > have comments), I dont have s3tc installed on all of my test machines,
> > and without it every single test would be warn.

Sorry I'm completely misunderstanding the purpose of this patch. The plan is 
to completely dump the warn status? I'm don't understand what we gain by 
getting rid of this (other then a minor decrease in runtime), what makes this 
so dubious?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20131119/acfe11f8/attachment.pgp>


More information about the Piglit mailing list