~ara/ubuntu/lucid/mago/fix_tests_lucid

« back to all changes in this revision

Viewing changes to mago/cmd/result.py

  • Committer: Bazaar Package Importer
  • Author(s): Ara Pulido
  • Date: 2009-08-04 09:21:40 UTC
  • Revision ID: james.westby@ubuntu.com-20090804092140-7ggrh3nlujflk0v8
Tags: upstream-0.1
ImportĀ upstreamĀ versionĀ 0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
"""
 
2
This module provides a class to easily store test results
 
3
"""
 
4
from time import strftime
 
5
from shutil import move
 
6
import ldtputils
 
7
 
 
8
from . import globals
 
9
from .utils import safe_make_directory
 
10
 
 
11
class ResultDict(dict):
 
12
    """
 
13
    Dictionary-like class to store test case results
 
14
    """
 
15
    def __setitem__(self, key, value):
 
16
        """
 
17
        Set value as a one element list using key
 
18
        """
 
19
        dict.__setitem__(self, key, [value])
 
20
 
 
21
 
 
22
    def append(self, key, value):
 
23
        """
 
24
        Append a result using key
 
25
        """
 
26
        values = self.get(key, None)
 
27
        if not values:
 
28
            self[key] = value
 
29
        else:
 
30
            values.append(value)
 
31
 
 
32
 
 
33
    def append_screenshot(self, screenshot_file=None):
 
34
        """
 
35
        Take screenshot and append the filename to screenshot results
 
36
        """
 
37
        _logFile = "%s/screenshot-%s.png" % (globals.SCREENSHOTS_SHARE,
 
38
                                             strftime ("%m-%d-%Y-%H-%M-%s"))
 
39
        safe_make_directory(globals.SCREENSHOTS_SHARE)
 
40
        if not screenshot_file:
 
41
            ldtputils.imagecapture(outFile = _logFile)
 
42
        else:
 
43
            move(screenshot_file, _logFile)
 
44
        self.append('screenshot', _logFile)