[Piglit] [PATCH 2/2] core: don't report warn if stderr is not empty
Marek Olšák
maraeo at gmail.com
Tue Nov 19 09:38:43 PST 2013
The warn status is not dumped completely. Instead, the warn status can
only be returned by tests explicitly. The contents of stderr are not
analyzed at all. I think it was useless in 99% cases anyway.
Marek
On Tue, Nov 19, 2013 at 6:05 PM, Dylan Baker <baker.dylan.c at gmail.com> wrote:
> 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?
More information about the Piglit
mailing list