[Piglit] [PATCH 1/5] framework/html: guard against errors writing individual test results

Marek Olšák maraeo at gmail.com
Wed May 2 20:57:42 UTC 2018


On Wed, May 2, 2018 at 4:51 PM, Dylan Baker <dylan at pnwbakers.com> wrote:

> Quoting Marek Olšák (2018-05-02 13:32:43)
> > From: Nicolai Hähnle <nicolai.haehnle at amd.com>
> >
> > ---
> >  framework/summary/html_.py | 18 +++++++++++-------
> >  1 file changed, 11 insertions(+), 7 deletions(-)
> >
> > diff --git a/framework/summary/html_.py b/framework/summary/html_.py
> > index f7fdc8576..512b42c24 100644
> > --- a/framework/summary/html_.py
> > +++ b/framework/summary/html_.py
> > @@ -24,20 +24,21 @@
> >
> >  from __future__ import (
> >      absolute_import, division, print_function, unicode_literals
> >  )
> >  import errno
> >  import getpass
> >  import os
> >  import shutil
> >  import sys
> >  import tempfile
> > +import traceback
> >
> >  import mako
> >  from mako.lookup import TemplateLookup
> >  import six
> >
> >  # a local variable status exists, prevent accidental overloading by
> renaming
> >  # the module
> >  from framework import backends, exceptions, core
> >
> >  from .common import Results, escape_filename, escape_pathname
> > @@ -106,27 +107,30 @@ def _make_testrun_info(results, destination,
> exclude=None):
> >
> >          # Then build the individual test results
> >          for key, value in six.iteritems(each.tests):
> >              html_path = os.path.join(destination, name,
> >                                       escape_filename(key + ".html"))
> >              temp_path = os.path.dirname(html_path)
> >
> >              if value.result not in exclude:
> >                  core.check_dir(temp_path)
> >
> > -                with open(html_path, 'wb') as out:
> > -                    out.write(_TEMPLATES.get_template(
> > -                        'test_result.mako').render(
> > -                            testname=key,
> > -                            value=value,
> > -                            css=os.path.relpath(result_css, temp_path),
> > -                            index=os.path.relpath(index, temp_path)))
> > +                try:
> > +                    with open(html_path, 'wb') as out:
> > +                        out.write(_TEMPLATES.get_template(
> > +                            'test_result.mako').render(
> > +                                testname=key,
> > +                                value=value,
> > +                                css=os.path.relpath(result_css,
> temp_path),
> > +                                index=os.path.relpath(index,
> temp_path)))
> > +                except OSError as e:
> > +                    traceback.print_exc()
>
> This makes me really nervous. What are you trying to catch, and why is it
> a good idea to print a traceback and continue?
>

Nicolai, do you know the answer to this one?

Thanks,
Marek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20180502/0ba35f4e/attachment.html>


More information about the Piglit mailing list