[Piglit] [PATCH 1/5] framework/html: guard against errors writing individual test results
Dylan Baker
dylan at pnwbakers.com
Wed May 2 20:51:31 UTC 2018
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?
Dylan
>
>
> def _make_comparison_pages(results, destination, exclude):
> """Create the pages of comparisons."""
> pages = frozenset(['changes', 'problems', 'skips', 'fixes',
> 'regressions', 'enabled', 'disabled'])
>
> # Index.html is a bit of a special case since there is index, all, and
> # alltests, where the other pages all use the same name. ie,
> # changes.html, changes, and page=changes.
> --
> 2.17.0
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/piglit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20180502/f7167aa2/attachment.sig>
More information about the Piglit
mailing list