buildframework/helium/sf/python/pythoncore/lib/pythoncorecpythontests/test_packageiad.py
author wbernard
Sun, 10 Oct 2010 15:22:15 +0300
changeset 645 b8d81fa19e7d
parent 588 c7c26511138f
permissions -rw-r--r--
helium_12.0.0-63b64366f9cf
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
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    28
_logger = logging.getLogger('test.packageiad')
587
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):
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    43
#    test the package IAD class.
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    44
#    
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    45
#    iad = __import__('packageiad')
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    46
#    sysdef = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad', 'layers.sysdef.xml')
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    47
#    sysdefconfigs = "developer_mc_4032"
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    48
#    builddrive = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad')
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    49
#    result = iad.main(sysdef, sysdefconfigs, builddrive)
587
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):
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    52
#    test the packageiad test_package_processSisDir method.
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    53
#    
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    54
#    iad = __import__('packageiad')
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    55
#    packager = iad.IADPackager()    #init the packager
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    56
#    builddrive = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad')
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    57
#    buildDirs = os.path.join(os.environ['TEST_DATA'], 'data', 'packageiad', 'sis\\')
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    58
#    packager.processSisDir(buildDirs, builddrive + "\\epoc32\\tools\\makesis.exe") 
587
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'):
588
c7c26511138f helium-10.0.0-bc45d50958fe
wbernard
parents: 587
diff changeset
    71
        _logger.info("testPackage.zip file not created")
587
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)