Revision 1dc73a5d snf-tools/synnefo_tools/burnin/logger.py
b/snf-tools/synnefo_tools/burnin/logger.py | ||
---|---|---|
54 | 54 |
import os.path |
55 | 55 |
import datetime |
56 | 56 |
|
57 |
import filelocker |
|
57 |
from synnefo_tools.burnin import filelocker
|
|
58 | 58 |
|
59 | 59 |
|
60 | 60 |
# -------------------------------------------------------------------- |
... | ... | |
87 | 87 |
return "\x1b[31m" + str(msg) + "\x1b[0m" |
88 | 88 |
|
89 | 89 |
|
90 |
def _ts_start(msg):
|
|
91 |
"""New testsuite color"""
|
|
90 |
def _magenta(msg):
|
|
91 |
"""Magenta color"""
|
|
92 | 92 |
return "\x1b[35m" + str(msg) + "\x1b[0m" |
93 | 93 |
|
94 | 94 |
|
95 |
def _ts_success(msg): |
|
96 |
"""Testsuite passed color""" |
|
97 |
return "\x1b[42m" + str(msg) + "\x1b[0m" |
|
98 |
|
|
99 |
|
|
100 |
def _ts_failure(msg): |
|
101 |
"""Testsuite failed color""" |
|
102 |
return "\x1b[41m" + str(msg) + "\x1b[0m" |
|
95 |
def _green(msg): |
|
96 |
"""Green color""" |
|
97 |
return "\x1b[32m" + str(msg) + "\x1b[0m" |
|
103 | 98 |
|
104 | 99 |
|
105 | 100 |
def _format_message(msg, *args): |
... | ... | |
155 | 150 |
# We didn't find our section?? |
156 | 151 |
sys.stderr.write("Section %s could not be found in logging file\n" |
157 | 152 |
% section) |
158 |
sys.exit(1)
|
|
153 |
sys.exit("Error in logger._locate_input")
|
|
159 | 154 |
|
160 | 155 |
|
161 | 156 |
def _add_testsuite_results(contents, section, testsuite): |
... | ... | |
176 | 171 |
else: |
177 | 172 |
sys.stderr.write("Unknown section %s in _add_testsuite_results\n" |
178 | 173 |
% section) |
179 |
sys.exit(1)
|
|
174 |
sys.exit("Error in logger._add_testsuite_results")
|
|
180 | 175 |
return contents |
181 | 176 |
|
182 | 177 |
|
... | ... | |
236 | 231 |
self.use_colors = use_colors |
237 | 232 |
self.in_parallel = in_parallel |
238 | 233 |
|
234 |
assert output_dir |
|
235 |
|
|
239 | 236 |
# Create file for logging |
240 | 237 |
output_dir = os.path.expanduser(output_dir) |
241 | 238 |
if not os.path.exists(output_dir): |
242 | 239 |
self.debug(None, "Creating directory %s", output_dir) |
243 |
os.makedirs(output_dir) |
|
240 |
try: |
|
241 |
os.makedirs(output_dir) |
|
242 |
except OSError as err: |
|
243 |
msg = ("Failed to create folder \"%s\" with error: %s\n" |
|
244 |
% (output_dir, err)) |
|
245 |
sys.stderr.write(msg) |
|
246 |
sys.exit("Failed to create log folder") |
|
247 |
|
|
244 | 248 |
timestamp = datetime.datetime.strftime( |
245 | 249 |
datetime.datetime.now(), "%Y%m%d%H%M%S (%a %b %d %Y %H:%M)") |
246 | 250 |
file_name = timestamp + ".log" |
... | ... | |
267 | 271 |
def __del__(self): |
268 | 272 |
"""Delete the Log object""" |
269 | 273 |
# Remove the lock file |
270 |
file_lock = os.path.splitext(self.file_location)[0] + LOCK_EXT |
|
271 |
try: |
|
272 |
os.remove(file_lock) |
|
273 |
except OSError: |
|
274 |
self.debug(None, "Couldn't delete lock file") |
|
274 |
if hasattr(self, "file_location"): |
|
275 |
file_lock = os.path.splitext(self.file_location)[0] + LOCK_EXT |
|
276 |
try: |
|
277 |
os.remove(file_lock) |
|
278 |
except OSError: |
|
279 |
self.debug(None, "Couldn't delete lock file") |
|
275 | 280 |
|
276 | 281 |
# ---------------------------------- |
277 | 282 |
# Logging methods |
... | ... | |
377 | 382 |
|
378 | 383 |
# Add new section to the stdout |
379 | 384 |
msg = "Starting testsuite %s" % testsuite |
380 |
colored_msg = self._color_message(_ts_start, msg)
|
|
385 |
colored_msg = self._color_message(_magenta, msg)
|
|
381 | 386 |
self._write_to_stdout(None, colored_msg) |
382 | 387 |
|
383 | 388 |
def testsuite_success(self, testsuite): |
... | ... | |
393 | 398 |
|
394 | 399 |
# Add success to stdout |
395 | 400 |
msg = "Testsuite %s passed" % testsuite |
396 |
colored_msg = self._color_message(_ts_success, msg)
|
|
401 |
colored_msg = self._color_message(_green, msg)
|
|
397 | 402 |
self._write_to_stdout(None, colored_msg) |
398 | 403 |
|
399 | 404 |
def testsuite_failure(self, testsuite): |
... | ... | |
409 | 414 |
|
410 | 415 |
# Add success to stdout |
411 | 416 |
msg = "Testsuite %s failed" % testsuite |
412 |
colored_msg = self._color_message(_ts_failure, msg)
|
|
417 |
colored_msg = self._color_message(_red, msg)
|
|
413 | 418 |
self._write_to_stdout(None, colored_msg) |
414 | 419 |
|
415 | 420 |
# ---------------------------------- |
Also available in: Unified diff