summaryrefslogtreecommitdiffstats
path: root/tests/test-framework/vmware/testcase.py
blob: 65fd83880cad5e9d0bdb58d18f7de6a471a24fd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import ConfigParser, os, utils

class Step:
    def __init__( self, installscript, checkerTestDir, timeout ):
        self._installscript = installscript
        self._checkerTestDir = checkerTestDir
        self._timeout = timeout
    
    def installscript( self ):
        return self._installscript
    
    def checkerTestDir( self ):
        return self._checkerTestDir
    
    def timeout( self ):
        return self._timeout
    
class TestCase:
    def __init__( self, path ):
        self._steps = []
        config = ConfigParser.SafeConfigParser()
        config.read( path )
        self._path = path
        self._platforms = []
        found = True
        stepNum = 0
        while found:
            sec = "Step{0}".format( stepNum )
            if not config.has_section( sec ):
                found = False
                continue
            
            stepNum += 1
            installscript = utils.makeAbsolutePath( utils.get_config_option( config, None, "installscript", None, sec ), os.path.dirname( path ) )
            checkerTestDir = utils.get_config_option( config, None, "checkerTestDir", None, sec )
            checkerTestDir = utils.makeAbsolutePath( checkerTestDir, os.path.dirname( path ) ) if checkerTestDir else ""
            timeout = int( utils.get_config_option( config, None, "timeout", 60 * 60, sec ) )
            self._steps.append( Step( installscript, checkerTestDir, timeout ) )
             
        self._name = utils.get_config_option( config, None, "name", utils.basename( path ) )
        self._targetDirectory = utils.get_config_option( config, None, "targetDirectory", "" )
        self._maintenanceToolLocation = utils.get_config_option( config, None, "maintenanceToolLocation", "" )
        platforms = utils.get_config_option( config, None, "platforms" )
        if platforms != None:
            self._platforms = platforms.split( ',' )

    def supportsPlatform( self, platform ):
        return platform in self._platforms

    def installerTimeout( self ):
        return self._installerTimeout
    
    def platforms( self ):
        return self._platforms
    
    def name( self ):
        return self._name
    
    def targetDirectory( self ):
        return self._targetDirectory
    
    def steps( self ):
        return self._steps 

    def path( self ):
        return self._path

    def maintenanceToolLocation( self ):
        return self._maintenanceToolLocation