buildframework/helium/tools/common/python/lib/test/test_filter_heliumlog.py
author wbernard
Wed, 23 Dec 2009 19:29:07 +0200
changeset 179 d8ac696cc51f
permissions -rw-r--r--
helium_7.0-r14027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     1
#============================================================================ 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     2
#Name        : test_filter_heliumlog.py 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     3
#Part of     : Helium 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     4
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     5
#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     6
#All rights reserved.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     7
#This component and the accompanying materials are made available
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     8
#under the terms of the License "Eclipse Public License v1.0"
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     9
#which accompanies this distribution, and is available
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    10
#at the URL "http://www.eclipse.org/legal/epl-v10.html".
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    11
#
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    12
#Initial Contributors:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    13
#Nokia Corporation - initial contribution.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    14
#
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    15
#Contributors:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    16
#
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    17
#Description:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    18
#===============================================================================
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    19
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    20
""" Test cases for filter meta data logs.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    21
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    22
"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    23
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    24
# pylint: disable-msg=E1101
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    25
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    26
import logging
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    27
import os
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    28
import sys
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    29
import time
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    30
import mocker
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    31
import re
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    32
import tempfile
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    33
import shutil
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    34
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    35
_logger = logging.getLogger('test.test_filter_heliumlog')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    36
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    37
TEMP_PATH = tempfile.mkdtemp()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    38
#NOTE: THE COMMENTED OUT CODE IS REQUIRED WHEN RUNNING THIS TEST USING THE PT TARGET
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    39
#WITH THE COMMENTED OUT CODE IT DOES NOT WORK IN THE FULL UNITTEST TARGET DUE TO RAPTOR.PY
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    40
#FILE BEING CALLED WITHOUT ALL THE ENVIRONMENT VARIABLES SET WHEN RUN SINGLY AND THEY ARE SET WHEN
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    41
#RUN AS PART OF THE UNITTEST TARGET.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    42
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    43
PYTHON_FILE_NAME = os.path.join(TEMP_PATH, 'raptor.py')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    44
FILTER_FILE_NAME = os.path.join(TEMP_PATH, 'filter_interface.py')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    45
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    46
sys.path = [TEMP_PATH] + sys.path
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    47
print "temp path is %s " % TEMP_PATH
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    48
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    49
def setup_module():
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    50
    """ Setup for test_filter_metadata """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    51
    #in order to allow the filter_metadata.py file to compile we need to create a dummy 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    52
    #raptor.py file as this is part of SBS and not present here, the classes and objects 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    53
    #it uses from raptor.py file are created in this file, the same goes for the file filter_interface.py
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    54
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    55
    #does not exist so create empty python.py file
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    56
    f_handle = open(PYTHON_FILE_NAME, "w")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    57
    f_handle.write("class testRaptor():\n")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    58
    f_handle.write("    def testRaptorFunc(self):\n")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    59
    f_handle.write("        return True \n")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    60
    f_handle.close()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    61
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    62
    #does not exist so create empty python.py file
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    63
    f_handle = open(FILTER_FILE_NAME, "w")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    64
    f_handle.write("class Filter():\n")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    65
    f_handle.write("    def testFilterFunc(self):\n")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    66
    f_handle.write("        return True \n")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    67
    f_handle.close()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    68
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    69
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    70
def teardown_module():
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    71
    """ Teardown test_filter_metadata. """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    72
    if os.path.exists(TEMP_PATH):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    73
        shutil.rmtree(TEMP_PATH)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    74
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    75
# regex for "bare" drive letters  
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    76
DRIVERE = re.compile('^[A-Za-z]:$')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    77
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    78
# are we on windows, and if so what is the current drive letter
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    79
ISWIN = sys.platform.lower().startswith("win")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    80
if ISWIN:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    81
    DRIVE = re.match('^([A-Za-z]:)', os.getcwd()).group(0)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    82
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    83
# Base class
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    84
class Path(object):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    85
    """This class represents a file path.                                      
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    86
                                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    87
    A generic path object supports operations without needing to know          
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    88
    about Windows and Linux differences. The standard str() function can       
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    89
    obtain a string version of the path in Local format for use by             
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    90
    platform-specific functions (file opening for example).                    
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    91
                                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    92
    We use forward slashes as path separators (even on Windows).               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    93
                                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    94
    For example,                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    95
                                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    96
      path1 = generic_path.Path("/foo")                                        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    97
      path2 = generic_path.Path("bar", "bing.bang")                            
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    98
                                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    99
      print str(path1.Append(path2))                                           
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   100
                                                                               
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   101
    Prints /foo/bar/bing.bang   on Linux                                       
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   102
    Prints c:/foo/bar/bing.bang   on Windows (if c is the current drive)       
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   103
    """                                                                        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   104
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   105
    def __init__(self, *arguments):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   106
        """construct a path from a list of path elements"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   107
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   108
        if len(arguments) == 0:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   109
            self.path = ""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   110
            return
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   111
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   112
        list = []
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   113
        for i, arg in enumerate(arguments):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   114
            if ISWIN:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   115
                if i == 0:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   116
                    # If the first element starts with \ or / then we will
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   117
                    # add the current drive letter to make a fully absolute path
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   118
                    if arg.startswith("\\\\"):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   119
                        list.append(arg) # A UNC path - don't mess with it
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   120
                    elif arg.startswith("\\") or arg.startswith("/"):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   121
                        list.append(DRIVE + arg)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   122
                    # If the first element is a bare drive then dress it with a \
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   123
                    # temporarily otherwise "join" will not work properly.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   124
                    elif DRIVERE.match(arg):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   125
                        list.append(arg + "\\")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   126
                    # nothing special about the first element
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   127
                    else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   128
                        list.append(arg)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   129
                else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   130
                    if arg.startswith("\\\\"):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   131
                        raise ValueError("non-initial path components must not start with \\\\ : %s" % arg)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   132
                    else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   133
                        list.append(arg)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   134
                if ";" in arg:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   135
                    raise ValueError("An individual windows Path may not contain ';' : %s" % arg)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   136
            else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   137
                list.append(arg)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   138
      
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   139
        self.path = os.path.join(*list)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   140
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   141
        # normalise to avoid nastiness with dots and multiple separators
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   142
        # but do not normalise "" as it will become "."
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   143
        if self.path != "":
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   144
            self.path = os.path.normpath(self.path)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   145
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   146
        # always use forward slashes as separators
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   147
        self.path = self.path.replace("\\", "/")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   148
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   149
        # remove trailing slashes unless we are just /
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   150
        if self.path != "/":
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   151
            self.path = self.path.rstrip("/")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   152
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   153
    def Dir(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   154
        "return an object for the directory part of this path"
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   155
        if DRIVERE.match(self.path):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   156
            return Path(self.path)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   157
        else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   158
            return Path(os.path.dirname(self.path))
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   159
    def __str__(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   160
        return self.path
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   161
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   162
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   163
class Raptor(object):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   164
    """An instance of a running Raptor program.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   165
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   166
    When operated from the command-line there is a single Raptor object
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   167
    created by the Main function. When operated by an IDE several Raptor
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   168
    objects may be created and operated at the same time."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   169
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   170
    def defaultSetUp(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   171
        """ setup some variables for use by the unit under test """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   172
        self.logFile = None #self.mocker.proxy(generic_path.Join)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   173
        self.summary = True
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   174
        # things to initialise
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   175
        self.starttime = time.time()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   176
        self.timestring = time.strftime("%Y-%m-%d-%H-%M-%S")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   177
        self.logFileName = Path(os.path.join(TEMP_PATH, 'makefile_2009-11-12-12-32-34.log'))
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   178
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   179
class FilterHeliumLogTest(mocker.MockerTestCase):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   180
    """ Tests the filter_heliumLog wrapper to the SBS plugin. 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   181
    The plugin uses the SBS API of open, write, summary and close. """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   182
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   183
#    def test_a_setupOK(self):       #need to call it this to get it executed in the right order (alphabetical)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   184
#        """test_a_setupOK: tests that we have imported the correct files and that they are present 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   185
#        before importing the file to be tested and having it fail due to missing files"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   186
#        import filter_heliumlog
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   187
#        #setup an instance of the class and test it exists OK
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   188
#        obj = filter_heliumlog.raptor.testRaptor()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   189
#        result = obj.testRaptorFunc()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   190
#        assert result == True
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   191
#        obj = filter_heliumlog.filter_interface.Filter()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   192
#        result = obj.testFilterFunc()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   193
#        assert result == True
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   194
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   195
    def test_openWriteSummaryCloseInvalidData(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   196
        """test_openWriteSummaryCloseInvalidData: test the opening writing, summary and 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   197
        closing of the log file with invalid data."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   198
        import filter_heliumlog
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   199
        obj = self.mocker.patch(filter_heliumlog.SBSScanlog)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   200
        obj.initialize(mocker.ANY)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   201
        self.mocker.result(False)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   202
        self.mocker.replay()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   203
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   204
        raptor_instance = Raptor()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   205
        raptor_instance.defaultSetUp()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   206
        raptor_instance.logFileName = Path("..")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   207
        filter_HLog = filter_heliumlog.FilterHeliumLog()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   208
        result = filter_HLog.open(raptor_instance)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   209
        assert result == False
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   210
        result = filter_HLog.close()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   211
        assert result == False
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   212
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   213
    def test_openValidData_default(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   214
        """test_openValidData_default: test the opening of the log file with valid data."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   215
        import filter_heliumlog
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   216
        obj = self.mocker.patch(filter_heliumlog.SBSScanlog)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   217
        obj.initialize(mocker.ANY)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   218
        self.mocker.result(True)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   219
        self.mocker.replay()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   220
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   221
        raptor_instance = Raptor()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   222
        raptor_instance.defaultSetUp()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   223
        filter_HLog = filter_heliumlog.FilterHeliumLog()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   224
        result = filter_HLog.open(raptor_instance)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   225
        assert result == True
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   226
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   227
    def test_openValidData_empty(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   228
        """test_openValidData_empty: test the opening of the log file with valid data."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   229
        import filter_heliumlog
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   230
        obj = self.mocker.patch(filter_heliumlog.SBSScanlog)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   231
        obj.initialize(mocker.ANY)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   232
        self.mocker.result(True)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   233
        self.mocker.replay()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   234
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   235
        raptor_instance = Raptor()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   236
        raptor_instance.defaultSetUp()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   237
        raptor_instance.logFileName = Path("")
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   238
        filter_HLog = filter_heliumlog.FilterHeliumLog()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   239
        result = filter_HLog.open(raptor_instance)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   240
        assert result == True
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   241
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   242
    def test_openValidData_stdout(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   243
        """test_openValidData_stdout: test the opening of the log file with valid data."""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   244
        import filter_heliumlog
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   245
        obj = self.mocker.patch(filter_heliumlog.SBSScanlog)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   246
        obj.initialize(mocker.ANY)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   247
        self.mocker.count(0, 0)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   248
        self.mocker.replay()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   249
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   250
        raptor_instance = Raptor()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   251
        raptor_instance.defaultSetUp()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   252
        raptor_instance.logFileName = None
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   253
        filter_HLog = filter_heliumlog.FilterHeliumLog()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   254
        result = filter_HLog.open(raptor_instance)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   255
        assert result == True
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
   256