[Piglit] [PATCH 1/3] framework: Never redirect sys.stderr to /dev/null.

Jose Fonseca jfonseca at vmware.com
Tue Dec 8 08:10:14 PST 2015


On 08/12/15 15:56, Dylan Baker wrote:
> On Tue, Dec 08, 2015 at 03:51:40PM +0000, Jose Fonseca wrote:
>> On 08/12/15 15:38, Dylan Baker wrote:
>>> On Tue, Dec 08, 2015 at 01:23:28PM +0000, Jose Fonseca wrote:
>>>> Awful idea, as it prevents easy debugging/diagnosis of framework issues.
>>>>
>>>> If the test is verbose, then the child process' stderr should be
>>>> redirected, and not Python's process.
>>>> ---
>>>>   framework/tests/profile_tests.py    |  3 ---
>>>>   framework/tests/run_parser_tests.py | 10 ----------
>>>>   2 files changed, 13 deletions(-)
>>>>
>>>> diff --git a/framework/tests/profile_tests.py b/framework/tests/profile_tests.py
>>>> index 3a7d68b..010dbc3 100644
>>>> --- a/framework/tests/profile_tests.py
>>>> +++ b/framework/tests/profile_tests.py
>>>> @@ -31,9 +31,6 @@ from framework.tests import utils
>>>>   from framework import grouptools, dmesg, profile, exceptions, options
>>>>   from framework.test import GleanTest
>>>>
>>>> -# Don't print sys.stderr to the console
>>>> -sys.stderr = sys.stdout
>>>> -
>>>>
>>>>   @utils.no_error
>>>>   def test_initialize_testprofile():
>>>> diff --git a/framework/tests/run_parser_tests.py b/framework/tests/run_parser_tests.py
>>>> index 5f0b21b..677adfc 100644
>>>> --- a/framework/tests/run_parser_tests.py
>>>> +++ b/framework/tests/run_parser_tests.py
>>>> @@ -156,11 +156,6 @@ class TestBackend(_Helpers):
>>>>           self._unset_config()
>>>>           self._move_piglit_conf()
>>>>
>>>> -        # This has sideffects, it shouldn't effect anything in this module, but
>>>> -        # it may cause later problems. But without this we get ugly error spew
>>>> -        # from this test.
>>>> -        sys.stderr = open(os.devnull, 'w')
>>>> -
>>>>           with utils.tempdir() as tdir:
>>>>               with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
>>>>                   f.write('[core]\nbackend=foobar')
>>>> @@ -249,11 +244,6 @@ class TestPlatform(_Helpers):
>>>>           self._unset_config()
>>>>           self._move_piglit_conf()
>>>>
>>>> -        # This has sideffects, it shouldn't effect anything in this module, but
>>>> -        # it may cause later problems. But without this we get ugly error spew
>>>> -        # from this test.
>>>> -        sys.stderr = open(os.devnull, 'w')
>>>> -
>>>>           with utils.tempdir() as tdir:
>>>>               with open(os.path.join(tdir, 'piglit.conf'), 'w') as f:
>>>>                   f.write('[core]\nplatform=foobar')
>>>> --
>>>> 2.5.0
>>>>
>>>
>>> Nose will print stdout when the test fails or errors, but not when it
>>> passes. Printing stderr when it's expected is ugly and misleading.
>>
>> I don't understand how Nose fits here.  Isn't that something you use to test
>> the piglit framework itself?
>>
>> Or am I to understand that you're making Piglit harder to use for OpenGL
>> developers, so that it is easier to use for Piglit developers? Isn't that
>> backwards?
>>
>>
>> The fact is that, without at least some of the above hunks, the shader
>> runner tests output gets silently redirected.
>>
>>
>> Jose
>
> These are framework tests that you're modifying. They're run by nose.
>

You're right.  I could swear that without this change stderr wasn't 
working, but it does now.

I'll drop this one.

Jose


More information about the Piglit mailing list