diff --git a/build/mobile/devicemanagerSUT.py b/build/mobile/devicemanagerSUT.py index 09ef9241ba9..64fca139aec 100644 --- a/build/mobile/devicemanagerSUT.py +++ b/build/mobile/devicemanagerSUT.py @@ -209,17 +209,18 @@ class DeviceManagerSUT(DeviceManager): self._sock = None return None - # If something goes wrong in the agent it will send back a string that - # starts with '##AGENT-ERROR##' - if (self.agentErrorRE.match(temp)): - data = temp - break - data += temp + # If something goes wrong in the agent it will send back a string that + # starts with '##AGENT-ERROR##' + if self.agentErrorRE.match(data): + break + for line in data.splitlines(): - if (promptre.match(line)): + if promptre.match(line): found = True + data = self._stripPrompt(data) + break # If we violently lose the connection to the device, this loop tends to spin, # this guard prevents that @@ -238,7 +239,7 @@ class DeviceManagerSUT(DeviceManager): # internal function # take a data blob and strip instances of the prompt '$>\x00' - def stripPrompt(self, data): + def _stripPrompt(self, data): promptre = re.compile(self.prompt_regex + '.*') retVal = [] lines = data.split('\n') @@ -293,7 +294,7 @@ class DeviceManagerSUT(DeviceManager): validated = False if (retVal): - retline = self.stripPrompt(retVal).strip() + retline = retVal.strip() if (retline == None): # Then we failed to get back a hash from agent, try manual validation validated = self.validateFile(destname, localname) @@ -379,11 +380,9 @@ class DeviceManagerSUT(DeviceManager): except(DMError): return False - retVal = self.stripPrompt(data) - data = retVal.split('\n') found = False - for d in data: - if (dirre.match(d)): + for d in data.splitlines(): + if (dirre.match(d)): found = True return found @@ -417,8 +416,7 @@ class DeviceManagerSUT(DeviceManager): except(DMError): return [] - retVal = self.stripPrompt(data) - files = filter(lambda x: x, retVal.split('\n')) + files = filter(lambda x: x, data.splitlines()) if len(files) == 1 and files[0] == '': # special case on the agent: empty directories return just the string "" return [] @@ -460,11 +458,9 @@ class DeviceManagerSUT(DeviceManager): except DMError: return [] - retVal = self.stripPrompt(data) - lines = retVal.split('\n') files = [] - for line in lines: - if (line.strip() != ''): + for line in data.splitlines(): + if line: pidproc = line.strip().split() if (len(pidproc) == 2): files += [[pidproc[0], pidproc[1]]] @@ -552,7 +548,7 @@ class DeviceManagerSUT(DeviceManager): except(DMError): return None - return self.stripPrompt(data).strip('\n') + return data.strip() # external function # returns: @@ -564,7 +560,7 @@ class DeviceManagerSUT(DeviceManager): except(DMError): return None - return self.stripPrompt(data) + return data # external function # returns: @@ -754,7 +750,8 @@ class DeviceManagerSUT(DeviceManager): # return the string ": No such file or directory". # However, I've seen AGENT-WARNING returned before. return False - retVal = self.stripPrompt(data).strip() + + retVal = data.strip() if not retVal: raise FileError('isdir returned null') return retVal == 'TRUE' @@ -787,9 +784,9 @@ class DeviceManagerSUT(DeviceManager): except(DMError): return None - retVal = self.stripPrompt(data) - if (retVal != None): - retVal = retVal.strip('\n') + retVal = None + if data: + retVal = data.strip() if (self.debug >= 3): print "remote hash returned: '" + retVal + "'" return retVal @@ -815,8 +812,8 @@ class DeviceManagerSUT(DeviceManager): data = self.verifySendCMD(['testroot']) except: return None - - deviceRoot = self.stripPrompt(data).strip('\n') + '/tests' + + deviceRoot = data.strip() + '/tests' if (not self.dirExists(deviceRoot)): if (self.mkDir(deviceRoot) == None): @@ -829,9 +826,8 @@ class DeviceManagerSUT(DeviceManager): data = self.verifySendCMD(['getapproot '+packageName]) except: return None - - appRoot = self.stripPrompt(data).strip('\n') - return appRoot + + return data.strip() # external function # returns: @@ -925,7 +921,6 @@ class DeviceManagerSUT(DeviceManager): data = self.verifySendCMD(['info ' + d]) if (data is None): continue - data = self.stripPrompt(data) data = collapseSpaces.sub(' ', data) result[d] = data.split('\n') @@ -1055,7 +1050,7 @@ class DeviceManagerSUT(DeviceManager): except(DMError): return None - return self.stripPrompt(data).strip('\n') + return data.strip() """ Connect the ipaddress and port for a callback ping. Defaults to current IP address