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