buildframework/helium/sf/python/pythoncore/lib/pythoncorecpythontests/test_packageiad.py
author wbernard
Tue, 27 Apr 2010 08:33:08 +0300
changeset 587 85df38eb4012
child 588 c7c26511138f
permissions -rw-r--r--
helium_9.0-a7879c935424
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
587
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     1
#============================================================================ 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     2
#Name        : test_packageiad.py 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     3
#Part of     : Helium 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     4
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     5
#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     6
#All rights reserved.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     7
#This component and the accompanying materials are made available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     8
#under the terms of the License "Eclipse Public License v1.0"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
     9
#which accompanies this distribution, and is available
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    10
#at the URL "http://www.eclipse.org/legal/epl-v10.html".
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    11
#
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    12
#Initial Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    13
#Nokia Corporation - initial contribution.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    14
#
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    15
#Contributors:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    16
#
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    17
#Description:
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    18
#===============================================================================
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    19
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    20
""" Test cases for packageiad.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    21
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 xml.dom.minidom
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    25
import logging
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    26
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    27
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    28
logger = logging.getLogger('test.packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    29
logging.basicConfig(level=logging.INFO)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    30
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    31
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    32
def setup_module():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    33
    """ Creates some test data files for file-related testing. """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    34
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    35
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    36
def teardown_module():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    37
    """ Cleans up test data files for file-related testing. """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    38
    if os.path.exists('testPackage.zip') and os.path.isfile('testPackage.zip'): 
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    39
        os.remove('testPackage.zip')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    40
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    41
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    42
#def test_package_main(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    43
    """ Test the package IAD class.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    44
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    45
    iad = __import__('packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    46
    sysdef = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad', 'layers.sysdef.xml')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    47
    sysdefconfigs = "developer_mc_4032"
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    48
    builddrive = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    49
    result = iad.main(sysdef, sysdefconfigs, builddrive) """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    50
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    51
#def test_package_processSisDir(self):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    52
    """ Test the packageiad test_package_processSisDir method.
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    53
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    54
    iad = __import__('packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    55
    packager = iad.IADPackager()    #init the packager
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    56
    builddrive = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    57
    buildDirs = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad', 'sis\\')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    58
    packager.processSisDir(buildDirs, builddrive + "\\epoc32\\tools\\makesis.exe") """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    59
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    60
def test_createPackage():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    61
    """ test the create package method """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    62
    #load up the python file
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    63
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    64
    iad = __import__('packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    65
    packager = iad.IADPackager()    #init the packager
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    66
    topDir = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad', 'sis')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    67
    packageName = 'testPackage'
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    68
    currentDir = os.getcwd()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    69
    packager.createPackage(topDir, packageName)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    70
    if not os.path.exists('testPackage.zip') and not os.path.isfile('testPackage.zip'):
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    71
        logger.info("testPackage.zip file not created")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    72
        assert (os.path.exists('testPackage.zip') and os.path.isfile('testPackage.zip'))
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    73
    os.chdir(currentDir)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    74
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    75
def test_getLayers():
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    76
    """ test getLayers in packageIAD """
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    77
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    78
    iad = __import__('packageiad')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    79
    sysdefFile = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad', 'layers.sysdef.xml')
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    80
    sysdef = xml.dom.minidom.parse (sysdefFile)
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    81
    configurations = sysdef.getElementsByTagName ("configuration")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    82
    layers = sysdef.getElementsByTagName ("layer")
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    83
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    84
    bldDirs = []
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    85
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    86
    packager = iad.IADPackager()
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    87
    
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    88
    for configuration in configurations :
85df38eb4012 helium_9.0-a7879c935424
wbernard
parents:
diff changeset
    89
        packager.getLayer (configuration, layers, bldDirs)