def __init__(self): self.logger= Logger.getLogger() self.tid = 0 self.queue = Queue.Queue() self.sessionId = str(uuid.uuid1()) self.queue.put(ResultSender.parseMessage(msg_type='sessiondata',session_id=self.sessionId)) Sender(self.queue).start()
def __init__(self,options=None): ''' init looger,builder,and DeviceManager before testing start ''' self.logger = Logger.getLogger() self.builder = TestBuilder.getBuilder(options) self.runner = TestRunner.getRunner(self.builder)
def __init__(self, context=None, case=None): self.logger = Logger.getLogger() self.assertion = assertion() self.logger.debug('init store') self.store = store(context, case) self.device = DeviceManager.getInstance().getDevice() self._isRecord = context.isRecording() self._checkpoint = -1
def request(task): logger = Logger.getLogger() url = task['url'] content_type = task['content_type'] method = task['method'] postdata = task['data'] logger.debug('url:'+url+' type:'+content_type+' method:'+method) #SendUtils._doCommonRequest(url=_url,postdata=_data,content_type='image/png',method='PUT') SendUtils._doCommonRequest(url,postdata,content_type,method)
def __init__(self): self.logger = Logger.getLogger() self.tid = 0 self.queue = Queue.Queue() self.sessionId = str(uuid.uuid1()) self.queue.put( ResultSender.parseMessage(msg_type='sessiondata', session_id=self.sessionId)) Sender(self.queue).start()
def __init__(self, serial=None): '''context is context of current running test session.''' #if not defined, use the system envrionment value if serial is None: self.serial = _getSerial() else: self.serial = serial self.logger = Logger.getLogger() self._state = DEVICE_DISCONNECTED self.logger.debug('init device instance!')
def request(task): logger = Logger.getLogger() url = task['url'] content_type = task['content_type'] method = task['method'] postdata = task['data'] logger.debug('url:' + url + ' type:' + content_type + ' method:' + method) #SendUtils._doCommonRequest(url=_url,postdata=_data,content_type='image/png',method='PUT') SendUtils._doCommonRequest(url, postdata, content_type, method)
def _doCommonRequest(url, postdata, content_type, method): ''' Transmit a data to remote server using HTTP(GET,POST,PUT). and got a response which specified by JSON formate : "{"results":"content"}" from remote server. @poastdata String of json formate or the binary data of zip,png @return dictionary of response @Exception URLError. ''' logger = Logger.getLogger() #user define exception errorcode = { 'unspecified': 31, 'feedback_ok': 32, 'feedback_fail': 33, 'json_error_attr': 34, 'json_error_format': 35 } f = None try: logger.debug('init request!') request = urllib2.Request(url) if method == 'POST': postdata['token'] = '1122334455667788' jsonstr = minjson.write(postdata) logger.debug(jsonstr) request.add_data(jsonstr) else: request.add_header('token', '1122334455667788') request.add_data(postdata) #the content type of data application/json application/zip image/png logger.debug('add content_type!') request.add_header('Content-Type', content_type) #the content type of feedback from server logger.debug('add Accept!') request.add_header('Accept', 'application/json') #the length of data #logger.debug('add Content-Length!') #request.add_header("Content-Length", str(len(postdata))) #the http request type GET POST PUT logger.debug('add method!') request.get_method = lambda: method urllib2.socket.setdefaulttimeout(10) logger.debug('open the url!') f = urllib2.urlopen(request) json_feedback = f.read() dic = eval(json_feedback) #key = list(dic).pop() #value = str(dic[key]) return dic except Exception, e: #all exception.urllib2.URLError: <urlopen error timed out>... logger.debug('Do http request, got error!') return ''
def _doCommonRequest(url,postdata,content_type,method): ''' Transmit a data to remote server using HTTP(GET,POST,PUT). and got a response which specified by JSON formate : "{"results":"content"}" from remote server. @poastdata String of json formate or the binary data of zip,png @return dictionary of response @Exception URLError. ''' logger = Logger.getLogger() #user define exception errorcode = {'unspecified':31, 'feedback_ok':32, 'feedback_fail':33, 'json_error_attr':34, 'json_error_format':35 } f = None try: logger.debug('init request!') request = urllib2.Request(url) if method == 'POST': postdata['token'] = '1122334455667788' jsonstr = minjson.write(postdata) logger.debug(jsonstr) request.add_data(jsonstr) else: request.add_header('token','1122334455667788') request.add_data(postdata) #the content type of data application/json application/zip image/png logger.debug('add content_type!') request.add_header('Content-Type',content_type) #the content type of feedback from server logger.debug('add Accept!') request.add_header('Accept', 'application/json') #the length of data #logger.debug('add Content-Length!') #request.add_header("Content-Length", str(len(postdata))) #the http request type GET POST PUT logger.debug('add method!') request.get_method = lambda: method urllib2.socket.setdefaulttimeout(10) logger.debug('open the url!') f = urllib2.urlopen(request) json_feedback = f.read() dic = eval(json_feedback) #key = list(dic).pop() #value = str(dic[key]) return dic except Exception,e: #all exception.urllib2.URLError: <urlopen error timed out>... logger.debug('Do http request, got error!') return ''
class testWorker: """ provides the executing ability of each command-line in TestCase """ def __init__(self, context=None, case=None): self.logger = Logger.getLogger() self.assertion = assertion() self.logger.debug('init store') self.store = store(context, case) self.device = DeviceManager.getInstance().getDevice() self._isRecord = context.isRecording() self._checkpoint = -1
def __init__(self, context=None, case=None): self.logger = Logger.getLogger() self.logger.debug('init store instance!') if (context is None) or (case is None): self.outdirs = __DEFAULT_PATH self.istesting = True else: self.logger.debug('init store for testcase!!!') self.workspace = context.getWorkspace() self.istesting = context.isTesting() self.starttime = context.getStartTime() self.case = case self.outdirs = self.__createOutDirs()
class store: """Provides the access ability to the case result data store""" def __init__(self, context=None, case=None): self.logger = Logger.getLogger() self.logger.debug('init store instance!') if (context is None) or (case is None): self.outdirs = __DEFAULT_PATH self.istesting = True else: self.logger.debug('init store for testcase!!!') self.workspace = context.getWorkspace() self.istesting = context.isTesting() self.starttime = context.getStartTime() self.case = case self.outdirs = self.__createOutDirs()
def _sortTestCaseResult(info): '''Sort test case result from "all" folder. Keyword arguments: info -- tuple of test case object description.(should not be none) ''' logger=Logger.getLogger() #logger.debug('copy failures result to fail or error folder') #logger.debug('name:'+info[1][1]._testMethodName+' time:'+info[1][1].starttime) if not info[0] in ['addFailure','addError']: return case_name = '%s.%s' %(type( info[1][1]).__name__, info[1][1]._testMethodName) case_starttime = info[1][1].starttime testcase_result_folder = '%s-%s'%(case_name,case_starttime) result_path = os.path.join(TestBuilder.getBuilder().getWorkspace(),'result-%s'%TestBuilder.getBuilder().getStartTime()) src = os.path.join(os.path.join(result_path,'all'),testcase_result_folder) if info[0] == 'addFailure': #logger.debug('distribute add failed') dest = os.path.join(os.path.join(result_path,'fail',testcase_result_folder)) elif info[0] == 'addError': #logger.debug('distribute add error:') dest = os.path.join(os.path.join(result_path,'error',testcase_result_folder)) if (src is not None and dest is not None): _copyFilesToOtherFolder(src, dest) _saveLog(dest)
def __init__(self, stream=None, descriptions=None, verbosity=None): TestResult.__init__(self) self.logger = Logger.getLogger()
def __init__(self, context=None): self.logger = Logger.getLogger() self.context = context
def __init__(self, q): threading.Thread.__init__(self) self.task_queue = q self.logger = Logger.getLogger()
def parseMessage(msg_type=None, session_id=None, caseresult_id=None, test_info=None, file_path=None): logger = Logger.getLogger() if msg_type == 'sessiondata': logger.debug( '********************session request***********************') url = SendUtils._session_create_url % session_id sessionStarttime = TestBuilder.getBuilder().getStartTime() deviceId = DeviceManager.getInstance().getDevice().getDeviceId() properties = DeviceManager.getInstance().getDevice().getDeviceInfo( ) logger.debug( '********************session starttime*********************' + sessionStarttime) postData = { 'planname': 'plan', 'starttime': sessionStarttime, 'deviceid': deviceId, 'deviceinfo': properties } contentType = 'application/json' method = 'POST' return { 'url': url, 'data': postData, 'content_type': contentType, 'method': method } if msg_type == 'caseresult': logger.debug( '********************case result*********************') sid = session_id tid = caseresult_id info = test_info path = file_path if info: if info[0] == 'startTest': logger.debug( '********************start test*********************') url = (SendUtils._caseresult_create_url) % (sid, tid) caseName = info[1][1]._testMethodName startTime = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) postData = {'casename': caseName, 'starttime': startTime} contentType = 'application/json' method = 'POST' return [{ 'url': url, 'data': postData, 'content_type': contentType, 'method': method }] elif info[0] == 'addSuccess': logger.debug( '********************add success***********************' ) url = (SendUtils._caseresult_update_url) % (sid, tid) _time = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) postData = {'result': 'pass', 'time': _time} contentType = 'application/json' method = 'POST' return [{ 'url': url, 'data': postData, 'content_type': contentType, 'method': method }] elif info[0] == 'addFailure': logger.debug( '********************add failure***********************' ) resultUrl = (SendUtils._caseresult_update_url) % (sid, tid) resultTime = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) resultPostData = {'result': 'fail', 'time': resultTime} resultContentType = 'application/json' resultMethod = 'POST' resultRequest = { 'url': resultUrl, 'data': resultPostData, 'content_type': resultContentType, 'method': resultMethod } #log file logUrl = (SendUtils._upload_file_url) % (sid, tid) logfolder = os.path.join( info[1][1].worker.store.getFailDir(), 'log') zipName = '%s_%s.%s' % (sid, tid, 'zip') zipFolder(logfolder, zipName) logPostData = _openFile(zipName) logContentType = 'application/zip' logMethod = 'PUT' fileRequest = { 'url': logUrl, 'data': logPostData, 'content_type': logContentType, 'method': logMethod } return [resultRequest, fileRequest] elif info[0] == 'addError': logger.debug( '********************add error***********************') resultUrl = (SendUtils._caseresult_update_url) % (sid, tid) resultTime = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) resultPostData = {'result': 'error', 'time': resulTime} resultContentType = 'application/json' resultMethod = 'POST' resultRequest = { 'url': resultUrl, 'data': resultPostData, 'content_type': resultContentType, 'method': resultMethod } #log file #logUrl = (SendUtils._upload_file_url) % (sid,tid) #logfolder = os.path.join(info[1][1].device.workspace_result_fail,'log') #zipName = '%s_%s.%s'%(sid,tid,'zip') #zipFolder(logfolder,_zipname) #logPostData = _openFile(_zipname) #logContentType = 'application/zip' #logMethod = 'PUT' #fileRequest = {'url':logUrl,'data':logPostData,'content_type':logContentType,'method':logMethod} return [resultRequest] elif file_path: logger.debug( '********************upload snapshot***********************' ) sid = session_id tid = caseresult_id url = (SendUtils._upload_file_url) % (sid, tid) postData = _openFile(file_path) contentType = 'image/png' method = 'PUT' return [{ 'url': url, 'data': postData, 'content_type': contentType, 'method': method }]
def __init__(self,q): threading.Thread.__init__(self) self.task_queue = q self.logger = Logger.getLogger()
def __init__(self): self._devices = list() self.logger = Logger.getLogger() self.logger.debug('init DeviceManager instance!')
def getLogger(self): '''Return a looger instance''' #self.__logger = Logger.getLogger('device.log',"INFO","DEBUG") self.__logger = Logger.getLogger() return self.__logger
def setUp(self): super(TestCaseBase, self).setUp() self.tid = str(uuid.uuid1()) self.starttime = time.strftime('%Y.%m.%d-%H.%M.%S', time.localtime(time.time())) self.worker = testWorker(TestBuilder.getBuilder(), self) self.logger = Logger.getLogger()
def parseMessage(msg_type=None,session_id=None,caseresult_id=None,test_info=None,file_path=None): logger = Logger.getLogger() if msg_type == 'sessiondata': logger.debug('********************session request***********************') url = SendUtils._session_create_url % session_id sessionStarttime = TestBuilder.getBuilder().getStartTime() deviceId = DeviceManager.getInstance().getDevice().getDeviceId() properties = DeviceManager.getInstance().getDevice().getDeviceInfo() logger.debug('********************session starttime*********************'+sessionStarttime) postData = {'planname':'plan','starttime':sessionStarttime,'deviceid':deviceId,'deviceinfo':properties} contentType = 'application/json' method = 'POST' return {'url':url,'data':postData,'content_type':contentType,'method':method} if msg_type == 'caseresult': logger.debug('********************case result*********************') sid = session_id tid = caseresult_id info = test_info path = file_path if info: if info[0] == 'startTest': logger.debug('********************start test*********************') url = (SendUtils._caseresult_create_url) % (sid,tid) caseName = info[1][1]._testMethodName startTime = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) postData = {'casename':caseName,'starttime':startTime} contentType = 'application/json' method = 'POST' return [{'url':url,'data':postData,'content_type':contentType,'method':method}] elif info[0] == 'addSuccess': logger.debug('********************add success***********************') url = (SendUtils._caseresult_update_url) % (sid,tid) _time = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) postData = {'result':'pass','time':_time} contentType = 'application/json' method = 'POST' return [{'url':url,'data':postData,'content_type':contentType,'method':method}] elif info[0] == 'addFailure': logger.debug('********************add failure***********************') resultUrl = (SendUtils._caseresult_update_url) % (sid,tid) resultTime = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) resultPostData = {'result':'fail','time':resultTime} resultContentType = 'application/json' resultMethod = 'POST' resultRequest = {'url':resultUrl,'data':resultPostData,'content_type':resultContentType,'method':resultMethod} #log file logUrl = (SendUtils._upload_file_url) % (sid,tid) logfolder = os.path.join(info[1][1].worker.store.getFailDir(),'log') zipName = '%s_%s.%s'%(sid,tid,'zip') zipFolder(logfolder,zipName) logPostData = _openFile(zipName) logContentType = 'application/zip' logMethod = 'PUT' fileRequest = {'url':logUrl,'data':logPostData,'content_type':logContentType,'method':logMethod} return [resultRequest,fileRequest] elif info[0] == 'addError': logger.debug('********************add error***********************') resultUrl = (SendUtils._caseresult_update_url) % (sid,tid) resultTime = time.strftime('%Y-%m-%d %H:%M:%S ', time.localtime(time.time())) resultPostData = {'result':'error','time':resulTime} resultContentType = 'application/json' resultMethod = 'POST' resultRequest = {'url':resultUrl,'data':resultPostData,'content_type':resultContentType,'method':resultMethod} #log file #logUrl = (SendUtils._upload_file_url) % (sid,tid) #logfolder = os.path.join(info[1][1].device.workspace_result_fail,'log') #zipName = '%s_%s.%s'%(sid,tid,'zip') #zipFolder(logfolder,_zipname) #logPostData = _openFile(_zipname) #logContentType = 'application/zip' #logMethod = 'PUT' #fileRequest = {'url':logUrl,'data':logPostData,'content_type':logContentType,'method':logMethod} return [resultRequest] elif file_path: logger.debug('********************upload snapshot***********************') sid = session_id tid = caseresult_id url = (SendUtils._upload_file_url) % (sid,tid) postData = _openFile(file_path) contentType = 'image/png' method = 'PUT' return [{'url':url,'data':postData,'content_type':contentType,'method':method}]