Changeset 70521 in vbox for trunk/src/VBox/ValidationKit/testdriver/txsclient.py
- Timestamp:
- Jan 10, 2018 3:49:10 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 120149
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testdriver/txsclient.py
r70508 r70521 30 30 31 31 # Standard Python imports. 32 import array 33 import errno 34 import os 35 import select 36 import socket 37 import threading 38 import time 39 import types 40 import zlib 41 import uuid 32 import array; 33 import errno; 34 import os; 35 import select; 36 import socket; 37 import sys; 38 import threading; 39 import time; 40 import types; 41 import zlib; 42 import uuid; 42 43 43 44 # Validation Kit imports. 44 from common import utils;45 from testdriver import base;46 from testdriver import reporter;45 from common import utils; 46 from testdriver import base; 47 from testdriver import reporter; 47 48 from testdriver.base import TdTaskBase; 49 50 # Python 3 hacks: 51 if sys.version_info[0] >= 3: 52 long = int; # pylint: disable=redefined-builtin,invalid-name 48 53 49 54 # … … 118 123 """Encodes the u32 value as a little endian byte (B) array.""" 119 124 return array.array('B', \ 120 ( u32 % 256, \121 (u32 / 256) % 256, \122 (u32 / 65536) % 256, \123 (u32 / 16777216) % 256) );125 ( u32 % 256, \ 126 (u32 // 256) % 256, \ 127 (u32 // 65536) % 256, \ 128 (u32 // 16777216) % 256) ); 124 129 125 130 … … 352 357 for o in aoPayload: 353 358 try: 354 if isinstance(o, basestring): 355 # the primitive approach... 356 sUtf8 = o.encode('utf_8'); 357 for i in range(0, len(sUtf8)): 358 abPayload.append(ord(sUtf8[i])) 359 if utils.isString(o): 360 if sys.version_info[0] >= 3: 361 abPayload.extend(o.encode('utf_8')); 362 else: 363 # the primitive approach... 364 sUtf8 = o.encode('utf_8'); 365 for i in range(0, len(sUtf8)): 366 abPayload.append(ord(sUtf8[i])) 359 367 abPayload.append(0); 360 368 elif isinstance(o, types.LongType): … … 724 732 aoPayload.append('%s' % (sPutEnv)); 725 733 for o in (oStdIn, oStdOut, oStdErr, oTestPipe): 726 if isinstance(o, basestring):734 if utils.isString(o): 727 735 aoPayload.append(o); 728 736 elif o is not None: … … 748 756 if msPendingInputReply is None \ 749 757 and oStdIn is not None \ 750 and not isinstance(oStdIn, basestring):758 and not utils.isString(oStdIn): 751 759 try: 752 760 sInput = oStdIn.read(65536); … … 910 918 # Cleanup. 911 919 for o in (oStdIn, oStdOut, oStdErr, oTestPipe): 912 if o is not None and not isinstance(o, basestring):920 if o is not None and not utils.isString(o): 913 921 del o.uTxsClientCrc32; # pylint: disable=E1103 914 922 # Make sure all files are closed … … 1084 1092 # Convert to array - this is silly! 1085 1093 abBuf = array.array('B'); 1086 for i, _ in enumerate(sRaw): 1087 abBuf.append(ord(sRaw[i])); 1094 if utils.isString(sRaw): 1095 for i, _ in enumerate(sRaw): 1096 abBuf.append(ord(sRaw[i])); 1097 else: 1098 abBuf.extend(sRaw); 1088 1099 sRaw = None; 1089 1100 … … 1406 1417 # 1407 1418 1408 def asyncMkDir(self, sRemoteDir, fMode = 0 700, cMsTimeout = 30000, fIgnoreErrors = False):1419 def asyncMkDir(self, sRemoteDir, fMode = 0o700, cMsTimeout = 30000, fIgnoreErrors = False): 1409 1420 """ 1410 1421 Initiates a mkdir task. … … 1416 1427 return self.startTask(cMsTimeout, fIgnoreErrors, "mkDir", self.taskMkDir, (sRemoteDir, long(fMode))); 1417 1428 1418 def syncMkDir(self, sRemoteDir, fMode = 0 700, cMsTimeout = 30000, fIgnoreErrors = False):1429 def syncMkDir(self, sRemoteDir, fMode = 0o700, cMsTimeout = 30000, fIgnoreErrors = False): 1419 1430 """Synchronous version.""" 1420 1431 return self.asyncToSync(self.asyncMkDir, sRemoteDir, long(fMode), cMsTimeout, fIgnoreErrors); 1421 1432 1422 def asyncMkDirPath(self, sRemoteDir, fMode = 0 700, cMsTimeout = 30000, fIgnoreErrors = False):1433 def asyncMkDirPath(self, sRemoteDir, fMode = 0o700, cMsTimeout = 30000, fIgnoreErrors = False): 1423 1434 """ 1424 1435 Initiates a mkdir -p task. … … 1430 1441 return self.startTask(cMsTimeout, fIgnoreErrors, "mkDirPath", self.taskMkDirPath, (sRemoteDir, long(fMode))); 1431 1442 1432 def syncMkDirPath(self, sRemoteDir, fMode = 0 700, cMsTimeout = 30000, fIgnoreErrors = False):1443 def syncMkDirPath(self, sRemoteDir, fMode = 0o700, cMsTimeout = 30000, fIgnoreErrors = False): 1433 1444 """Synchronous version.""" 1434 1445 return self.asyncToSync(self.asyncMkDirPath, sRemoteDir, long(fMode), cMsTimeout, fIgnoreErrors); … … 1659 1670 def __isInProgressXcpt(self, oXcpt): 1660 1671 """ In progress exception? """ 1672 reporter.log("oXcpt=%s" % (oXcpt)) ## TMP TMP 1673 reporter.log("dir(oXcpt)=%s" % (dir(oXcpt))) ## TMP TMP 1661 1674 try: 1662 1675 if isinstance(oXcpt, socket.error): 1663 1676 try: 1664 if oXcpt [0]== errno.EINPROGRESS:1677 if oXcpt.errno == errno.EINPROGRESS: 1665 1678 return True; 1666 1679 except: pass; 1667 1680 # Windows? 1668 1681 try: 1669 if oXcpt [0]== errno.EWOULDBLOCK:1682 if oXcpt.errno == errno.EWOULDBLOCK: 1670 1683 return True; 1671 1684 except: pass; … … 1679 1692 if isinstance(oXcpt, socket.error): 1680 1693 try: 1681 if oXcpt [0]== errno.EWOULDBLOCK:1694 if oXcpt.errno == errno.EWOULDBLOCK: 1682 1695 return True; 1683 1696 except: pass; 1684 1697 try: 1685 if oXcpt [0]== errno.EAGAIN:1698 if oXcpt.errno == errno.EAGAIN: 1686 1699 return True; 1687 1700 except: pass; … … 1695 1708 if isinstance(oXcpt, socket.error): 1696 1709 try: 1697 if oXcpt [0]== errno.ECONNRESET:1710 if oXcpt.errno == errno.ECONNRESET: 1698 1711 return True; 1699 1712 except: pass; 1700 1713 try: 1701 if oXcpt [0]== errno.ENETRESET:1714 if oXcpt.errno == errno.ENETRESET: 1702 1715 return True; 1703 1716 except: pass;
Note:
See TracChangeset
for help on using the changeset viewer.