[Piglit] [PATCH 8/9] framework/exectest.py: use grouping parens instead of \ to break strings

Ilia Mirkin imirkin at alum.mit.edu
Wed Apr 9 20:01:24 PDT 2014


On Wed, Apr 9, 2014 at 10:56 PM, Dylan Baker <baker.dylan.c at gmail.com> wrote:
> On Wednesday, April 09, 2014 09:58:47 PM Ilia Mirkin wrote:
>> On Wed, Apr 9, 2014 at 9:27 PM, Dylan Baker <baker.dylan.c at gmail.com> wrote:
>> > ---
>> >
>> >  framework/exectest.py | 16 ++++++++--------
>> >  1 file changed, 8 insertions(+), 8 deletions(-)
>> >
>> > diff --git a/framework/exectest.py b/framework/exectest.py
>> > index 72061e0..76f9be8 100644
>> > --- a/framework/exectest.py
>> > +++ b/framework/exectest.py
>> >
>> > @@ -90,15 +90,15 @@ class Test(object):
>> >                  if not isinstance(result, TestResult):
>> >                      result = TestResult(result)
>> >                      result['result'] = 'warn'
>> >
>> > -                    result['note'] = 'Result not returned as an instance
>> > ' \ -                                     'of TestResult'
>> > +                    result['note'] = ('Result not returned as an instance
>> > ' +                                      'of TestResult')
>> >
>> >              except:
>> >                  result = TestResult()
>> >                  result['result'] = 'fail'
>> >
>> > -                result['exception'] = str(sys.exc_info()[0]) + \
>> > -                    str(sys.exc_info()[1])
>> > -                result['traceback'] = \
>> > -                    "".join(traceback.format_tb(sys.exc_info()[2]))
>> > +                result['exception'] = (str(sys.exc_info()[0]) +
>> > +                                       str(sys.exc_info()[1]))
>>
>> Alternatively, "{}{}".format(*sys.exc_info()[:2])
>>
>> [OK, that didn't turn out as pretty as I had hoped -- "".join wants
>> strings, and I guess the way-more-readable "%s%s" % foo syntax is
>> going out of style :( ]
>
> what about "".join(str(s) for s in sys.exc_info()[:2])?
>
> I don't know if it's any better than str.format() in this case, I think concat
> is the easiest to read, but there are good reasons to not use string
> concatenation (performance isn't good in many python implementations and even
> in CPython only certain types are fast)

None of these strike me as particularly better. Just leave it as you
had it. Forget I ever said anything :)

>
> I really don't like the C style string formaters; they're hard to read and
> each format has a couple of deprecated aliases.

The nice thing about them is that they're the C-style string formats
that everyone knows and loves (or hates, but definitely knows).
Everything that's not that requires thought and guesswork until you
get really familiar with it.

>
>>
>> > +                result['traceback'] = "".join(
>> > +                    traceback.format_tb(sys.exc_info()[2]))
>> >
>> >              log.log(path, result['result'])
>> >              log.post_log(log_current, result['result'])
>> >
>> > @@ -251,8 +251,8 @@ class Test(object):
>> >              # Piglit should not report that test as having
>> >              # failed.
>> >
>> >              if e.errno == errno.ENOENT:
>> > -                out = "PIGLIT: {'result': 'skip'}\n" \
>> > -                    + "Test executable not found.\n"
>> > +                out = ("PIGLIT: {'result': 'skip'}\n"
>> > +                       "Test executable not found.\n")
>> >
>> >                  err = ""
>> >                  returncode = None
>> >
>> >              else:
>> > --
>> > 1.9.1
>> >
>> > _______________________________________________
>> > Piglit mailing list
>> > Piglit at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list