From: Nicolai Hähnle <nicolai.haeh...@amd.com> v2: check ENAMETOOLONG --- framework/summary/html_.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/framework/summary/html_.py b/framework/summary/html_.py index f7fdc8576..14dd76fa8 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,33 @@ 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: + if e.errno == errno.ENAMETOOLONG: + print('WARN: filename "{}" too long'.format(html_name)) + else: + raise 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@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit