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