diff options
Diffstat (limited to 'test-framework/vmware/testcase.py')
-rw-r--r-- | test-framework/vmware/testcase.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/test-framework/vmware/testcase.py b/test-framework/vmware/testcase.py new file mode 100644 index 000000000..65fd83880 --- /dev/null +++ b/test-framework/vmware/testcase.py @@ -0,0 +1,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 +
\ No newline at end of file |