[Piglit] [PATCH 1/5] framework/html: guard against errors writing individual test results
Marek Olšák
maraeo at gmail.com
Wed May 2 20:32:43 UTC 2018
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()
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
More information about the Piglit
mailing list