mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 778329 Fix and improve DeviceManagerSUT.unpackFile(). r=mcote
--HG-- extra : rebase_source : 7354a74a68538da45e515476e3fe49f50a50b562
This commit is contained in:
parent
1c05aced00
commit
b5b0c5327e
@ -391,7 +391,7 @@ class DeviceManager:
|
||||
return 0
|
||||
|
||||
@abstractmethod
|
||||
def unpackFile(self, filename):
|
||||
def unpackFile(self, file_path, dest_dir=None):
|
||||
"""
|
||||
external function
|
||||
returns:
|
||||
|
@ -9,6 +9,7 @@ import time, datetime
|
||||
import os
|
||||
import re
|
||||
import hashlib
|
||||
import posixpath
|
||||
import subprocess
|
||||
from threading import Thread
|
||||
import traceback
|
||||
@ -856,25 +857,20 @@ class DeviceManagerSUT(DeviceManager):
|
||||
# returns:
|
||||
# success: output of unzip command
|
||||
# failure: None
|
||||
def unpackFile(self, filename):
|
||||
def unpackFile(self, file_path, dest_dir=None):
|
||||
devroot = self.getDeviceRoot()
|
||||
if (devroot == None):
|
||||
return None
|
||||
|
||||
dir = ''
|
||||
parts = filename.split('/')
|
||||
if (len(parts) > 1):
|
||||
if self.fileExists(filename):
|
||||
dir = '/'.join(parts[:-1])
|
||||
elif self.fileExists('/' + filename):
|
||||
dir = '/' + filename
|
||||
elif self.fileExists(devroot + '/' + filename):
|
||||
dir = devroot + '/' + filename
|
||||
else:
|
||||
return None
|
||||
# if no dest_dir is passed in just set it to file_path's folder
|
||||
if not dest_dir:
|
||||
dest_dir = posixpath.dirname(file_path)
|
||||
|
||||
if dest_dir[-1] != '/':
|
||||
dest_dir += '/'
|
||||
|
||||
try:
|
||||
data = self.runCmds([{ 'cmd': 'cd ' + dir }, { 'cmd': 'unzp ' + filename }])
|
||||
data = self.runCmds([{ 'cmd': 'unzp %s %s' % (file_path, dest_dir)}])
|
||||
except AgentError:
|
||||
return None
|
||||
|
||||
@ -1082,34 +1078,6 @@ class DeviceManagerSUT(DeviceManager):
|
||||
And ports starting at 30000.
|
||||
NOTE: the detection for current IP address only works on Linux!
|
||||
"""
|
||||
# external function
|
||||
# returns:
|
||||
# success: output of unzip command
|
||||
# failure: None
|
||||
def unpackFile(self, filename):
|
||||
devroot = self.getDeviceRoot()
|
||||
if (devroot == None):
|
||||
return None
|
||||
|
||||
dir = ''
|
||||
parts = filename.split('/')
|
||||
if (len(parts) > 1):
|
||||
if self.fileExists(filename):
|
||||
dir = '/'.join(parts[:-1])
|
||||
elif self.fileExists('/' + filename):
|
||||
dir = '/' + filename
|
||||
elif self.fileExists(devroot + '/' + filename):
|
||||
dir = devroot + '/' + filename
|
||||
else:
|
||||
return None
|
||||
|
||||
try:
|
||||
data = self.runCmds(['cd ' + dir, 'unzp ' + filename])
|
||||
except AgentError:
|
||||
return None
|
||||
|
||||
return data
|
||||
|
||||
def getCallbackIpAndPort(self, aIp, aPort):
|
||||
ip = aIp
|
||||
nettools = NetworkTools()
|
||||
|
Loading…
Reference in New Issue
Block a user