Changeset 70660 in vbox
- Timestamp:
- Jan 21, 2018 4:18:58 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 120396
- Location:
- trunk/src/VBox/ValidationKit
- Files:
-
- 44 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/common/utils.py
r70575 r70660 321 321 if getHostOs() == 'win': 322 322 # Need to use CreateFile directly to open the file so we can feed it FILE_SHARE_DELETE. 323 # pylint: disable=no-member,c-extension-no-member 323 324 fAccess = 0; 324 fDisposition = win32file.OPEN_EXISTING; # pylint: disable=no-member325 fDisposition = win32file.OPEN_EXISTING; 325 326 if 'r' in sMode or '+' in sMode: 326 fAccess |= win32file.GENERIC_READ; # pylint: disable=no-member327 fAccess |= win32file.GENERIC_READ; 327 328 if 'a' in sMode: 328 fAccess |= win32file.GENERIC_WRITE; # pylint: disable=no-member329 fDisposition = win32file.OPEN_ALWAYS; # pylint: disable=no-member329 fAccess |= win32file.GENERIC_WRITE; 330 fDisposition = win32file.OPEN_ALWAYS; 330 331 elif 'w' in sMode: 331 fAccess = win32file.GENERIC_WRITE; # pylint: disable=no-member332 fAccess = win32file.GENERIC_WRITE; 332 333 if '+' in sMode: 333 fDisposition = win32file.OPEN_ALWAYS; # pylint: disable=no-member334 fAccess |= win32file.GENERIC_READ; # pylint: disable=no-member334 fDisposition = win32file.OPEN_ALWAYS; 335 fAccess |= win32file.GENERIC_READ; 335 336 else: 336 fDisposition = win32file.CREATE_ALWAYS; # pylint: disable=no-member337 fDisposition = win32file.CREATE_ALWAYS; 337 338 if not fAccess: 338 fAccess |= win32file.GENERIC_READ; # pylint: disable=no-member339 fSharing = (win32file.FILE_SHARE_READ | win32file.FILE_SHARE_WRITE # pylint: disable=no-member340 | win32file.FILE_SHARE_DELETE); # pylint: disable=no-member341 hFile = win32file.CreateFile(sFile, fAccess, fSharing, None, fDisposition, 0, None); # pylint: disable=no-member339 fAccess |= win32file.GENERIC_READ; 340 fSharing = (win32file.FILE_SHARE_READ | win32file.FILE_SHARE_WRITE 341 | win32file.FILE_SHARE_DELETE); 342 hFile = win32file.CreateFile(sFile, fAccess, fSharing, None, fDisposition, 0, None); 342 343 if 'a' in sMode: 343 win32file.SetFilePointer(hFile, 0, win32file.FILE_END); # pylint: disable=no-member344 win32file.SetFilePointer(hFile, 0, win32file.FILE_END); 344 345 345 346 # Turn the NT handle into a CRT file descriptor. 346 347 hDetachedFile = hFile.Detach(); 347 if fAccess == win32file.GENERIC_READ: # pylint: disable=no-member348 if fAccess == win32file.GENERIC_READ: 348 349 fOpen = os.O_RDONLY; 349 elif fAccess == win32file.GENERIC_WRITE: # pylint: disable=no-member350 elif fAccess == win32file.GENERIC_WRITE: 350 351 fOpen = os.O_WRONLY; 351 352 else: 352 353 fOpen = os.O_RDWR; 354 # pulint: enable=no-member,c-extension-no-member 353 355 if 'a' in sMode: 354 356 fOpen |= os.O_APPEND; … … 715 717 if sys.platform == 'win32': 716 718 try: 717 win32console.GenerateConsoleCtrlEvent(win32con.CTRL_BREAK_EVENT, uPid); # pylint: disable=no-member 719 win32console.GenerateConsoleCtrlEvent(win32con.CTRL_BREAK_EVENT, # pylint: disable=no-member,c-extension-no-member 720 uPid); 718 721 fRc = True; 719 722 except: … … 754 757 if sys.platform == 'win32': 755 758 try: 756 hProcess = win32api.OpenProcess(win32con.PROCESS_TERMINATE, False, uPid); # pylint: disable=no-member 759 hProcess = win32api.OpenProcess(win32con.PROCESS_TERMINATE, # pylint: disable=no-member,c-extension-no-member 760 False, uPid); 757 761 except: 758 762 pass; 759 763 else: 760 764 try: 761 win32process.TerminateProcess(hProcess, 0x40010004); # DBG_TERMINATE_PROCESS # pylint: disable=no-member 765 win32process.TerminateProcess(hProcess, # pylint: disable=no-member,c-extension-no-member 766 0x40010004); # DBG_TERMINATE_PROCESS 762 767 fRc = True; 763 768 except: … … 811 816 # We try open the process for waiting since this is generally only forbidden in a very few cases. 812 817 try: 813 hProcess = win32api.OpenProcess(win32con.SYNCHRONIZE, False, uPid); # pylint: disable=no-member 814 except pywintypes.error as oXcpt: # pylint: disable=no-member 818 hProcess = win32api.OpenProcess(win32con.SYNCHRONIZE, # pylint: disable=no-member,c-extension-no-member 819 False, uPid); 820 except pywintypes.error as oXcpt: # pylint: disable=no-member 815 821 if oXcpt.winerror == winerror.ERROR_ACCESS_DENIED: 816 822 fRc = True; … … 1643 1649 if sys.version_info[0] < 3: 1644 1650 try: 1645 from types import InstanceType; 1651 from types import InstanceType; # pylint: disable=no-name-in-module 1646 1652 if oType == InstanceType: 1647 1653 oType = oObject.__class__; … … 1778 1784 if sys.version_info[0] >= 3: 1779 1785 return isinstance(oString, str); 1780 return isinstance(oString, basestring); 1786 return isinstance(oString, basestring); # pylint: disable=undefined-variable 1781 1787 1782 1788 -
trunk/src/VBox/ValidationKit/common/webutils.py
r69111 r70660 36 36 # Python 3 hacks: 37 37 if sys.version_info[0] < 3: 38 from urllib2 import quote as urllib_quote; 39 from urllib import urlencode as urllib_urlencode; 40 from urllib import urlopen as urllib_urlopen; 38 from urllib2 import quote as urllib_quote; # pylint: disable=import-error,no-name-in-module 39 from urllib import urlencode as urllib_urlencode; # pylint: disable=import-error,no-name-in-module 40 from urllib import urlopen as urllib_urlopen; # pylint: disable=import-error,no-name-in-module 41 41 else: 42 from urllib.parse import quote as urllib_quote; # pylint: disable= F0401,E061143 from urllib.parse import urlencode as urllib_urlencode; # pylint: disable= F0401,E061144 from urllib.request import urlopen as urllib_urlopen; # pylint: disable= F0401,E061142 from urllib.parse import quote as urllib_quote; # pylint: disable=import-error,no-name-in-module 43 from urllib.parse import urlencode as urllib_urlencode; # pylint: disable=import-error,no-name-in-module 44 from urllib.request import urlopen as urllib_urlopen; # pylint: disable=import-error,no-name-in-module 45 45 46 46 # Validation Kit imports. -
trunk/src/VBox/ValidationKit/testboxscript/testboxcommand.py
r70548 r70660 244 244 self.doReboot(); 245 245 sys.exit(TBS_EXITCODE_NEED_UPGRADE); 246 return False; # shuts up pylint (it will probably complain later when it learns DECL_NO_RETURN). 246 247 247 248 def _cmdUpgrade(self, oResponse, oConnection): -
trunk/src/VBox/ValidationKit/testboxscript/testboxconnection.py
r70566 r70660 37 37 from urllib.parse import urlencode as urllib_urlencode; # pylint: disable=import-error,no-name-in-module 38 38 else: 39 import httplib; # pylint: disable=import-error 40 import urlparse; # pylint: disable=import-error 41 from urllib import urlencode as urllib_urlencode; # pylint: disable=import-error 39 import httplib; # pylint: disable=import-error,no-name-in-module 40 import urlparse; # pylint: disable=import-error,no-name-in-module 41 from urllib import urlencode as urllib_urlencode; # pylint: disable=import-error,no-name-in-module 42 42 43 43 # Validation Kit imports. -
trunk/src/VBox/ValidationKit/testboxscript/testboxscript_real.py
r70548 r70660 35 35 import multiprocessing 36 36 import os 37 from optparse import OptionParser 37 from optparse import OptionParser # pylint: disable=deprecated-module 38 38 import platform 39 39 import random -
trunk/src/VBox/ValidationKit/testdriver/reporter.py
r70611 r70660 386 386 # 387 387 try: 388 import user; 389 self.sDefLogDir = os.path.abspath(os.path.join(user.home, "VBoxTestLogs")); 388 self.sDefLogDir = os.path.abspath(os.path.expanduser(os.path.join('~', 'VBoxTestLogs'))); 390 389 except: 391 390 self.sDefLogDir = os.path.abspath("VBoxTestLogs"); -
trunk/src/VBox/ValidationKit/testdriver/txsclient.py
r70615 r70660 362 362 # the primitive approach... 363 363 sUtf8 = o.encode('utf_8'); 364 for i in range(0, len(sUtf8)):365 abPayload.append(ord( sUtf8[i]))364 for ch in sUtf8: 365 abPayload.append(ord(ch)) 366 366 abPayload.append(0); 367 367 elif isinstance(o, long): … … 1841 1841 oSocket.connect((self.sHostname, self.uPort)); 1842 1842 rc = True; 1843 except socket.error as e:1844 iRc = e[0];1845 if self.__isInProgressXcpt( e):1843 except socket.error as oXcpt: 1844 iRc = oXcpt.errno; 1845 if self.__isInProgressXcpt(oXcpt): 1846 1846 # Do the actual waiting. 1847 reporter.log2('TransportTcp::connect: operation in progress (%s)...' % ( e,));1847 reporter.log2('TransportTcp::connect: operation in progress (%s)...' % (oXcpt,)); 1848 1848 try: 1849 1849 ttRc = select.select([oWakeupR], [oSocket], [oSocket, oWakeupR], cMsTimeout / 1000.0); … … 1852 1852 iRc = oSocket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR); 1853 1853 rc = iRc == 0; 1854 except socket.error as e:1855 iRc = e[0];1854 except socket.error as oXcpt2: 1855 iRc = oXcpt2.errno; 1856 1856 except: 1857 1857 iRc = -42; -
trunk/src/VBox/ValidationKit/testdriver/vbox.py
r70611 r70660 1450 1450 1451 1451 # If not being used, we can safely uninitialize COM. 1452 if cIfs == 0 and cObjs == 0 and cVBoxMgrs == 0 and len(aoObjsLeftBehind) == 0:1452 if cIfs == 0 and cObjs == 0 and cVBoxMgrs == 0 and not aoObjsLeftBehind: 1453 1453 reporter.log('_teardownVBoxApi: Calling CoUninitialize...'); 1454 1454 try: pythoncom.CoUninitialize(); # pylint: disable=no-member … … 1501 1501 else: 1502 1502 fPrinted = False; 1503 if isinstance(oReferrer, dict) or isinstance(oReferrer, list) or isinstance(oReferrer, tuple):1503 if isinstance(oReferrer, (dict, list, tuple)): 1504 1504 try: 1505 1505 aoSubReferreres = gc.get_referrers(oReferrer); -
trunk/src/VBox/ValidationKit/testdriver/vboxtestvms.py
r70659 r70660 542 542 if asVirtModesSup is None: 543 543 asVirtModesSup = list(g_asVirtModes); 544 TestVm.__init__(self, oSet, sVmName, 544 TestVm.__init__(self, sVmName, 545 oSet = oSet, 545 546 acCpusSup = [1,], 546 547 sFloppy = sFloppy, … … 1019 1020 if oVm.fGrouping & fGrouping: 1020 1021 if sTxsTransport is None or oVm.sNic0AttachType is None or sTxsTransport == oVm.sNic0AttachType: 1021 if not fCheckResources or len(oVm.getMissingResources(self.sResourcePath)) == 0:1022 if not fCheckResources or not oVm.getMissingResources(self.sResourcePath): 1022 1023 oCopyVm = copy.deepcopy(oVm); 1023 1024 oCopyVm.oSet = oSet; -
trunk/src/VBox/ValidationKit/testdriver/vboxwrappers.py
r70521 r70660 498 498 reporter.doPollWork('ProgressWrapper.waitForOperation'); 499 499 # Not reached. 500 return -3; # Make pylin happy (for now). 500 501 501 502 def doQuickApiTest(self): -
trunk/src/VBox/ValidationKit/testdriver/winbase.py
r70521 r70660 37 37 38 38 # Windows specific imports. 39 import pywintypes; # pylint: disable=import-error 40 import winerror; # pylint: disable=import-error 41 import win32con; # pylint: disable=import-error 39 42 import win32api; # pylint: disable=import-error 40 import win32con; # pylint: disable=import-error41 43 import win32console; # pylint: disable=import-error 42 44 import win32event; # pylint: disable=import-error 43 45 import win32process; # pylint: disable=import-error 44 import winerror; # pylint: disable=import-error45 import pywintypes; # pylint: disable=import-error46 46 47 47 # Validation Kit imports. … … 65 65 try: 66 66 # pylint: disable=no-member 67 win32console.GenerateConsoleCtrlEvent(win32con.CTRL_BREAK_EVENT, uPid); 67 win32console.GenerateConsoleCtrlEvent(win32con.CTRL_BREAK_EVENT, uPid); # pylint: disable=c-extension-no-member 68 68 #GenerateConsoleCtrlEvent = ctypes.windll.kernel32.GenerateConsoleCtrlEvent 69 69 #rc = GenerateConsoleCtrlEvent(1, uPid); … … 79 79 fRc = False; 80 80 try: 81 win32api.PostThreadMessage(uTid, win32con.WM_CLOSE, 0, 0); # pylint: disable=no-member81 win32api.PostThreadMessage(uTid, win32con.WM_CLOSE, 0, 0); # pylint: disable=no-member,c-extension-no-member 82 82 fRc = True; 83 83 except: … … 89 89 fRc = False; 90 90 try: 91 win32api.PostThreadMessage(uTid, win32con.WM_QUIT, 0x40010004, 0); # DBG_TERMINATE_PROCESS # pylint: disable=no-member 91 win32api.PostThreadMessage(uTid, win32con.WM_QUIT, # pylint: disable=no-member,c-extension-no-member 92 0x40010004, 0); # DBG_TERMINATE_PROCESS 92 93 fRc = True; 93 94 except: … … 100 101 fRc = False; 101 102 try: 102 hProcess = win32api.OpenProcess(win32con.PROCESS_TERMINATE, False, uPid); 103 hProcess = win32api.OpenProcess(win32con.PROCESS_TERMINATE, # pylint: disable=no-member,c-extension-no-member 104 False, uPid); 103 105 except: 104 106 reporter.logXcpt('uPid=%s' % (uPid,)); 105 107 else: 106 108 try: 107 win32process.TerminateProcess(hProcess, 0x40010004); # DBG_TERMINATE_PROCESS 109 win32process.TerminateProcess(hProcess, # pylint: disable=no-member,c-extension-no-member 110 0x40010004); # DBG_TERMINATE_PROCESS 108 111 fRc = True; 109 112 except: … … 120 123 # We try open the process for waiting since this is generally only forbidden in a very few cases. 121 124 try: 122 hProcess = win32api.OpenProcess(win32con.SYNCHRONIZE, False, uPid); # pylint: disable=no-member 125 hProcess = win32api.OpenProcess(win32con.SYNCHRONIZE, False, uPid); # pylint: disable=no-member,c-extension-no-member 123 126 except pywintypes.error as oXcpt: # pylint: disable=no-member 124 127 if oXcpt.winerror == winerror.ERROR_INVALID_PARAMETER: … … 182 185 # pylint: disable=no-member 183 186 dwCreationFlags = win32con.CREATE_NEW_PROCESS_GROUP; 184 oStartupInfo = win32process.STARTUPINFO(); 185 try: 186 (hProcess, hThread, uPid, uTid) = win32process.CreateProcess(sName, 187 oStartupInfo = win32process.STARTUPINFO(); # pylint: disable=c-extension-no-member 188 try: 189 (hProcess, hThread, uPid, uTid) = win32process.CreateProcess(sName, # pylint: disable=c-extension-no-member 187 190 sCmdLine, # CommandLine 188 191 None, # ProcessAttributes … … 205 208 # Try get full access to the process. 206 209 try: 207 hProcessFullAccess = win32api.DuplicateHandle( 208 win32api.GetCurrentProcess(), 210 hProcessFullAccess = win32api.DuplicateHandle( # pylint: disable=c-extension-no-member 211 win32api.GetCurrentProcess(), # pylint: disable=c-extension-no-member 209 212 hProcess, 210 win32api.GetCurrentProcess(), 213 win32api.GetCurrentProcess(), # pylint: disable=c-extension-no-member 211 214 win32con.PROCESS_TERMINATE 212 215 | win32con.PROCESS_QUERY_INFORMATION … … 227 230 """ 228 231 try: 229 dwWait = win32event.WaitForSingleObject(hProcess, 0); # pylint: disable=no-member232 dwWait = win32event.WaitForSingleObject(hProcess, 0); # pylint: disable=no-member,c-extension-no-member 230 233 except: 231 234 reporter.logXcpt('hProcess=%s %#x' % (hProcess, hProcess.handle,)); … … 239 242 """ 240 243 try: 241 win32api.TerminateProcess(hProcess, 0x40010004); # DBG_TERMINATE_PROCESS # pylint: disable=no-member 244 win32api.TerminateProcess(hProcess, # pylint: disable=no-member,c-extension-no-member 245 0x40010004); # DBG_TERMINATE_PROCESS 242 246 except: 243 247 reporter.logXcpt('hProcess=%s %#x' % (hProcess, hProcess.handle,)); -
trunk/src/VBox/ValidationKit/testmanager/batch/add_build.py
r69111 r70660 34 34 import sys; 35 35 import os; 36 from optparse import OptionParser; 36 from optparse import OptionParser; # pylint: disable=deprecated-module 37 37 38 38 # Add Test Manager's modules path -
trunk/src/VBox/ValidationKit/testmanager/batch/check_for_deleted_builds.py
r69111 r70660 12 12 bisecting problems. 13 13 """ 14 15 from __future__ import print_function; 14 16 15 17 __copyright__ = \ … … 39 41 import sys; 40 42 import os; 41 from optparse import OptionParser; 43 from optparse import OptionParser; # pylint: disable=deprecated-module 42 44 43 45 # Add Test Manager's modules path … … 48 50 from testmanager.core.db import TMDatabaseConnection; 49 51 from testmanager.core.build import BuildLogic; 52 53 50 54 51 55 class BuildChecker(object): # pylint: disable=R0903 … … 70 74 if not self.oConfig.fQuiet: 71 75 if not self.oConfig.fRealRun: 72 print 'Dry run.';76 print('Dry run.'); 73 77 else: 74 print 'Real run! Will commit findings!';78 print('Real run! Will commit findings!'); 75 79 76 80 … … 88 92 aoBuilds = oBuildLogic.fetchForListing(iStart, cMaxRows, tsNow); 89 93 if not self.oConfig.fQuiet and aoBuilds: 90 print 'Processing builds #%s thru #%s' % (aoBuilds[0].idBuild, aoBuilds[-1].idBuild);94 print('Processing builds #%s thru #%s' % (aoBuilds[0].idBuild, aoBuilds[-1].idBuild)); 91 95 92 96 for oBuild in aoBuilds: … … 95 99 if rc is False: 96 100 if not self.oConfig.fQuiet: 97 print 'missing files for build #%s / r%s / %s / %s / %s / %s / %s' \98 % (oBuild.idBuild, oBuild.iRevision, oBuild.sVersion, oBuild.oCat.sType,99 oBuild.oCat.sBranch, oBuild.oCat.sProduct, oBuild.oCat.asOsArches,);100 print ' %s' % (oBuild.sBinaries,);101 print('missing files for build #%s / r%s / %s / %s / %s / %s / %s' 102 % (oBuild.idBuild, oBuild.iRevision, oBuild.sVersion, oBuild.oCat.sType, 103 oBuild.oCat.sBranch, oBuild.oCat.sProduct, oBuild.oCat.asOsArches,)); 104 print(' %s' % (oBuild.sBinaries,)); 101 105 if self.oConfig.fRealRun is True: 102 106 oBuild.fBinariesDeleted = True; 103 107 oBuildLogic.editEntry(oBuild, fCommit = True); 104 108 elif rc is True and not self.oConfig.fQuiet: 105 print 'build #%s still have its files' % (oBuild.idBuild,);109 print('build #%s still have its files' % (oBuild.idBuild,)); 106 110 elif rc is None and not self.oConfig.fQuiet: 107 print 'Unable to determine state of build #%s' % (oBuild.idBuild,);111 print('Unable to determine state of build #%s' % (oBuild.idBuild,)); 108 112 109 113 # advance -
trunk/src/VBox/ValidationKit/testmanager/batch/close_orphaned_testsets.py
r69111 r70660 7 7 Maintenance tool for closing orphaned testsets. 8 8 """ 9 10 from __future__ import print_function; 9 11 10 12 __copyright__ = \ … … 34 36 import sys 35 37 import os 36 from optparse import OptionParser 38 from optparse import OptionParser; # pylint: disable=deprecated-module 37 39 38 40 # Add Test Manager's modules path … … 72 74 # Complete them. 73 75 if self.oConfig.fJustDoIt: 74 print 'Completing %u test sets as abandoned:' % (len(aoOrphans),);76 print('Completing %u test sets as abandoned:' % (len(aoOrphans),)); 75 77 for oTestSet in aoOrphans: 76 print '#%-7u: idTestBox=%-3u tsCreated=%s tsDone=%s' \77 % (oTestSet.idTestSet, oTestSet.idTestBox, oTestSet.tsCreated, oTestSet.tsDone);78 print('#%-7u: idTestBox=%-3u tsCreated=%s tsDone=%s' 79 % (oTestSet.idTestSet, oTestSet.idTestBox, oTestSet.tsCreated, oTestSet.tsDone)); 78 80 oLogic.completeAsAbandoned(oTestSet.idTestSet); 79 print 'Committing...';81 print('Committing...'); 80 82 oDb.commit(); 81 83 else: 82 84 for oTestSet in aoOrphans: 83 print '#%-7u: idTestBox=%-3u tsCreated=%s tsDone=%s' \84 % (oTestSet.idTestSet, oTestSet.idTestBox, oTestSet.tsCreated, oTestSet.tsDone);85 print 'Not completing any testsets without seeing the --just-do-it option.'85 print('#%-7u: idTestBox=%-3u tsCreated=%s tsDone=%s' 86 % (oTestSet.idTestSet, oTestSet.idTestBox, oTestSet.tsCreated, oTestSet.tsDone)); 87 print('Not completing any testsets without seeing the --just-do-it option.'); 86 88 else: 87 print 'No orphaned test sets.\n'89 print('No orphaned test sets.\n'); 88 90 return 0; 89 91 -
trunk/src/VBox/ValidationKit/testmanager/batch/del_build.py
r69111 r70660 8 8 deleted. 9 9 """ 10 11 from __future__ import print_function; 10 12 11 13 __copyright__ = \ … … 35 37 import sys 36 38 import os 37 from optparse import OptionParser 39 from optparse import OptionParser; # pylint: disable=deprecated-module 38 40 39 41 # Add Test Manager's modules path … … 74 76 else: 75 77 if not oConfig.fQuiet: 76 print "del_build.py: Marked %u builds associated with '%s' as deleted." % (cBuilds, sBuildBin,);78 print("del_build.py: Marked %u builds associated with '%s' as deleted." % (cBuilds, sBuildBin,)); 77 79 78 80 oDb.close() -
trunk/src/VBox/ValidationKit/testmanager/batch/filearchiver.py
r69111 r70660 8 8 g_ksZipFileAreaRootDir storage area. 9 9 """ 10 11 from __future__ import print_function; 10 12 11 13 __copyright__ = \ … … 35 37 import sys 36 38 import os 37 from optparse import OptionParser 39 from optparse import OptionParser; # pylint: disable=deprecated-module 38 40 import time; 39 41 import zipfile; … … 48 50 from testmanager.core.db import TMDatabaseConnection; 49 51 from testmanager.core.testset import TestSetData, TestSetLogic; 52 53 50 54 51 55 class FileArchiverBatchJob(object): # pylint: disable=R0903 … … 68 72 """ Verbose output. """ 69 73 if self.fVerbose: 70 print sText;74 print(sText); 71 75 return True; 72 76 73 77 def warning(self, sText): 74 78 """Prints a warning.""" 75 print sText;79 print(sText); 76 80 return True; 77 81 -
trunk/src/VBox/ValidationKit/testmanager/batch/regen_sched_queues.py
r69111 r70660 7 7 Interface used by the admin to regenerate scheduling queues. 8 8 """ 9 10 from __future__ import print_function; 9 11 10 12 __copyright__ = \ … … 34 36 import sys; 35 37 import os; 36 from optparse import OptionParser; 38 from optparse import OptionParser; # pylint: disable=deprecated-module 37 39 38 40 # Add Test Manager's modules path … … 44 46 from testmanager.core.schedulerbase import SchedulerBase; 45 47 from testmanager.core.schedgroup import SchedGroupLogic; 48 49 46 50 47 51 class RegenSchedQueues(object): # pylint: disable=R0903 … … 76 80 for oGroup in aoGroups: 77 81 if not self.oConfig.fQuiet: 78 print '%s (ID %#d):' % (oGroup.sName, oGroup.idSchedGroup,);82 print('%s (ID %#d):' % (oGroup.sName, oGroup.idSchedGroup,)); 79 83 try: 80 84 (aoErrors, asMessages) = SchedulerBase.recreateQueue(oDb, self.oConfig.uid, oGroup.idSchedGroup, 2); 81 85 except Exception as oXcpt: 82 86 oDb.rollback(); 83 print ' !!Hit exception processing "%s": %s' % (oGroup.sName, oXcpt,);87 print(' !!Hit exception processing "%s": %s' % (oGroup.sName, oXcpt,)); 84 88 else: 85 89 if not aoErrors: 86 90 if not self.oConfig.fQuiet: 87 print ' Successfully regenerated.';91 print(' Successfully regenerated.'); 88 92 else: 89 93 iRc = 1; 90 print ' %d errors:' % (len(aoErrors,));94 print(' %d errors:' % (len(aoErrors,))); 91 95 for oError in aoErrors: 92 96 if oError[1] is None: 93 print ' !!%s' % (oError[0],);97 print(' !!%s' % (oError[0],)); 94 98 else: 95 print ' !!%s (%s)' % (oError[0], oError[1]);99 print(' !!%s (%s)' % (oError[0], oError[1])); 96 100 if asMessages and not self.oConfig.fQuiet: 97 print ' %d messages:' % (len(asMessages),);101 print(' %d messages:' % (len(asMessages),)); 98 102 for sMsg in asMessages: 99 print ' ##%s' % (sMsg,);103 print(' ##%s' % (sMsg,)); 100 104 return iRc; 101 105 -
trunk/src/VBox/ValidationKit/testmanager/batch/vcs_import.py
r69111 r70660 7 7 Cron job for importing revision history for a repository. 8 8 """ 9 10 from __future__ import print_function; 9 11 10 12 __copyright__ = \ … … 34 36 import sys; 35 37 import os; 36 from optparse import OptionParser; 38 from optparse import OptionParser; # pylint: disable=deprecated-module 37 39 import xml.etree.ElementTree as ET; 38 40 … … 111 113 asArgs.append(self.oConfig.sUrl); 112 114 if not self.oConfig.fQuiet: 113 print 'Executing: %s' % (asArgs,);115 print('Executing: %s' % (asArgs,)); 114 116 sLogXml = utils.processOutputChecked(asArgs); 115 117 … … 127 129 sMessage = ' '; 128 130 if not self.oConfig.fQuiet: 129 print 'sDate=%s iRev=%u sAuthor=%s sMsg[%s]=%s' % (sDate, iRevision, sAuthor, type(sMessage).__name__, sMessage);131 print('sDate=%s iRev=%u sAuthor=%s sMsg[%s]=%s' % (sDate, iRevision, sAuthor, type(sMessage).__name__, sMessage)); 130 132 oData = VcsRevisionData().initFromValues(self.oConfig.sRepository, iRevision, sDate, sAuthor, sMessage); 131 133 oLogic.addVcsRevision(oData); -
trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py
r69111 r70660 12 12 13 13 """ 14 15 from __future__ import print_function; 14 16 15 17 __copyright__ = \ … … 41 43 import os; 42 44 import hashlib; 43 import StringIO; 44 from optparse import OptionParser; 45 from PIL import Image; # pylint: disable=import-error 45 if sys.version_info[0] >= 3: 46 from io import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 47 else: 48 from StringIO import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 49 from optparse import OptionParser; # pylint: disable=deprecated-module 50 from PIL import Image; # pylint: disable=import-error 46 51 47 52 # Add Test Manager's modules path … … 60 65 from testmanager.core.testresultfailures import TestResultFailureLogic, TestResultFailureData; 61 66 from testmanager.core.useraccount import UserAccountLogic; 67 68 # Python 3 hacks: 69 if sys.version_info[0] >= 3: 70 xrange = range; # pylint: disable=redefined-builtin,invalid-name 62 71 63 72 … … 224 233 else: 225 234 try: 226 oImage = Image.open(StringIO .StringIO(abImageFile));235 oImage = Image.open(StringIO(abImageFile)); 227 236 except Exception as oXcpt: 228 237 self.oSheriff.vprint(u'Error opening the "%s" image bytes using PIL.Image.open: %s' % (oFile.sFile, oXcpt,)) … … 302 311 Returns 1 (for exit code usage.) 303 312 """ 304 print 'error: %s' % (sText,);313 print('error: %s' % (sText,)); 305 314 if self.oLogFile is not None: 306 315 self.oLogFile.write((u'error: %s\n' % (sText,)).encode('utf-8')); … … 313 322 if self.oConfig.fDebug: 314 323 if not self.oConfig.fQuiet: 315 print 'debug: %s' % (sText,);324 print('debug: %s' % (sText, )); 316 325 if self.oLogFile is not None: 317 326 self.oLogFile.write((u'debug: %s\n' % (sText,)).encode('utf-8')); … … 323 332 """ 324 333 if not self.oConfig.fQuiet: 325 print 'info: %s' % (sText,);334 print('info: %s' % (sText,)); 326 335 if self.oLogFile is not None: 327 336 self.oLogFile.write((u'info: %s\n' % (sText,)).encode('utf-8')); -
trunk/src/VBox/ValidationKit/testmanager/core/db.py
r69111 r70660 45 45 psycopg2.extensions.register_type(psycopg2.extensions.UNICODE); 46 46 psycopg2.extensions.register_type(psycopg2.extensions.UNICODEARRAY); 47 else: 48 unicode = str; # pylint: disable=redefined-builtin,invalid-name 49 47 50 48 51 -
trunk/src/VBox/ValidationKit/testmanager/core/failurecategory.py
r69111 r70660 30 30 31 31 32 # Standard Python imports. 33 import sys; 34 32 35 # Validation Kit imports. 33 36 from testmanager.core.base import ModelDataBase, ModelLogicBase, TMRowInUse, TMInvalidData, TMRowNotFound, \ 34 37 ChangeLogEntry, AttributeChangeEntry; 35 38 from testmanager.core.useraccount import UserAccountLogic; 39 40 # Python 3 hacks: 41 if sys.version_info[0] >= 3: 42 xrange = range; # pylint: disable=redefined-builtin,invalid-name 36 43 37 44 -
trunk/src/VBox/ValidationKit/testmanager/core/failurereason.py
r69111 r70660 30 30 31 31 32 # Standard Python imports. 33 import sys; 34 32 35 # Validation Kit imports. 33 36 from testmanager.core.base import ModelDataBase, ModelLogicBase, TMRowNotFound, TMInvalidData, TMRowInUse, \ … … 35 38 from testmanager.core.useraccount import UserAccountLogic; 36 39 40 # Python 3 hacks: 41 if sys.version_info[0] >= 3: 42 xrange = range; # pylint: disable=redefined-builtin,invalid-name 37 43 38 44 -
trunk/src/VBox/ValidationKit/testmanager/core/report.py
r69111 r70660 29 29 __version__ = "$Revision$" 30 30 31 32 # Standard Python imports. 33 import sys; 31 34 32 35 # Validation Kit imports. … … 40 43 from testmanager.core.testresults import TestResultLogic, TestResultFilter; 41 44 from common import constants; 45 46 # Python 3 hacks: 47 if sys.version_info[0] >= 3: 48 xrange = range; # pylint: disable=redefined-builtin,invalid-name 42 49 43 50 -
trunk/src/VBox/ValidationKit/testmanager/core/schedulerbase.py
r69111 r70660 33 33 34 34 # Standard python imports. 35 import sys; 35 36 import unittest; 36 37 … … 49 50 from testmanager.core.testcaseargs import TestCaseArgsDataEx, TestCaseArgsLogic; 50 51 from testmanager.core.testset import TestSetData, TestSetLogic; 52 53 # Python 3 hacks: 54 if sys.version_info[0] >= 3: 55 xrange = range; # pylint: disable=redefined-builtin,invalid-name 56 51 57 52 58 … … 303 309 304 310 305 return True;306 307 308 311 309 312 class SchedQueueData(ModelDataBase): … … 420 423 return self; 421 424 422 def next(self):425 def __next__(self): 423 426 """Returns the next build, raises StopIteration when the end has been reached.""" 424 427 while True: … … 432 435 if not oEntry.fRemoved: 433 436 return oEntry; 434 # end 437 return None; # not reached, but make pylint happy (for now). 438 439 def next(self): 440 """ For python 2.x. """ 441 return self.__next__(); 435 442 436 443 class BuildCacheEntry(object): -
trunk/src/VBox/ValidationKit/testmanager/core/testbox.py
r69111 r70660 32 32 # Standard python imports. 33 33 import copy; 34 import sys; 34 35 import unittest; 35 36 … … 40 41 ChangeLogEntry, AttributeChangeEntry, AttributeChangeEntryPre; 41 42 from testmanager.core.useraccount import UserAccountLogic; 43 44 # Python 3 hacks: 45 if sys.version_info[0] >= 3: 46 xrange = range; # pylint: disable=redefined-builtin,invalid-name 42 47 43 48 -
trunk/src/VBox/ValidationKit/testmanager/core/testcase.py
r69111 r70660 33 33 # Standard python imports. 34 34 import copy; 35 import sys; 35 36 import unittest; 36 37 … … 41 42 from testmanager.core.globalresource import GlobalResourceData; 42 43 from testmanager.core.useraccount import UserAccountLogic; 44 45 # Python 3 hacks: 46 if sys.version_info[0] >= 3: 47 long = int; # pylint: disable=redefined-builtin,invalid-name 43 48 44 49 … … 872 877 oTestCase.idTestCase = int(oTestCase.idTestCase); 873 878 oTestCase.initFromDbWithId(oDb, oTestCase.idTestCase); 874 except Exception ,oXcpt:879 except Exception as oXcpt: 875 880 asErrors.append('Test case dependency #%s: %s' % (oTestCase.idTestCase, oXcpt)); 876 881 aoNewValues.append(oTestCase); … … 883 888 oGlobalRsrc.idTestCase = int(oGlobalRsrc.idGlobalRsrc); 884 889 oGlobalRsrc.initFromDbWithId(oDb, oGlobalRsrc.idGlobalRsrc); 885 except Exception ,oXcpt:890 except Exception as oXcpt: 886 891 asErrors.append('Resource dependency #%s: %s' % (oGlobalRsrc.idGlobalRsrc, oXcpt)); 887 892 aoNewValues.append(oGlobalRsrc); -
trunk/src/VBox/ValidationKit/testmanager/core/testresultfailures.py
r69111 r70660 31 31 """ 32 32 __version__ = "$Revision$" 33 33 34 # Standard python imports. 35 import sys; 34 36 import unittest; 35 37 … … 40 42 from testmanager.core.useraccount import UserAccountLogic; 41 43 44 # Python 3 hacks: 45 if sys.version_info[0] >= 3: 46 xrange = range; # pylint: disable=redefined-builtin,invalid-name 42 47 43 48 -
trunk/src/VBox/ValidationKit/testmanager/core/testresults.py
r69111 r70660 31 31 """ 32 32 __version__ = "$Revision$" 33 34 33 35 # Standard python imports. 36 import sys; 34 37 import unittest; 35 38 … … 49 52 from testmanager.core.testresultfailures import TestResultFailureDataEx; 50 53 from testmanager.core.useraccount import UserAccountLogic; 54 55 # Python 3 hacks: 56 if sys.version_info[0] >= 3: 57 long = int; # pylint: disable=redefined-builtin,invalid-name 51 58 52 59 -
trunk/src/VBox/ValidationKit/testmanager/core/webservergluebase.py
r69111 r70660 546 546 dInfo['sys.hexversion'] = sys.hexversion; 547 547 dInfo['sys.api_version'] = sys.api_version; 548 dInfo['sys.subversion'] = sys.subversion; 548 if hasattr(sys, 'subversion'): 549 dInfo['sys.subversion'] = sys.subversion; # pylint: disable=no-member 549 550 dInfo['sys.platform'] = sys.platform; 550 551 dInfo['sys.executable'] = sys.executable; -
trunk/src/VBox/ValidationKit/testmanager/debug/cgiprofiling.py
r69111 r70660 52 52 try: 53 53 oProfiler.print_stats(sort = sSort); 54 except Exception ,oXcpt:54 except Exception as oXcpt: 55 55 print('<p><pre>%s</pre></p>\n' % (oXcpt,)); 56 56 else: -
trunk/src/VBox/ValidationKit/testmanager/webui/wuiadminfailurecategory.py
r69111 r70660 47 47 dParams = { WuiAdmin.ksParamAction: WuiAdmin.ksActionFailureCategoryDetails, 48 48 FailureCategoryData.ksParam_idFailureCategory: idFailureCategory, }, 49 fBracketed = fBracketed); 49 fBracketed = fBracketed, 50 sTitle = sTitle); 50 51 self.idFailureCategory = idFailureCategory; 51 52 -
trunk/src/VBox/ValidationKit/testmanager/webui/wuibase.py
r69111 r70660 42 42 from testmanager.core.systemlog import SystemLogLogic, SystemLogData; 43 43 from testmanager.core.useraccount import UserAccountLogic 44 45 # Python 3 hacks: 46 if sys.version_info[0] >= 3: 47 unicode = str; # pylint: disable=redefined-builtin,invalid-name 48 long = int; # pylint: disable=redefined-builtin,invalid-name 44 49 45 50 … … 280 285 if self._dSideMenuFormAttrs: 281 286 dReplacements['@@SIDE_MENU_FORM_ATTRS@@'] = ' '.join(['%s="%s"' % (sKey, webutils.escapeAttr(sValue)) 282 for sKey, sValue in self._dSideMenuFormAttrs.ite ritems()]);287 for sKey, sValue in self._dSideMenuFormAttrs.items()]); 283 288 284 289 # Special current user handling. -
trunk/src/VBox/ValidationKit/testmanager/webui/wuicontentbase.py
r69111 r70660 32 32 # Standard python imports. 33 33 import copy; 34 import sys; 34 35 35 36 # Validation Kit imports. … … 40 41 from testmanager.core import db; 41 42 from testmanager.core.base import AttributeChangeEntryPre; 43 44 # Python 3 hacks: 45 if sys.version_info[0] >= 3: 46 unicode = str; # pylint: disable=redefined-builtin,invalid-name 42 47 43 48 … … 691 696 if self._sRedirectTo is not None: 692 697 oForm.addTextHidden(self._oDisp.ksParamRedirectTo, self._sRedirectTo); 693 except WuiException ,oXcpt:698 except WuiException as oXcpt: 694 699 sContent = unicode(oXcpt) 695 700 else: -
trunk/src/VBox/ValidationKit/testmanager/webui/wuigraphwiz.py
r69111 r70660 104 104 else: 105 105 daTestBoxes[oSeries.idTestBox] = [oSeries,]; 106 for _, aoSeriesPerTestBox in daTestBoxes.iteritems():106 for aoSeriesPerTestBox in daTestBoxes.values(): 107 107 if len(aoSeriesPerTestBox) >= 0: 108 108 asOsArches = aoSeriesPerTestBox[0].oBuildCategory.asOsArches; -
trunk/src/VBox/ValidationKit/testmanager/webui/wuihlpform.py
r69111 r70660 31 31 # Standard python imports. 32 32 import copy; 33 import sys; 33 34 34 35 # Validation Kit imports. … … 39 40 from testmanager.core.testcaseargs import TestCaseArgsData; 40 41 from testmanager.core.testgroup import TestGroupMemberData, TestGroupDataEx; 42 43 # Python 3 hacks: 44 if sys.version_info[0] >= 3: 45 unicode = str; # pylint: disable=redefined-builtin,invalid-name 41 46 42 47 -
trunk/src/VBox/ValidationKit/testmanager/webui/wuihlpgraphmatplotlib.py
r69111 r70660 31 31 # Standard Python Import and extensions installed on the system. 32 32 import re; 33 import StringIO; 34 35 import matplotlib; # pylint: disable=F0401 33 import sys; 34 if sys.version_info[0] >= 3: 35 from io import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 36 else: 37 from StringIO import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 38 39 import matplotlib; # pylint: disable=F0401 36 40 matplotlib.use('Agg'); # Force backend. 37 import matplotlib.pyplot; # pylint: disable=F040138 from numpy import arange as numpy_arange; # pylint: disable=E0611,E040141 import matplotlib.pyplot; # pylint: disable=F0401 42 from numpy import arange as numpy_arange; # pylint: disable=E0611,E0401 39 43 40 44 # Validation Kit imports. … … 70 74 def _produceSvg(self, oFigure, fTightLayout = True): 71 75 """ Creates an SVG string from the given figure. """ 72 oOutput = StringIO .StringIO();76 oOutput = StringIO(); 73 77 if fTightLayout: 74 78 oFigure.tight_layout(); -
trunk/src/VBox/ValidationKit/testmanager/webui/wuitestresultfailure.py
r69111 r70660 48 48 dParams = { WuiMain.ksParamAction: WuiMain.ksActionTestResultFailureDetails, 49 49 TestResultFailureData.ksParam_idTestResult: idTestResult, }, 50 fBracketed = fBracketed); 50 fBracketed = fBracketed, 51 sTitle = sTitle); 51 52 self.idTestResult = idTestResult; 52 53 -
trunk/src/VBox/ValidationKit/tests/additions/tdAddGuestCtrl.py
r70521 r70660 3168 3168 curTest = aTest[0]; # tdTestFileReadWrite, use an index, later. 3169 3169 curRes = aTest[1]; # tdTestResult 3170 reporter.log('Testing #%d, sFile="%s", cbToReadWrite=%d, sOpenMode="%s", sDisposition="%s", cbOffset=%d ...' % \3170 reporter.log('Testing #%d, sFile="%s", cbToReadWrite=%d, sOpenMode="%s", sDisposition="%s", cbOffset=%d ...' % 3171 3171 (i, curTest.sFile, curTest.cbToReadWrite, curTest.sOpenMode, curTest.sDisposition, curTest.cbOffset)); 3172 3172 curTest.setEnvironment(oSession, oTxsSession, oTestVm); … … 3175 3175 reporter.error('Test #%d failed: Could not create session' % (i,)); 3176 3176 break; 3177 3177 3178 try: 3178 3179 if curTest.cbOffset > 0: # The offset parameter is gone. … … 3182 3183 curFile.seek(curTest.cbOffset, vboxcon.FileSeekOrigin_Begin); 3183 3184 else: 3184 curFile = curGuestSession.fileOpenEx(curTest.sFile, curTest.sOpenMode, curTest.sDisposition, \3185 curFile = curGuestSession.fileOpenEx(curTest.sFile, curTest.sOpenMode, curTest.sDisposition, 3185 3186 curTest.sSharingMode, curTest.lCreationMode, curTest.cbOffset); 3186 3187 curOffset = long(curFile.offset); 3187 3188 resOffset = long(curTest.cbOffset); 3188 3189 if curOffset != resOffset: 3189 reporter.error('Test #%d failed: Initial offset on open does not match: Got %d, expected %d' \3190 reporter.error('Test #%d failed: Initial offset on open does not match: Got %d, expected %d' 3190 3191 % (i, curOffset, resOffset)); 3191 3192 fRc = False; … … 3195 3196 curTest.lCreationMode); 3196 3197 else: 3197 curFile = curGuestSession.fileOpen(curTest.sFile, curTest.sOpenMode, curTest.sDisposition, \3198 curFile = curGuestSession.fileOpen(curTest.sFile, curTest.sOpenMode, curTest.sDisposition, 3198 3199 curTest.lCreationMode); 3199 if fRc \ 3200 and curTest.cbToReadWrite > 0: 3200 if fRc and curTest.cbToReadWrite > 0: 3201 3201 ## @todo Split this up in 64K writes. Later. 3202 3202 ## @todo Test timeouts. 3203 3203 cBytesWritten = curFile.write(curTest.aBuf, 30 * 1000); 3204 if curRes.cbProcessed > 0 \3205 and curRes.cbProcessed != cBytesWritten:3206 reporter.error('Test #%d failed: Written buffer length does not match: Got %d, expected %d' \3204 if curRes.cbProcessed > 0 \ 3205 and curRes.cbProcessed != cBytesWritten: 3206 reporter.error('Test #%d failed: Written buffer length does not match: Got %d, expected %d' 3207 3207 % (i, cBytesWritten, curRes.cbProcessed)); 3208 3208 fRc = False; … … 3218 3218 reporter.logXcpt('Seeking back to initial write position failed:'); 3219 3219 fRc = False; 3220 if fRc \ 3221 and long(curFile.offset) != curTest.cbOffset: 3222 reporter.error('Test #%d failed: Initial write position does not match current position, \ 3223 got %d, expected %d' \ 3224 % (i, long(curFile.offset), curTest.cbOffset)); 3220 if fRc and long(curFile.offset) != curTest.cbOffset: 3221 reporter.error('Test #%d failed: Initial write position does not match current position, ' 3222 'got %d, expected %d' % (i, long(curFile.offset), curTest.cbOffset)); 3225 3223 fRc = False; 3226 3224 if fRc: 3227 3225 aBufRead = curFile.read(curTest.cbToReadWrite, 30 * 1000); 3228 3226 if len(aBufRead) != curTest.cbToReadWrite: 3229 reporter.error('Test #%d failed: Got buffer length %d, expected %d' \3227 reporter.error('Test #%d failed: Got buffer length %d, expected %d' 3230 3228 % (i, len(aBufRead), curTest.cbToReadWrite)); 3231 3229 fRc = False; 3232 if fRc \3233 and curRes.aBuf is not None \3234 and buffer(curRes.aBuf)!= aBufRead:3235 reporter.error('Test #%d failed: Got buffer\n%s, expected\n%s' \3230 if fRc \ 3231 and curRes.aBuf is not None \ 3232 and curRes.aBuf != aBufRead: 3233 reporter.error('Test #%d failed: Got buffer\n%s, expected\n%s' 3236 3234 % (i, aBufRead, curRes.aBuf)); 3237 3235 fRc = False; … … 3240 3238 resOffset = long(curRes.cbOffset); 3241 3239 if curOffset != resOffset: 3242 reporter.error('Test #%d failed: Final offset does not match: Got %d, expected %d' \3240 reporter.error('Test #%d failed: Final offset does not match: Got %d, expected %d' 3243 3241 % (i, curOffset, resOffset)); 3244 3242 fRc = False; -
trunk/src/VBox/ValidationKit/tests/api/tdPython1.py
r69111 r70660 36 36 import time 37 37 import threading 38 import types39 38 40 39 # Only the main script needs to modify the path. … … 107 106 reporter.errorXcpt(); 108 107 break; 109 if not isinstance(rc, types.IntType):108 if not isinstance(rc, int): 110 109 reporter.error('waitForEvents returns non-integer type'); 111 110 break; … … 204 203 205 204 # Check the return code and elapsed time. 206 if not isinstance(rc, types.IntType):205 if not isinstance(rc, int): 207 206 reporter.error('waitForEvents returns non-integer type after %u ms, expected 1' % (msElapsed,)); 208 207 elif rc != 1: -
trunk/src/VBox/ValidationKit/tests/storage/remoteexecutor.py
r70521 r70660 34 34 import os; 35 35 import shutil; 36 import StringIO 36 import sys; 37 if sys.version_info[0] >= 3: 38 from io import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 39 else: 40 from StringIO import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 37 41 import subprocess; 38 42 … … 41 45 from testdriver import reporter; 42 46 47 48 43 49 class StdInOutBuffer(object): 44 50 """ Standard input output buffer """ 45 51 46 52 def __init__(self, sInput = None): 47 self.sInput = StringIO .StringIO();53 self.sInput = StringIO(); 48 54 if sInput is not None: 49 55 self.sInput.write(self._toString(sInput)); -
trunk/src/VBox/ValidationKit/tests/storage/storagecfg.py
r70522 r70660 315 315 fRc = True; 316 316 sBlkDev = None; 317 if s elf.dSimplePools.has_key(sPool):317 if sPool in self.dSimplePools: 318 318 sDiskPath = self.dSimplePools.get(sPool); 319 319 if sDiskPath.find('zram') != -1: … … 357 357 self.dMounts.pop(sPool + '/' + sVol); 358 358 oExec.rmDir(sMountPoint); 359 if s elf.dSimplePools.has_key(sPool):359 if sPool in self.dSimplePools: 360 360 # Wipe partition table 361 361 sDiskPath = self.dSimplePools.get(sPool); … … 372 372 """ 373 373 fRc = True; 374 if s elf.dSimplePools.has_key(sPool):374 if sPool in self.dSimplePools: 375 375 self.dSimplePools.pop(sPool); 376 376 else: … … 565 565 fRc = True; 566 566 sMountPoint = None; 567 if s elf.dPools.has_key(sPool):567 if sPool in self.dPools: 568 568 sVol = 'vol' + str(self.iVolId); 569 569 sMountPoint = self.oStorOs.getMntBase() + '/' + sVol; -
trunk/src/VBox/ValidationKit/tests/storage/tdStorageBenchmark1.py
r70522 r70660 35 35 import socket; 36 36 import sys; 37 import StringIO; 37 if sys.version_info[0] >= 3: 38 from io import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 39 else: 40 from StringIO import StringIO as StringIO; # pylint: disable=import-error,no-name-in-module 38 41 39 42 # Only the main script needs to modify the path. … … 97 100 return False; 98 101 99 cfgBuf = StringIO .StringIO();102 cfgBuf = StringIO(); 100 103 cfgBuf.write('[global]\n'); 101 104 cfgBuf.write('bs=' + self.dCfg.get('RecordSize', '4k') + '\n'); … … 1143 1146 1144 1147 sIoLogFile = '%s/%s.iolog' % (self.sIoLogPath, sDrv); 1145 print sCfgmPath;1146 print sIoLogFile;1148 print(sCfgmPath); 1149 print(sIoLogFile); 1147 1150 oSession.o.machine.setExtraData('%s/IoLog' % (sCfgmPath,), sIoLogFile); 1148 1151 except: -
trunk/src/VBox/ValidationKit/tests/usb/tst-utsgadget.py
r70522 r70660 31 31 # Standard python imports. 32 32 import sys 33 import types34 33 35 34 # Validation Kit imports. … … 54 53 global g_cTests, g_cFailures; 55 54 g_cTests = g_cTests + 1; 56 if isinstance(rc, types.BooleanType):55 if isinstance(rc, bool): 57 56 if rc == fExpect: 58 57 return 'PASSED'; … … 88 87 i = i + 2; 89 88 elif asArgs[i] == '--help': 90 print 'tst-utsgadget.py [--hostname <addr|name>] [--port <num>] [--timeout <cMS>]'89 print('tst-utsgadget.py [--hostname <addr|name>] [--port <num>] [--timeout <cMS>]'); 91 90 return 0; 92 91 else: 93 print 'Unknown argument: %s' % (asArgs[i]);92 print('Unknown argument: %s' % (asArgs[i],)); 94 93 return 2; 95 94 … … 100 99 rc = oGadget.connectTo(cMsTimeout, sAddress, uPort = uPort); 101 100 if rc is False: 102 print 'connectTo failed';101 print('connectTo failed'); 103 102 return 1; 104 103 105 104 if fStdTests: 106 105 rc = oGadget.getUsbIpPort() is not None; 107 print '%s: getUsbIpPort() -> %s' % (boolRes(rc), oGadget.getUsbIpPort());106 print('%s: getUsbIpPort() -> %s' % (boolRes(rc), oGadget.getUsbIpPort(),)); 108 107 109 108 rc = oGadget.impersonate(usbgadget.g_ksGadgetImpersonationTest); 110 print '%s: impersonate()' % (boolRes(rc));109 print('%s: impersonate()' % (boolRes(rc),)); 111 110 112 111 rc = oGadget.disconnectUsb(); 113 print '%s: disconnectUsb()' % (boolRes(rc));112 print('%s: disconnectUsb()' % (boolRes(rc),)); 114 113 115 114 rc = oGadget.connectUsb(); 116 print '%s: connectUsb()' % (boolRes(rc));115 print('%s: connectUsb()' % (boolRes(rc),)); 117 116 118 117 rc = oGadget.clearImpersonation(); 119 print '%s: clearImpersonation()' % (boolRes(rc));118 print('%s: clearImpersonation()' % (boolRes(rc),)); 120 119 121 120 # Test super speed (and therefore passing configuration items) 122 121 rc = oGadget.impersonate(usbgadget.g_ksGadgetImpersonationTest, True); 123 print '%s: impersonate(, True)' % (boolRes(rc));122 print('%s: impersonate(, True)' % (boolRes(rc),)); 124 123 125 124 rc = oGadget.clearImpersonation(); 126 print '%s: clearImpersonation()' % (boolRes(rc));125 print('%s: clearImpersonation()' % (boolRes(rc),)); 127 126 128 127 # Done 129 128 rc = oGadget.disconnectFrom(); 130 print '%s: disconnectFrom() -> %s' % (boolRes(rc), rc);129 print('%s: disconnectFrom() -> %s' % (boolRes(rc), rc,)); 131 130 132 131 if g_cFailures != 0: 133 print 'tst-utsgadget.py: %u out of %u test failed' % (g_cFailures, g_cTests);132 print('tst-utsgadget.py: %u out of %u test failed' % (g_cFailures, g_cTests,)); 134 133 return 1; 135 print 'tst-utsgadget.py: all %u tests passed!' % (g_cTests);134 print('tst-utsgadget.py: all %u tests passed!' % (g_cTests,)); 136 135 return 0; 137 136 -
trunk/src/VBox/ValidationKit/tests/usb/usbgadget.py
r70521 r70660 34 34 import select 35 35 import socket 36 import sys; 36 37 import threading 37 38 import time 38 import types39 39 import zlib 40 40 … … 44 44 from testdriver import reporter; 45 45 from testdriver.base import TdTaskBase; 46 47 # Python 3 hacks: 48 if sys.version_info[0] >= 3: 49 long = int; # pylint: disable=redefined-builtin,invalid-name 50 46 51 47 52 ## @name USB gadget impersonation string constants. … … 196 201 abArray = array.array('B'); 197 202 sUtf8 = sStr.encode('utf_8'); 198 for i in range(0, len(sUtf8)):199 abArray.append(ord( sUtf8[i]))203 for ch in sUtf8: 204 abArray.append(ord(ch)); 200 205 abArray.append(0); 201 206 return abArray; … … 447 452 # the primitive approach... 448 453 sUtf8 = o.encode('utf_8'); 449 for i in range(0, len(sUtf8)):450 abPayload.append(ord( sUtf8[i]))454 for ch in sUtf8: 455 abPayload.append(ord(ch)) 451 456 abPayload.append(0); 452 elif isinstance(o, types.LongType):457 elif isinstance(o, long): 453 458 if o < 0 or o > 0xffffffff: 454 459 reporter.fatal('sendMsg: uint32_t payload is out of range: %s' % (hex(o))); 455 460 return None; 456 461 abPayload.extend(u32ToByteArray(o)); 457 elif isinstance(o, types.IntType):462 elif isinstance(o, int): 458 463 if o < 0 or o > 0xffffffff: 459 464 reporter.fatal('sendMsg: uint32_t payload is out of range: %s' % (hex(o))); … … 1063 1068 oSocket.connect((self.sHostname, self.uPort)); 1064 1069 rc = True; 1065 except socket.error as e:1066 iRc = e[0];1067 if self.__isInProgressXcpt( e):1070 except socket.error as oXcpt: 1071 iRc = oXcpt.errno; 1072 if self.__isInProgressXcpt(oXcpt): 1068 1073 # Do the actual waiting. 1069 reporter.log2('TransportTcp::connect: operation in progress (%s)...' % ( e,));1074 reporter.log2('TransportTcp::connect: operation in progress (%s)...' % (oXcpt,)); 1070 1075 try: 1071 1076 ttRc = select.select([oWakeupR], [oSocket], [oSocket, oWakeupR], cMsTimeout / 1000.0); … … 1074 1079 iRc = oSocket.getsockopt(socket.SOL_SOCKET, socket.SO_ERROR); 1075 1080 rc = iRc == 0; 1076 except socket.error as e:1077 iRc = e[0];1081 except socket.error as oXcpt2: 1082 iRc = oXcpt2.errno; 1078 1083 except: 1079 1084 iRc = -42;
Note:
See TracChangeset
for help on using the changeset viewer.