def load(self): LOG.info("Loading from %s" % self.directoryName) config = DOUGConfigParser() config.read([os.path.join(self.directoryName, '.info')]) self.info = config if config.has_section('general'): self.name = config.get('general', 'name') else: config.add_section('general') if config.has_section('files'): types = config.get('files', 'types', default="") types = types.split(",") types = filter(bool, types) # filter out empty strings types = map(lambda s: map(str.strip, s.split(':')), types) for filename, filetype in types: self.setFileType(filename, filetype) else: config.add_section('files')
def createTest(testdir, members): del members[testtar.TEST_CONF] testConfigFile = tarFile.extractfile("/".join([testdir.name, testtar.TEST_CONF])) testConfigContent = testConfigFile.read() del members[testtar.RESULT_CONF] testResultFile = tarFile.extractfile("/".join([testdir.name, testtar.RESULT_CONF])) testResultContent = testResultFile.read() config = DOUGConfigParser() config.addConfigContents(testConfigContent) config.addConfigContents(testResultContent) # store test times and status testname = config.get("test", "name") startTime = float(config.get("test", "starttime")) stopTime = float(config.get("test", "stoptime")) ID = store.insertTest(testname, datetime.fromtimestamp(startTime), config) store.updateTestStop(ID, datetime.fromtimestamp(stopTime)) status = config.get("doug-result", "status").upper() status = testmysql.TestStatus.STRS.index(status) store.updateTestStatus(ID, status) # store error if members.has_key(testtar.EXCEPTION_FILE): del members[testtar.EXCEPTION_FILE] exceptionFile = tarFile.extractfile("/".join([testdir.name, testtar.EXCEPTION_FILE])) exc = pickle.load(exceptionFile) store.updateTestError(ID, str(exc)) # store profile info if config.has_section('doug-profile'): store.updateTestProfileInfo(ID, config) # left files should be stored to database for name in members.keys(): file = tarFile.extractfile("/".join([testdir.name, name])) fileContent = file.read() store.insertTestFileContent(ID, name, fileContent)