buildframework/helium/sf/python/pythoncore/lib/pythoncorecpythontests/test_parsers.py
author wbernard
Fri, 13 Aug 2010 14:59:05 +0300
changeset 628 7c4a911dc066
parent 588 c7c26511138f
permissions -rw-r--r--
helium_11.0.0-e00f171ca185
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     1
# -*- encoding: latin-1 -*-
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
#============================================================================ 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
#Name        : test_parsers.py 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
#Part of     : Helium 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
#All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
#This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
#under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
#which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
#at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
#
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
#Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
#Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
#
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
#Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
#
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    19
#Description:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    20
#===============================================================================
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    21
""" test parsers"""
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    22
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    23
import os
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    24
import tempfile
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    25
import mocker
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
from path import path
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
import StringIO
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
import ats3.parsers
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
import ats3.testconfigurator
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
import logging
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
logging.getLogger().setLevel(logging.ERROR)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
TSRC_DIR = None
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
def setup_module():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
    """Setup the test environment. The testing of the test parser script requires spesific
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
    structure to be available with bld.inf files (with the content written into those)."""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
    global TSRC_DIR
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
    TSRC_DIR = path(tempfile.mkdtemp()).normpath()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
    test_component = TSRC_DIR
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
    for path_parts in (("tsrc", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
                       ("tsrc", "tc1", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
                       ("tsrc", "tc1", "data"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
                       ("tsrc", "tc1", "dependent_1", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
                       ("tsrc", "tc1", "dependent_2", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
                       ("tsrc", "tc1", "subtest", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
                       ("tsrc", "tc1", "subtest", "data"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
                       ("tsrc", "tc1", "subtest", "if_test", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
                       ("tsrc", "tc2", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
                       ("tsrc", "tc2", "data"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
                       ("tsrc", "tc3", "group"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
                       ("tsrc", "tc3", "data"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
                       ("tmp", "macros"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
                       ):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
        filepath = path.joinpath(test_component, *path_parts).normpath()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
        if not filepath.exists():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
            os.makedirs(filepath)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
    tsrc = open(path.joinpath(TSRC_DIR, "tsrc", "group", "bld.inf"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
    tsrc.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
#include "../tc1/group/bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
#include "../tc2/group/bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
#include "../tc3/group/bld.inf" 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    71
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
    tsrc.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
    tc1 = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "group", "bld.inf"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
    tc1.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
#include "../dependent_1/group/bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
#include "../dependent_2/group/bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
#include "../subtest/group/bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    82
tc1.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    83
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    84
PRJ_MMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    85
not_included.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    86
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    87
    tc1.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    88
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    89
    tc1_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "group", "tc1.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    90
    tc1_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    91
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    92
TARGET          tc1.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    93
TARGETTYPE      dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    94
LIBRARY         stiftestinterface.lib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    95
LIBRARY         user.lib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    96
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    97
    tc1_mmp.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    98
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    99
    tc1_sub = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "subtest", "group", "bld.inf"), "w")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   100
    tc1_sub.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   101
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   102
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   103
sub_test.mmp    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   104
#ifndef RD_TEST1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   105
#include "../if_test/group/bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   106
#endif
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   107
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   108
    tc1_sub.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   109
    tc1_sub_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "subtest", "group", "sub_test.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   110
    tc1_sub_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   111
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   112
TARGET          sub_test.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   113
TARGETTYPE      dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   114
LIBRARY         stiftestinterface.lib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   115
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   116
    tc1_sub_mmp.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   117
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   118
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   119
    tc1_if = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "subtest", "if_test", "group", "bld.inf"), "w")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   120
    tc1_if.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   121
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   122
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   123
if_test.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   124
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   125
    tc1_if.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   126
    tc1_if_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "subtest", "if_test", "group", "if_test.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   127
    tc1_if_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   128
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   129
TARGET          tc1_if.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   130
TARGETTYPE      dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   131
LIBRARY         stifunit.lib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   132
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   133
    tc1_if_mmp.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   134
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   135
    tc1_dep1 = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "dependent_1", "group", "bld.inf"), "w")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   136
    tc1_dep1.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   137
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   138
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   139
dependent_1.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   140
onemore.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   141
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   142
    tc1_dep1.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   143
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   144
    tc1_dep1_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "dependent_1", "group", "dependent_1.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   145
    tc1_dep1_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   146
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   147
TARGET          dependent_1.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   148
TARGETTYPE      PLUGIN
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   149
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   150
    tc1_dep1_mmp.close()
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   151
    
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   152
    tc1_dep2_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "dependent_1", "group", "onemore.mmp"), 'w')
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   153
    tc1_dep2_mmp.write(
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   154
            r"""
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   155
TARGET          onemore.dll
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   156
TARGETTYPE      PLUGIN
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   157
            """)
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   158
    tc1_dep2_mmp.close()
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   159
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   160
    tc1_dep2 = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "dependent_2", "group", "bld.inf"), "w")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   161
    tc1_dep2.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   162
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   163
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   164
dependent_2.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   165
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   166
    tc1_dep2.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   167
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   168
    tc1_dep2_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "dependent_2", "group", "dependent_2.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   169
    tc1_dep2_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   170
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   171
TARGET          dependent_2.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   172
TARGETTYPE      PLUGIN
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   173
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   174
    tc1_dep2_mmp.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   175
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   176
    tc1_pkg = open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "group", "tc1.pkg"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   177
    tc1_pkg.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   178
                  r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   179
;Language - standard language definitions
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   180
&EN
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   181
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   182
; standard SIS file header
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   183
#{"BTEngTestApp"},(0x04DA27D5),1,0,0
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   184
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   185
;Supports Series 60 v 3.0
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   186
(0x101F7961), 0, 0, 0, {"Series60ProductID"}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   187
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   188
;Localized Vendor Name
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   189
%{"BTEngTestApp"}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   190
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   191
;Unique Vendor name
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   192
:"Nokia"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   193
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   194
; Files to copy
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   195
"..\data\file1.dll"-"c:\sys\bin\file1.dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   196
"..\data\file1.txt"-"e:\sys\bin\file1.txt" , FF   ; FF stands for Normal file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   197
"..\data\file2.mp3"-"e:\sys\bin\file2.mp3"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   198
"..\data\TestFramework.ini"-"c:\sys\bin\TestFramework.ini"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   199
;"..\xyz\TestFramework.ini"-"!:\sys\bin\TestFramework.ini" (commented line)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   200
"../data/temp.ini"-"!:/sys/bin/temp.ini" , FF ; "something here"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   201
"..\data\tc1.cfg"-"e:\sys\bin\tc1.cfg"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   202
"..\data\tc1.sisx"-"e:\sys\bin\tc1.sisx"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   203
"..\data\DUMP.xyz"-"e:\sys\bin\DUMP.xyz"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   204
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   205
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   206
        """.replace('\\', os.sep))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   207
    tc1_pkg.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   208
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   209
    open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "data", "file1.dll"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   210
    open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "data", "file1.txt"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   211
    open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "data", "file2.mp3"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   212
    open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "data", "TestFramework.ini"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   213
    open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "data", "temp.ini"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   214
    open(path.joinpath(TSRC_DIR, "tsrc", "tc1", "data", "DUMP.xyz"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   215
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   216
    tc2 = open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "group", "bld.inf"), "w")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   217
    tc2.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   218
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   219
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   220
tc2.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   221
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   222
    tc2.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   223
    tc2_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "group", "tc2.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   224
    tc2_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   225
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   226
TARGET          tc2.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   227
TARGETTYPE      dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   228
LIBRARY         EUnit.lib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   229
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   230
    tc2_mmp.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   231
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   232
    tc2_pkg = open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "group", "tc2.pkg"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   233
    tc2_pkg.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   234
                  r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   235
;Language - standard language definitions
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   236
&EN
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   237
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   238
; standard SIS file header
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   239
#{"BTEngTestApp"},(0x04DA27D5),1,0,0
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   240
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   241
;Supports Series 60 v 3.0
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   242
(0x101F7961), 0, 0, 0, {"Series60ProductID"}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   243
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   244
;Localized Vendor Name
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   245
%{"BTEngTestApp"}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   246
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   247
;Unique Vendor name
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   248
:"Nokia"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   249
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   250
; Files to copy
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   251
"..\data\file1.dll"-"c:\sys\bin\file1.dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   252
"..\data\file1.txt"-"e:\sys\bin\file1.txt"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   253
"..\data\file2.mp3"-"e:\sys\bin\file2.mp3"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   254
"..\data\TestFramework.ini"-"!:\sys\bin\TestFramework.ini" , FF   ; FF stands for Normal file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   255
"..\data\tc2.cfg"-"!:\sys\bin\tc2.cfg"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   256
        """.replace('\\', os.sep))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   257
    tc2_pkg.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   258
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   259
    open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "data", "file1.dll"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   260
    open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "data", "file1.txt"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   261
    open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "data", "file2.mp3"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   262
    open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "data", "TestFramework.ini"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   263
    open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "data", "tc2.cfg"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   264
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   265
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   266
    tc3 = open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "group", "bld.inf"), "w")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   267
    tc3.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   268
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   269
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   270
tc3.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   271
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   272
    tc3.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   273
    tc3_mmp = open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "group", "tc3.mmp"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   274
    tc3_mmp.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   275
            r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   276
TARGET          tc3.dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   277
TARGETTYPE      dll
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   278
LIBRARY         EUnit.lib
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   279
            """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   280
    tc3_mmp.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   281
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   282
    tc3_pkg = open(path.joinpath(TSRC_DIR, "tsrc", "tc2", "group", "tc2.pkg"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   283
    tc3_pkg.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   284
                  r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   285
;Language - standard language definitions
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   286
&EN
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   287
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   288
; standard SIS file header
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   289
#{"BTEngTestApp"},(0x04DA27D5),1,0,0
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   290
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   291
;Supports Series 60 v 3.0
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   292
(0x101F7961), 0, 0, 0, {"Series60ProductID"}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   293
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   294
;Localized Vendor Name
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   295
%{"BTEngTestApp"}
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   296
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   297
;Unique Vendor name
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   298
:"Nokia"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   299
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   300
; Files to copy
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   301
"..\data\file1.dll"-"c:\sys\bin\file1.dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   302
"..\data\file1.txt"-"e:\sys\bin\file1.txt"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   303
"..\data\file2.mp3"-"e:\sys\bin\file2.mp3" , FF   ; FF stands for Normal file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   304
"..\data\TestFramework.ini"-"!:\sys\bin\TestFramework.ini"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   305
"..\data\temp.ini"-"!:\sys\bin\temp.ini"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   306
"..\data\tc2.cfg"-"!:\sys\bin\tc2.cfg"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   307
        """.replace('\\', os.sep))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   308
    tc3_pkg.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   309
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   310
    open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "data", "file1.dll"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   311
    open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "data", "file1.txt"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   312
    open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "data", "file2.mp3"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   313
    open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "data", "TestFramework.ini"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   314
    open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "data", "temp.ini"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   315
    open(path.joinpath(TSRC_DIR, "tsrc", "tc3", "data", "tc2.cfg"), 'w').close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   316
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   317
    macros = open(path.joinpath(TSRC_DIR, "tmp", "macros", "bldcodeline.hrh"), 'w')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   318
    macros.write(
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   319
              r"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   320
#ifndef __BLDCODELINE_HRH
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   321
#define __BLDCODELINE_HRH
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   322
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   323
/** #RD_TEST */
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   324
#define RD_TEST1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   325
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   326
/** #RD_TEST2 */
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   327
#define RD_TEST2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   328
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   329
/** #RD_TEST3 */
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   330
#define RD_TEST3
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   331
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   332
#endif  // __BLDCODELINE_HRH
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   333
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   334
    """)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   335
    macros.close()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   336
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   337
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   338
def teardown_module():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   339
    """ Cleanup environment after testing. """    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   340
    def __init__():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   341
        TSRC_DIR.rmtree()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   342
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   343
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   344
#        list_of_paths = []
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   345
#        list_of_paths = path.walk(TSRC_DIR)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   346
#        for file in list_of_paths[2]:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   347
#            continue
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   348
#        for dir in list_of_paths[1]:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   349
#            continue
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   350
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   351
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   352
class TestPkgFileParser(mocker.MockerTestCase):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   353
    """Testing Package file parser"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   354
    def __init__(self, methodName="runTest"):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   355
        mocker.MockerTestCase.__init__(self, methodName)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   356
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   357
    def setUp(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   358
        """Setup for PkgFile parser"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   359
        self.pkg_file_path1 = os.path.normpath(os.path.join(TSRC_DIR, "tsrc", "tc1", "group"))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   360
        self.pkg_file_path2 = os.path.normpath(os.path.join(TSRC_DIR, "tsrc", "tc2", "group"))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   361
        self.pkg_file_path3 = os.path.normpath(os.path.join(TSRC_DIR, "tsrc", "tc3", "group"))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   362
        self.tcp = ats3.parsers.PkgFileParser("tc1.pkg")        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   363
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   364
        self.data_files = [
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   365
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "file1.dll").normpath(), path(r"c:" + os.sep + "sys" + os.sep + "bin" + os.sep + "file1.dll").normpath(), "data:dependent", 'tc1.pkg'),
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   366
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "file1.txt").normpath(), path(r"e:" + os.sep + "sys" + os.sep + "bin" + os.sep + "file1.txt").normpath(), "data", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   367
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "file2.mp3").normpath(), path(r"e:" + os.sep + "sys" + os.sep + "bin" + os.sep + "file2.mp3").normpath(), "data", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   368
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "TestFramework.ini").normpath(), path(r"c:" + os.sep + "sys" + os.sep + "bin" + os.sep + "TestFramework.ini").normpath(), "engine_ini", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   369
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "temp.ini").normpath(), path(r"c:" + os.sep + "sys" + os.sep + "bin" + os.sep + "temp.ini").normpath(), "engine_ini", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   370
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "tc1.cfg").normpath(), path(r"e:" + os.sep + "sys" + os.sep + "bin" + os.sep + "tc1.cfg").normpath(), "conf", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   371
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "tc1.sisx").normpath(), path(r"e:" + os.sep + "sys" + os.sep + "bin" + os.sep + "tc1.sisx").normpath(), "", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   372
            (path(TSRC_DIR+r"" + os.sep + "tsrc" + os.sep + "tc1" + os.sep + "data" + os.sep + "DUMP.xyz").normpath(), path(r"e:" + os.sep + "sys" + os.sep + "bin" + os.sep + "DUMP.xyz").normpath(), "data", 'tc1.pkg'),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   373
            ]
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   374
        for p, _, _, _ in self.data_files:
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   375
            open(p, 'w').close()
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   376
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   377
    def test_get_pkg_files(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   378
        """Test if pkg files are returned from a specified location"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   379
        assert self.tcp.get_pkg_files(self.pkg_file_path1, False) == ["tc1.pkg"]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   380
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   381
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   382
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   383
    def test_parser_receives_path(self):      
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   384
        """Test if None is returned when a path to PKG file is incorrect"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   385
        assert self.tcp.get_data_files("string") == []
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   386
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   387
    def test_data_files_creation_without_exclude(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   388
        """ Tests if PKG file parser creates data files list as expected without exclude"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   389
        assert self.tcp.get_data_files(self.pkg_file_path1, "d:") == self.data_files
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   390
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   391
    def test_data_files_creation_with_exclude(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   392
        """ Tests if PKG file parser creates data files list as expected with exclude"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   393
        self.data_files.pop()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   394
        assert self.tcp.get_data_files(self.pkg_file_path1, "d:", "\.xyz") == self.data_files
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   395
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   396
    def test_data_files_create_no_drive_wth_excl(self):
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   397
        """ Tests if PKG file parser creates data files list as expected without drive with exclude"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   398
        self.data_files.pop()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   399
        assert self.tcp.get_data_files(self.pkg_file_path1, "", "\.xyz") == self.data_files
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   400
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   401
    def test_data_file_creation_no_drive_no_excl(self):
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   402
        """ Tests if PKG file parser creates data files list as expected without drive without exclude"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   403
        assert self.tcp.get_data_files(self.pkg_file_path1, "") == self.data_files
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   404
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   405
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   406
class TestCppParser(mocker.MockerTestCase):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   407
    """Testing CPP parser"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   408
    def __init__(self, methodName="runTest"):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   409
        mocker.MockerTestCase.__init__(self, methodName)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   410
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   411
    def setUp(self):
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   412
        """setUp called before running tests automatically"""
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   413
        self.bld_path = os.path.normpath(os.path.join(TSRC_DIR, "tsrc", "group"))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   414
        self.bld_path_comp1 = os.path.normpath(os.path.join(TSRC_DIR, "tsrc", "tc1", "group"))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   415
        self.tcp = ats3.parsers.CppParser()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   416
        upper_bld_path = os.path.dirname(self.bld_path)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   417
        
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   418
        self.dependent_paths_dictionary = {(os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/subtest/if_test/group"))): {'content': {(os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/subtest/if_test/group"))): {'pkg_files': [], 'mmp_files': ['if_test.mmp'], 'dll_files': {'tc1_if.dll': 'STIFUNIT'}, 'harness': 'STIFUNIT', 'type': ''}}},
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   419
                                            (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc2//group"))): {'content': {(os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc2/group"))): {'pkg_files': ['tc2.pkg'], 'mmp_files': ['tc2.mmp'], 'dll_files': {'tc2.dll': 'EUNIT'}, 'harness': 'EUNIT', 'type': 'executable'}}}, 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   420
                                            (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc3/group"))): {'content': {(os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc3/group"))): {'pkg_files':[], 'mmp_files': ['tc3.mmp'], 'dll_files': {'tc3.dll': 'EUNIT'},  'harness': 'EUNIT', 'type': 'executable'}}},
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   421
                                            (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group"))): {'content': {(os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/subtest/group"))): {'pkg_files': [], 'mmp_files': ['sub_test.mmp'], 'dll_files': {'sub_test.dll': 'STIF'}, 'harness': 'STIF', 'type': 'executable'}, 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   422
                                                                                                                                (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/dependent_1/group"))): {'pkg_files': [], 'mmp_files': ['dependent_1.mmp', 'onemore.mmp'],'dll_files': {'dependent_1.dll': '', 'onemore.dll': ''}, 'harness': "", 'type':'dependent'}, 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   423
                                                                                                                                (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/dependent_2/group"))): {'pkg_files': [], 'mmp_files': ['dependent_2.mmp'], 'dll_files': {'dependent_2.dll': ''}, 'harness': "", 'type': 'dependent'}, 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   424
                                                                                                                                (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group"))): {'pkg_files': ['tc1.pkg'], 'mmp_files': ['tc1.mmp'], 'dll_files': {'tc1.dll': 'STIF'}, 'harness': 'STIF', 'type': 'executable'}}}} 
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   425
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   426
        self.extended_path_list = [(os.path.normpath(upper_bld_path), upper_bld_path),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   427
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group")), upper_bld_path),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   428
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../dependent_1/group")), os.path.normpath(os.path.join(upper_bld_path, "../tc1/group"))),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   429
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../dependent_2/group")), os.path.normpath(os.path.join(upper_bld_path, "../tc1/group"))),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   430
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../subtest/group")), os.path.normpath(os.path.join(upper_bld_path, "../tc1/group"))),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   431
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../subtest/group/../if_test/group")), os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../subtest/group"))),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   432
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc2/group")), upper_bld_path),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   433
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc3/group")), upper_bld_path),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   434
                           (os.path.normpath(os.path.join(upper_bld_path, "../tsrc/group/group")), upper_bld_path),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   435
                           ]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   436
        self.path_list = [os.path.normpath(os.path.join(upper_bld_path, "group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   437
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   438
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../dependent_1/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   439
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../dependent_2/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   440
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../subtest/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   441
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc1/group/../subtest/group/../if_test/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   442
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc2/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   443
                           os.path.normpath(os.path.join(upper_bld_path, "../tsrc/tc3/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   444
                           ]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   445
        self.path_list_without_undefined = [os.path.normpath(upper_bld_path),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   446
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   447
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../dependent_1/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   448
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../dependent_2/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   449
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../subtest/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   450
                           os.path.normpath(os.path.join(upper_bld_path, "../tc2/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   451
                           os.path.normpath(os.path.join(upper_bld_path, "../tc3/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   452
                           ]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   453
        self.cpp_output = ['# 1 "bld.inf"', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   454
                           '# 1 "../tc1/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   455
                           '# 1 "../tc1/group/../dependent_1/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   456
                           '# 4 "../tc1/group/bld.inf" 2', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   457
                           '# 1 "../tc1/group/../dependent_2/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   458
                           '# 5 "../tc1/group/bld.inf" 2', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   459
                           '# 1 "../tc1/group/../subtest/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   460
                           '# 1 "../tc1/group/../subtest/group/../if_test/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   461
                           '# 4 "../tc1/group/../subtest/group/bld.inf" 2', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   462
                           '# 6 "../tc1/group/bld.inf" 2', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   463
                           '# 3 "bld.inf" 2', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   464
                           '# 1 "../tc2/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   465
                           '# 4 "bld.inf" 2', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   466
                           '# 1 "../tc3/group/bld.inf" 1', 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   467
                           '# 5 "bld.inf" 2']
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   468
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   469
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   470
         
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   471
    def test_pathlist_output(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   472
        """Test get_cpp_output-method using "n" -parameter"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   473
        assert self.path_list.sort() == self.tcp.get_cpp_output(self.bld_path, "n").sort()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   474
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   475
    def test_extended_pathlist_output(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   476
        """Test get_cpp_output-method using "e" -parameter"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   477
        assert self.extended_path_list.sort() == self.tcp.get_cpp_output(self.bld_path, "e").sort()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   478
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   479
    def test_dictionary_pathlist_output(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   480
        """Test get_cpp_output-method using "d" -parameter (dependent paths)"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   481
        output = """# 1 "bld.inf"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   482
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   483
# 1 "../tc1/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   484
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   485
# 1 "../tc1/group/../dependent_1/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   486
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   487
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   488
dependent_1.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   489
onemore.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   490
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   491
# 2 "../tc1/group/bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   492
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   493
# 1 "../tc1/group/../dependent_2/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   494
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   495
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   496
dependent_2.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   497
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   498
# 3 "../tc1/group/bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   499
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   500
# 1 "../tc1/group/../subtest/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   501
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   502
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   503
sub_test.mmp    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   504
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   505
# 1 "../tc1/group/../subtest/group/../if_test/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   506
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   507
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   508
if_test.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   509
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   510
# 5 "../tc1/group/../subtest/group/bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   511
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   512
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   513
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   514
# 4 "../tc1/group/bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   515
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   516
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   517
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   518
tc1.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   519
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   520
PRJ_MMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   521
not_included.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   522
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   523
# 2 "bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   524
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   525
# 1 "../tc2/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   526
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   527
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   528
tc2.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   529
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   530
# 3 "bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   531
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   532
# 1 "../tc3/group/bld.inf" 1
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   533
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   534
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   535
tc3.mmp
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   536
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   537
# 4 "bld.inf" 2
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   538
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   539
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   540
PRJ_TESTMMPFILES
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   541
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   542
            
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   543
"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   544
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   545
        result = self.tcp.create_dependency_dictionary(StringIO.StringIO(output), self.bld_path)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   546
        print "INPUT :", self.dependent_paths_dictionary
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   547
        print "OUTPUT:", result 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   548
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   549
        assert self.dependent_paths_dictionary == result
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   550
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   551
    def test_conditional_cpp_parsing(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   552
        """Test functionality of cpp parser when removing conditionals"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   553
        assert self.path_list_without_undefined.sort() == self.tcp.get_cpp_output(bld_path=self.bld_path, output_parameter="n", imacros=os.path.normpath(os.path.join(TSRC_DIR, "tmp", "macros", "bldcodeline.hrh"))).sort()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   554
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   555
class TestBldFileParser(mocker.MockerTestCase):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   556
    """Testing BldFileParser Class"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   557
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   558
    def __init__(self, methodName="runTest"):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   559
        mocker.MockerTestCase.__init__(self, methodName)
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   560
        self.mmp_file_path = None
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   561
        self.lst_test_mmp = []
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   562
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   563
    def setUp(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   564
        """Setup for BldFile parser"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   565
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   566
        self.bld_path = path.joinpath(TSRC_DIR, "tsrc", "group", "bld.inf").normpath()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   567
        upper_bld_path = self.bld_path.dirname()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   568
        self.tcp = ats3.parsers.BldFileParser()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   569
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   570
        self.test_mmp_files = [
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   571
                               ['tc1.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   572
                               ['dependent_1.mmp', 'onemore.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   573
                               ['dependent_2.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   574
                               ['sub_test.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   575
                               ['if_test.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   576
                               ['tc2.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   577
                               ["tc3.mmp"],
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   578
                               ]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   579
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   580
        self.path_list = [path.joinpath(upper_bld_path, "../tc1/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   581
                           path.joinpath(upper_bld_path, "../tc1/group/../dependent_1/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   582
                           path.joinpath(upper_bld_path, "../tc1/group/../dependent_2/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   583
                           path.joinpath(upper_bld_path, "../tc1/group/../subtest/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   584
                           path.joinpath(upper_bld_path, "../tc1/group/../subtest/group/../if_test/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   585
                           path.joinpath(upper_bld_path, "../tc2/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   586
                           path.joinpath(upper_bld_path, "../tc3/group").normpath(),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   587
                           ]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   588
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   589
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   590
    def test_testmmp_files_with_full_path(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   591
        """Test if mmp file is returned with its full path"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   592
        self.mmp_file_path = [path.joinpath(TSRC_DIR, "tsrc", "tc1", "group", "tc1.mmp").normpath()]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   593
        assert self.tcp.get_test_mmp_files(os.path.normpath(os.path.join(self.path_list[0], "bld.inf"))) == self.mmp_file_path
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   594
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   595
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   596
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   597
    def test_testmmp_files(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   598
        """Tests if test mmp files are included"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   599
        self.lst_test_mmp = []
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   600
        
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   601
        for p_list in self.path_list:
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   602
            self.lst_test_mmp.append(self.tcp.get_test_mmp_files(os.path.normpath(os.path.join(p_list, "bld.inf")), False))
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   603
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   604
        assert self.lst_test_mmp == self.test_mmp_files
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   605
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   606
    def test_ignore_comments(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   607
        """ Test if comments are ignored correctly. """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   608
        for input_, output in [
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   609
            ("abc.mmp /* apuva.mmp */ xyz.mmp", ("abc.mmp xyz.mmp")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   610
            ("abc.mmp /* apuva.mmp */", ("abc.mmp")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   611
            ("/* apuva.mmp */", ""),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   612
            ("  // apuva.mmp", ""),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   613
            ("   apuva.mmp", "apuva.mmp"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   614
            ("xyz.mmp // apuva.mmp", "xyz.mmp"),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   615
            ("abc.mmp /* apuva.mmp */ xyz.mmp //rst.mmp", ("abc.mmp xyz.mmp")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   616
            ]:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   617
            assert self.tcp.ignore_comments_from_input(input_) == output
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   618
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   619
    def test_broken_path(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   620
        """Tests if 'None' is returned when path is broken"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   621
        upper_bld_path = os.path.dirname(self.bld_path)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   622
        assert self.tcp.get_test_mmp_files(os.path.normpath(os.path.join(upper_bld_path, "../tc99/group"))) == None
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   623
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   624
    def test_empty_parameter(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   625
        """Tests if 'None' is returned when bld file path is empty"""
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   626
        _ = os.path.dirname(self.bld_path)
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   627
        assert self.tcp.get_test_mmp_files("") == None
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   628
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   629
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   630
class TestMmpFileParser(mocker.MockerTestCase):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   631
    """Testing MmpFileParser Class"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   632
    def __init__(self, methodName="runTest"):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   633
        mocker.MockerTestCase.__init__(self, methodName)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   634
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   635
    def setUp(self):
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   636
        """setUp called before tests are runn (automatically)"""
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   637
        self.bld_path = os.path.normpath(os.path.join(TSRC_DIR, "tsrc", "group", "bld.inf"))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   638
        upper_bld_path = os.path.dirname(self.bld_path)
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   639
        self.tcp = ats3.parsers.MmpFileParser(self.bld_path)
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   640
        self.tc1_type = "dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   641
        self.tc1_name = "tc1.dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   642
        self.tc1_dll_type = "executable"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   643
        self.tc1_harness = "STIF"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   644
        self.tc1_libraries = ['stiftestinterface.lib', 'user.lib']
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   645
        self.tc1_all = (self.tc1_name, self.tc1_type, self.tc1_libraries, self.tc1_harness)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   646
        self.tc1_no_harness = (self.tc1_name, self.tc1_type, self.tc1_libraries)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   647
        self.tc1_name_type = (self.tc1_name, self.tc1_type) 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   648
        self.tc1_iftest_harness = "STIFUNIT"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   649
        self.tc1_iftest_name = "tc1_if.dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   650
        self.tc1_iftest_type = "dll"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   651
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   652
        self.test_mmp_files = [['tc1.mmp'], ['dependent_1.mmp', 'onemore.mmp'], ['dependent_2.mmp'], ['sub_test.mmp'], ['if_test.mmp'], 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   653
                               ['tc2.mmp'], ["tc3.mmp"]]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   654
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   655
        self.path_list = [os.path.normpath(os.path.join(upper_bld_path, "../tc1/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   656
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../dependent_1/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   657
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../dependent_2/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   658
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../subtest/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   659
                           os.path.normpath(os.path.join(upper_bld_path, "../tc1/group/../subtest/group/../if_test/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   660
                           os.path.normpath(os.path.join(upper_bld_path, "../tc2/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   661
                           os.path.normpath(os.path.join(upper_bld_path, "../tc3/group")),
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   662
                           ]
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   663
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   664
    def test_get_dlltype(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   665
        """Test if get_filetype returns right type for given mmp"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   666
        assert self.tc1_dll_type == self.tcp.get_dll_type(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp'))) 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   667
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   668
    def test_get_target_filename(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   669
        """Test if get_filename returns right name for dll for given mmp"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   670
        assert self.tc1_name == self.tcp.get_target_filename(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   671
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   672
    def test_get_libraries(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   673
        """Test if get_harness returns right harness for given mmp"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   674
        assert self.tc1_libraries == self.tcp.get_libraries(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   675
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   676
    def test_get_harness(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   677
        """Test if get_harness returns right harness for given mmp"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   678
        assert self.tc1_harness == self.tcp.get_harness(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   679
    
628
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   680
    def test_get_mmp_harness(self):
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   681
        """ 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   682
        Testing required combinations of libraries with get_mmp_harness method and asserting the harness.
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   683
        """
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   684
        assert self.tcp.get_mmp_harness(None) == ""
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   685
        assert self.tcp.get_mmp_harness(["foo"]) == ""  # value, but unexpected
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   686
        #single values
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   687
        assert self.tcp.get_mmp_harness(["stiftestinterface.lib"]) == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   688
        assert self.tcp.get_mmp_harness(["eunit.lib"]) == "EUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   689
        assert self.tcp.get_mmp_harness(["qttest.lib"]) == "EUNIT"        
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   690
        assert self.tcp.get_mmp_harness(["testexecuteutils.lib"]) == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   691
        assert self.tcp.get_mmp_harness(["testframeworkclient.lib"]) == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   692
        assert self.tcp.get_mmp_harness(["rtest"]) == "GENERIC"        
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   693
        #tef gets priority even if other libraries exist 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   694
        #takeout only STIFUNIT.lib then TEF
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   695
        assert self.tcp.get_mmp_harness(["stiftestinterface.lib", "eunit.lib", "qttest.lib", "testexecuteutils.lib" , "testframeworkclient.lib", "rtest"]) == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   696
        #condition stif and eunit, then harness STIF
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   697
        assert self.tcp.get_mmp_harness(["stiftestinterface.lib", "eunit.lib"]) == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   698
        #condition stif and not eunit, then harness STIF
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   699
        assert self.tcp.get_mmp_harness(["stiftestinterface.lib", "stifunit.lib"]) == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   700
        #condition eunit and not stif , then harness EUNIT
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   701
        assert self.tcp.get_mmp_harness(["eunit.lib", "qttest.lib", "stifunit.lib"]) == "EUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   702
        #condition stifunit and not eunit and not stif
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   703
        assert self.tcp.get_mmp_harness(["stifunit.lib"]) == "STIFUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   704
        
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   705
                               
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   706
    def test_select_harness(self):
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   707
        """Test if select_harness returns right harness for given set of Test Framework 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   708
        tef,stif,eunit and stifunit
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   709
        tef   stif  eunit stifunit = result
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   710
        ===================================
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   711
        False,False,False,False    == ""
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   712
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   713
        True, False,False,False    == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   714
        True, True, False,False    == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   715
        True, False,True, False    == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   716
        True, False,False,True     == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   717
        True, False,True, True     == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   718
        True, True, True, False    == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   719
        True, True, False,True     == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   720
        True, True, True, True     == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   721
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   722
        False,True, False,False    == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   723
        False,True, True, False    == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   724
        False,True, False,True     == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   725
        False,True, True, True     == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   726
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   727
        False,False, True, False    == "EUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   728
        False,False, True, True     == "EUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   729
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   730
        False,false, False, True     == "STIFUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   731
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   732
        """
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   733
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   734
        assert self.tcp.select_harness(False, False, False, False )   == ""
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   735
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   736
        assert self.tcp.select_harness(True, False, False, False )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   737
        assert self.tcp.select_harness(True, True, False, False )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   738
        assert self.tcp.select_harness(True, False, True, False )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   739
        assert self.tcp.select_harness(True, False, False, True  )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   740
        assert self.tcp.select_harness(True, False, True, True  )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   741
        assert self.tcp.select_harness(True, True, True, False )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   742
        assert self.tcp.select_harness(True, True, False, True  )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   743
        assert self.tcp.select_harness(True, True, True, True  )   == "GENERIC"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   744
 
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   745
        assert self.tcp.select_harness(False, True, False, False )   == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   746
        assert self.tcp.select_harness(False, True, True, False )   == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   747
        assert self.tcp.select_harness(False, True, False, True  )   == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   748
        assert self.tcp.select_harness(False, True, True, True  )   == "STIF"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   749
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   750
        assert self.tcp.select_harness(False, False, True, False)    == "EUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   751
        assert self.tcp.select_harness(False, False, True, True )    == "EUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   752
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   753
        assert self.tcp.select_harness(False, False, False, True)     == "STIFUNIT"
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   754
        
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   755
                                    
7c4a911dc066 helium_11.0.0-e00f171ca185
wbernard
parents: 588
diff changeset
   756
                                    
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   757
    def test_read_information_method(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   758
        """Test if read_information_from_mmp returns wanted output for given parameter and mmp-file"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   759
        assert self.tc1_all == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 0)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   760
        assert self.tc1_no_harness == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 1)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   761
        assert self.tc1_name_type == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 2)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   762
        assert self.tc1_name == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 3)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   763
        assert self.tc1_type == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 4) 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   764
        assert self.tc1_libraries == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 5)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   765
        assert self.tc1_harness == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 6)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   766
        assert self.tc1_iftest_name == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[4], 'if_test.mmp')), 3)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   767
        assert self.tc1_iftest_type == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[4], 'if_test.mmp')), 4) 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   768
        assert self.tc1_iftest_harness == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[4], 'if_test.mmp')), 6)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   769
        assert self.tc1_dll_type == self.tcp.read_information_from_mmp(os.path.normpath(os.path.join(self.path_list[0], 'tc1.mmp')), 7)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   770
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   771
class TestParsers(mocker.MockerTestCase):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   772
    """Testing Parsers functionality"""
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   773
    def __init__(self, methodName="runTest"):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   774
        mocker.MockerTestCase.__init__(self, methodName)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   775
        
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   776
    def setUp(self):
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
   777
        """setUp automatically called before the tests are run"""
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
   778
        pass