Changeset 70517 in vbox for trunk/src/VBox/ValidationKit/testdriver
- Timestamp:
- Jan 10, 2018 2:14:45 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 120145
- Location:
- trunk/src/VBox/ValidationKit/testdriver
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/testdriver/base.py
r70508 r70517 40 40 import sys 41 41 import time 42 import thread 42 if sys.version_info[0] < 3: import thread; # pylint: disable=import-error 43 else: import _thread as thread; # pylint: disable=import-error 43 44 import threading 44 45 import traceback … … 133 134 raise GenError('the value of env.var. "%s" is not a dir: "%s"' % (sVar, sVal)); 134 135 try: 135 os.makedirs(sVal, 0 700);136 os.makedirs(sVal, 0o700); 136 137 except: 137 138 reporter.error('makedirs failed on the value of env.var. "%s": "%s"' % (sVar, sVal)); … … 814 815 self.sScratchPath = os.path.abspath(os.path.join(sTmpDir, 'VBoxTestTmp')); 815 816 if not os.path.isdir(self.sScratchPath): 816 os.makedirs(self.sScratchPath, 0 700);817 os.makedirs(self.sScratchPath, 0o700); 817 818 os.environ['TESTBOX_PATH_SCRATCH'] = self.sScratchPath; 818 819 … … 859 860 os.environ['IPRT_TMPDIR'] = self.sScratchPath; # IPRT/VBox specific. 860 861 861 862 def dump(self):863 """864 For debugging. --> __str__?865 """866 print >> sys.stderr, "testdriver.base: sBinPath = '%s'" % self.sBinPath;867 print >> sys.stderr, "testdriver.base: sScriptPath = '%s'" % self.sScriptPath;868 print >> sys.stderr, "testdriver.base: sScratchPath = '%s'" % self.sScratchPath;869 print >> sys.stderr, "testdriver.base: sTestBoxName = '%s'" % self.sTestBoxName;870 print >> sys.stderr, "testdriver.base: sBuildPath = '%s'" % self.sBuildPath;871 print >> sys.stderr, "testdriver.base: sResourcePath = '%s'" % self.sResourcePath;872 print >> sys.stderr, "testdriver.base: sUploadPath = '%s'" % self.sUploadPath;873 print >> sys.stderr, "testdriver.base: sTestSetId = '%s'" % self.sTestSetId;874 print >> sys.stderr, "testdriver.base: sHost = '%s'" % self.sHost;875 print >> sys.stderr, "testdriver.base: sHostArch = '%s'" % self.sHostArch;876 print >> sys.stderr, "testdriver.base: asSpecialActions = '%s'" % self.asSpecialActions;877 print >> sys.stderr, "testdriver.base: asNormalActions = '%s'" % self.asNormalActions;878 print >> sys.stderr, "testdriver.base: asActions = '%s'" % self.asActions;879 print >> sys.stderr, "testdriver.base: secTimeoutAbs = '%s'" % self.secTimeoutAbs;880 for sVar in sorted(os.environ):881 print >> sys.stderr, "os.environ[%s] = '%s'" % (sVar, os.environ[sVar],);882 862 883 863 # -
trunk/src/VBox/ValidationKit/testdriver/btresolver.py
r69225 r70517 539 539 if not os.path.exists(self.sScratchDbgPath): 540 540 try: 541 os.makedirs(self.sScratchDbgPath, 0 750);541 os.makedirs(self.sScratchDbgPath, 0o750); 542 542 except: 543 543 fRc = False; -
trunk/src/VBox/ValidationKit/testdriver/reporter.py
r70508 r70517 6 6 Testdriver reporter module. 7 7 """ 8 9 from __future__ import print_function; 8 10 9 11 __copyright__ = \ … … 413 415 sLogName = os.path.join(self.sLogDir, 'testsuite.log'); 414 416 sTsIso = utils.getIsoTimestamp(); 415 self.oLogFile = utils.openNoInherit(sLogName, "w"); 417 if sys.version_info[0] >= 3: # Add 'b' to prevent write taking issue with encode('utf-8') not returning a string. 418 self.oLogFile = utils.openNoInherit(sLogName, "wb"); 419 else: 420 self.oLogFile = utils.openNoInherit(sLogName, "w"); 416 421 self.oLogFile.write(('Created log file at %s.\nRunning: %s' % (sTsIso, sys.argv)).encode('utf-8')); 417 422 … … 424 429 # 425 430 sXmlName = os.path.join(self.sLogDir, 'testsuite.xml'); 426 self.oXmlFile = utils.openNoInherit(sXmlName, "w"); 431 if sys.version_info[0] >= 3: # Add 'b' to prevent write taking issue with encode('utf-8') not returning a string. 432 self.oXmlFile = utils.openNoInherit(sXmlName, "wb"); 433 else: 434 self.oXmlFile = utils.openNoInherit(sXmlName, "w"); 427 435 self._xmlWrite([ '<?xml version="1.0" encoding="UTF-8" ?>', 428 436 '<Test timestamp="%s" name="%s">' % (sTsIso, self._xmlEscAttr(self.sName),), ], … … 500 508 sAscii = sLogText.encode('ascii', 'replace'); 501 509 if self.iDebug == 0: 502 print >> self.oStdErr, '%s: %s' % (self.sName, sAscii)510 print('%s: %s' % (self.sName, sAscii), file = self.oStdErr); 503 511 else: 504 print >> self.oStdErr, '%s' % (sAscii)512 print('%s' % (sAscii), file = self.oStdErr); 505 513 sLogText += '\n'; 506 514 try: … … 698 706 def _writeOutput(self, sText): 699 707 """ Does the actual writing and flushing. """ 700 print >> self.oOutput, sText.encode('ascii', 'replace');708 print(sText.encode('ascii', 'replace'), file = self.oOutput); 701 709 if self.fFlushEachLine: self.oOutput.flush(); 702 710 return None; … … 1727 1735 g_oReporter = RemoteReporter(); # Correct, but still plain stupid. pylint: disable=redefined-variable-type 1728 1736 else: 1729 print >> sys.stderr, os.path.basename(__file__) + ": Unknown TESTBOX_REPORTER value: '" + g_sReporterName + "'";1737 print(os.path.basename(__file__) + ": Unknown TESTBOX_REPORTER value: '" + g_sReporterName + "'", file = sys.stderr); 1730 1738 raise Exception("Unknown TESTBOX_REPORTER value '" + g_sReporterName + "'"); 1731 1739 -
trunk/src/VBox/ValidationKit/testdriver/tst-txsclient.py
r69111 r70517 5 5 Simple testcase for txsclient.py. 6 6 """ 7 8 from __future__ import print_function; 7 9 8 10 __copyright__ = \ … … 91 93 i = i + 1; 92 94 elif asArgs[i] == '--help': 93 print 'tst-txsclient.py [--hostname <addr|name>] [--port <num>] [--timeout <cMS>] [--reboot] [--reversed-setup]'95 print('tst-txsclient.py [--hostname <addr|name>] [--port <num>] [--timeout <cMS>] [--reboot] [--reversed-setup]'); 94 96 return 0; 95 97 else: 96 print 'Unknown argument: %s' % (asArgs[i]);98 print('Unknown argument: %s' % (asArgs[i])); 97 99 return 2; 98 100 … … 102 104 oSession = txsclient.openTcpSession(cMsTimeout, sAddress, uPort = uPort, fReversedSetup = fReversedSetup); 103 105 if oSession is None: 104 print 'openTcpSession failed';106 print('openTcpSession failed'); 105 107 return 1; 106 108 107 109 fDone = oSession.waitForTask(30*1000); 108 print 'connect: waitForTask -> %s, result %s' % (fDone, oSession.getResult());110 print('connect: waitForTask -> %s, result %s' % (fDone, oSession.getResult())); 109 111 if fDone is True and oSession.isSuccess(): 110 112 if fStdTests: … … 112 114 sUuid = oSession.syncUuid(); 113 115 if sUuid is not False: 114 print '%s: UUID = %s' % (boolRes(True), sUuid);116 print('%s: UUID = %s' % (boolRes(True), sUuid)); 115 117 else: 116 print '%s: UUID' % (boolRes(False),);118 print('%s: UUID' % (boolRes(False),)); 117 119 118 120 # Create and remove a directory on the scratch area. 119 121 rc = oSession.syncMkDir('${SCRATCH}/testdir1'); 120 print '%s: MKDIR(${SCRATCH}/testdir1) -> %s' % (boolRes(rc), rc);122 print('%s: MKDIR(${SCRATCH}/testdir1) -> %s' % (boolRes(rc), rc)); 121 123 122 124 rc = oSession.syncIsDir('${SCRATCH}/testdir1'); 123 print '%s: ISDIR(${SCRATCH}/testdir1) -> %s' % (boolRes(rc), rc);125 print('%s: ISDIR(${SCRATCH}/testdir1) -> %s' % (boolRes(rc), rc)); 124 126 125 127 rc = oSession.syncRmDir('${SCRATCH}/testdir1'); 126 print '%s: RMDIR(${SCRATCH}/testdir1) -> %s' % (boolRes(rc), rc);128 print('%s: RMDIR(${SCRATCH}/testdir1) -> %s' % (boolRes(rc), rc)); 127 129 128 130 # Create a two-level subdir. 129 131 rc = oSession.syncMkDirPath('${SCRATCH}/testdir2/subdir1'); 130 print '%s: MKDRPATH(${SCRATCH}/testdir2/subdir1) -> %s' % (boolRes(rc), rc);132 print('%s: MKDRPATH(${SCRATCH}/testdir2/subdir1) -> %s' % (boolRes(rc), rc)); 131 133 132 134 rc = oSession.syncIsDir('${SCRATCH}/testdir2'); 133 print '%s: ISDIR(${SCRATCH}/testdir2) -> %s' % (boolRes(rc), rc);135 print('%s: ISDIR(${SCRATCH}/testdir2) -> %s' % (boolRes(rc), rc)); 134 136 rc = oSession.syncIsDir('${SCRATCH}/testdir2/'); 135 print '%s: ISDIR(${SCRATCH}/testdir2/) -> %s' % (boolRes(rc), rc);137 print('%s: ISDIR(${SCRATCH}/testdir2/) -> %s' % (boolRes(rc), rc)); 136 138 rc = oSession.syncIsDir('${SCRATCH}/testdir2/subdir1'); 137 print '%s: ISDIR(${SCRATCH}/testdir2/subdir1) -> %s' % (boolRes(rc), rc);139 print('%s: ISDIR(${SCRATCH}/testdir2/subdir1) -> %s' % (boolRes(rc), rc)); 138 140 139 141 rc = oSession.syncRmTree('${SCRATCH}/testdir2'); 140 print '%s: RMTREE(${SCRATCH}/testdir2) -> %s' % (boolRes(rc), rc);142 print('%s: RMTREE(${SCRATCH}/testdir2) -> %s' % (boolRes(rc), rc)); 141 143 142 144 # Check out a simple file. 143 145 rc = oSession.syncUploadString('howdy', '${SCRATCH}/howdyfile'); 144 print '%s: PUT FILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc);146 print('%s: PUT FILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc)); 145 147 146 148 rc = oSession.syncUploadString('howdy-replaced', '${SCRATCH}/howdyfile'); 147 print '%s: PUT FILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc);149 print('%s: PUT FILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc)); 148 150 149 151 rc = oSession.syncDownloadString('${SCRATCH}/howdyfile'); 150 print '%s: GET FILE(${SCRATCH}/howdyfile) -> "%s" expected "howdy-replaced"' % (stringRes(rc, 'howdy-replaced'), rc);152 print('%s: GET FILE(${SCRATCH}/howdyfile) -> "%s" expected "howdy-replaced"' % (stringRes(rc, 'howdy-replaced'), rc)); 151 153 152 154 rc = oSession.syncIsFile('${SCRATCH}/howdyfile'); 153 print '%s: ISFILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc);155 print('%s: ISFILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc)); 154 156 rc = oSession.syncIsDir('${SCRATCH}/howdyfile'); 155 print '%s: ISDIR(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc, False), rc);157 print('%s: ISDIR(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc, False), rc)); 156 158 rc = oSession.syncIsSymlink('${SCRATCH}/howdyfile'); 157 print '%s: ISSYMLNK(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc, False), rc);159 print('%s: ISSYMLNK(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc, False), rc)); 158 160 159 161 rc = oSession.syncRmFile('${SCRATCH}/howdyfile'); 160 print '%s: RMFILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc);162 print('%s: RMFILE(${SCRATCH}/howdyfile) -> %s' % (boolRes(rc), rc)); 161 163 162 164 # Unicode filename (may or may not work, LANG/LC_TYPE dependent on some hosts). 163 165 rc = oSession.syncUploadString('howdy', u'${SCRATCH}/Schröder'); 164 print (u'%s: PUT FILE(${SCRATCH}/Schröder) -> %s' % (boolRes(rc), rc)).encode('ascii', 'replace');166 print((u'%s: PUT FILE(${SCRATCH}/Schröder) -> %s' % (boolRes(rc), rc)).encode('ascii', 'replace')); 165 167 166 168 rc = oSession.syncIsFile(u'${SCRATCH}/Schröder'); 167 print (u'%s: ISFILE(${SCRATCH}/Schröder) -> %s' % (boolRes(rc), rc)).encode('ascii', 'replace');169 print((u'%s: ISFILE(${SCRATCH}/Schröder) -> %s' % (boolRes(rc), rc)).encode('ascii', 'replace')); 168 170 169 171 rc = oSession.syncRmFile(u'${SCRATCH}/Schröder'); 170 print (u'%s: RMFILE(${SCRATCH}/Schröder) -> %s' % (boolRes(rc), rc)).encode('ascii', 'replace');172 print((u'%s: RMFILE(${SCRATCH}/Schröder) -> %s' % (boolRes(rc), rc)).encode('ascii', 'replace')); 171 173 172 174 # Finally, some file uploading and downloading with unicode filenames. … … 176 178 abRandFile = os.urandom(257897); 177 179 except: 178 print 'INFO: no urandom... falling back on a simple string.'180 print('INFO: no urandom... falling back on a simple string.'); 179 181 abRandFile = 'asdflkjasdlfkjasdlfkjq023942relwjgkna9epr865u2nm345;hndafgoukhasre5kb2453km'; 180 182 for i in range(1, 64): … … 202 204 oLocalFile.close(); 203 205 if abRandFile == abDwnFile: 204 print '%s: downloaded file matches the uploaded file' % (boolRes(True),);206 print('%s: downloaded file matches the uploaded file' % (boolRes(True),)); 205 207 else: 206 print '%s: downloaded file does not match the uploaded file' % (boolRes(False),);207 print 'abRandFile=%s' % (abRandFile,);208 print 'abDwnFile =%s' % (abRandFile,);208 print('%s: downloaded file does not match the uploaded file' % (boolRes(False),)); 209 print('abRandFile=%s' % (abRandFile,)); 210 print('abDwnFile =%s' % (abRandFile,)); 209 211 except: 210 print '%s: reading downloaded file (%s) failed....' % (boolRes(False), strDwnFile);212 print('%s: reading downloaded file (%s) failed....' % (boolRes(False), strDwnFile)); 211 213 212 214 rc = oSession.syncRmFile(u'${SCRATCH}/tst-txsclient-uploaded.bin'); 213 print '%s: RMFILE(${SCRATCH}/tst-txsclient-uploaded.bin) -> %s' % (boolRes(rc), rc);215 print('%s: RMFILE(${SCRATCH}/tst-txsclient-uploaded.bin) -> %s' % (boolRes(rc), rc)); 214 216 215 217 try: os.remove(strUpFile); … … 225 227 if rc is True: 226 228 rc = oSession.syncExecEx(sProg, (sProg, '--help')); 227 print '%s: EXEC(%s ${SCRATCH}) -> %s' % (boolRes(rc), sProg, rc);229 print('%s: EXEC(%s ${SCRATCH}) -> %s' % (boolRes(rc), sProg, rc)); 228 230 229 231 rc = oSession.syncExecEx(sProg, (sProg, 'there', 'is no such', 'parameter'), \ … … 234 236 235 237 rc = oSession.syncDownloadString('${SCRATCH}/stdout'); 236 print 'INFO: GET FILE(${SCRATCH}/stdout) -> "%s"' % (rc);238 print('INFO: GET FILE(${SCRATCH}/stdout) -> "%s"' % (rc)); 237 239 rc = oSession.syncDownloadString('${SCRATCH}/stderr'); 238 print 'INFO: GET FILE(${SCRATCH}/stderr) -> "%s"' % (rc);239 240 print 'TESTING: syncExec...'240 print('INFO: GET FILE(${SCRATCH}/stderr) -> "%s"' % (rc)); 241 242 print('TESTING: syncExec...'); 241 243 rc = oSession.syncExec(sProg, (sProg, '--version')); 242 print '%s: EXEC(%s --version) -> %s' % (boolRes(rc), sProg, rc);243 244 print 'TESTING: syncExec...'244 print('%s: EXEC(%s --version) -> %s' % (boolRes(rc), sProg, rc)); 245 246 print('TESTING: syncExec...'); 245 247 rc = oSession.syncExec(sProg, (sProg, '--help')); 246 print '%s: EXEC(%s --help) -> %s' % (boolRes(rc), sProg, rc);247 248 #print 249 #rc = oSession.syncExec('/usr/bin/sleep', ('/usr/bin/sleep', '30')) ;250 #print '%s: EXEC(/bin/sleep 30) -> %s' % (boolRes(rc), rc);248 print('%s: EXEC(%s --help) -> %s' % (boolRes(rc), sProg, rc)); 249 250 #print('TESTING: syncExec sleep 30...' 251 #rc = oSession.syncExec('/usr/bin/sleep', ('/usr/bin/sleep', '30'))); 252 #print('%s: EXEC(/bin/sleep 30) -> %s' % (boolRes(rc), rc)); 251 253 else: 252 print 'SKIP: Execution of %s skipped, does not exist on CD-ROM' % (sProg,);254 print('SKIP: Execution of %s skipped, does not exist on CD-ROM' % (sProg,)); 253 255 254 256 # Execute a non-existing file on CD-ROM. … … 261 263 else: 262 264 reporter.error('Unexpected value \"%s\" while executing non-existent file "%s"' % (rc, sProg)); 263 print '%s: EXEC(%s ${SCRATCH}) -> %s' % (boolRes(rc), sProg, rc);265 print('%s: EXEC(%s ${SCRATCH}) -> %s' % (boolRes(rc), sProg, rc)); 264 266 265 267 # Done 266 268 rc = oSession.syncDisconnect(); 267 print '%s: disconnect() -> %s' % (boolRes(rc), rc);269 print('%s: disconnect() -> %s' % (boolRes(rc), rc)); 268 270 269 271 elif fReboot: 270 print 'TESTING: syncReboot...'272 print('TESTING: syncReboot...'); 271 273 rc = oSession.syncReboot(); 272 print '%s: REBOOT() -> %s' % (boolRes(rc), rc);274 print('%s: REBOOT() -> %s' % (boolRes(rc), rc)); 273 275 274 276 if g_cFailures != 0: 275 print 'tst-txsclient.py: %u out of %u test failed' % (g_cFailures, g_cTests);277 print('tst-txsclient.py: %u out of %u test failed' % (g_cFailures, g_cTests)); 276 278 return 1; 277 print 'tst-txsclient.py: all %u tests passed!' % (g_cTests);279 print('tst-txsclient.py: all %u tests passed!' % (g_cTests)); 278 280 return 0; 279 281 -
trunk/src/VBox/ValidationKit/testdriver/vbox.py
r70508 r70517 433 433 434 434 # __init__ end; 435 436 def dump(self):437 """ Status dumper for debugging. """438 print >> sys.stderr, "testdriver.vbox.Build: sInstallPath= '%s'" % self.sInstallPath;439 print >> sys.stderr, "testdriver.vbox.Build: sSdkPath = '%s'" % self.sSdkPath;440 print >> sys.stderr, "testdriver.vbox.Build: sSrcRoot = '%s'" % self.sSrcRoot;441 print >> sys.stderr, "testdriver.vbox.Build: sKind = '%s'" % self.sKind;442 print >> sys.stderr, "testdriver.vbox.Build: sDesignation= '%s'" % self.sDesignation;443 print >> sys.stderr, "testdriver.vbox.Build: sType = '%s'" % self.sType;444 print >> sys.stderr, "testdriver.vbox.Build: sOs = '%s'" % self.sOs;445 print >> sys.stderr, "testdriver.vbox.Build: sArch = '%s'" % self.sArch;446 435 447 436 def isDevBuild(self): … … 834 823 os.environ['VBOX_LOG_DEST'] = 'nodeny dir=%s' % (self.sScratchPath); 835 824 836 def dump(self):837 """838 Dump object state, for debugging.839 """840 base.TestDriver.dump(self);841 print >> sys.stderr, "testdriver.vbox: fImportedVBoxApi = '%s'" % self.fImportedVBoxApi;842 print >> sys.stderr, "testdriver.vbox: fpApiVer = '%s'" % self.fpApiVer;843 print >> sys.stderr, "testdriver.vbox: oBuild = '%s'" % self.oBuild;844 print >> sys.stderr, "testdriver.vbox: oVBoxMgr = '%s'" % self.oVBoxMgr;845 print >> sys.stderr, "testdriver.vbox: oVBox = '%s'" % self.oVBox;846 print >> sys.stderr, "testdriver.vbox: aoRemoteSessions = '%s'" % self.aoRemoteSessions;847 print >> sys.stderr, "testdriver.vbox: aoVMs = '%s'" % self.aoVMs;848 print >> sys.stderr, "testdriver.vbox: sVBoxValidationKit = '%s'" % self.sVBoxValidationKit;849 print >> sys.stderr, "testdriver.vbox: sVBoxValidationKitIso = '%s'" % self.sVBoxValidationKitIso;850 print >> sys.stderr, "testdriver.vbox: sVBoxBootSectors = '%s'" % self.sVBoxBootSectors;851 if self.oBuild is not None:852 self.oBuild.dump();853 854 825 855 826 def _detectBuild(self, fQuiet = False): … … 992 963 and self.oBuild.sKind == 'development' \ 993 964 and os.getenv('VERSIONER_PYTHON_PREFER_32_BIT') != 'yes': 994 print "WARNING: 64-bit python on darwin, 32-bit VBox development build => crash"995 print "WARNING: bash-3.2$ /usr/bin/python2.5 ./testdriver"996 print "WARNING: or"997 print "WARNING: bash-3.2$ VERSIONER_PYTHON_PREFER_32_BIT=yes ./testdriver"965 reporter.log("WARNING: 64-bit python on darwin, 32-bit VBox development build => crash"); 966 reporter.log("WARNING: bash-3.2$ /usr/bin/python2.5 ./testdriver"); 967 reporter.log("WARNING: or"); 968 reporter.log("WARNING: bash-3.2$ VERSIONER_PYTHON_PREFER_32_BIT=yes ./testdriver"); 998 969 return False; 999 970 … … 1844 1815 if self.sHost in ('darwin', 'freebsd', 'linux', 'solaris', ): 1845 1816 try: 1846 print '> ls -la %s' % (os.path.join(self.sScratchPath, 'VBoxUserHome'),);1817 reporter.log('> ls -la %s' % (os.path.join(self.sScratchPath, 'VBoxUserHome'),)); 1847 1818 utils.processCall(['ls', '-la', os.path.join(self.sScratchPath, 'VBoxUserHome')]); 1848 print '> ls -la %s' % (self.sScratchPath,);1819 reporter.log('> ls -la %s' % (self.sScratchPath,)); 1849 1820 utils.processCall(['ls', '-la', self.sScratchPath]); 1850 1821 except: pass; … … 3186 3157 (self.adjustTimeoutMs(cMsTimeout), fIgnoreErrors)); 3187 3158 3188 def txsMkDir(self, oSession, oTxsSession, sRemoteDir, fMode = 0 700, cMsTimeout = 30000, fIgnoreErrors = False):3159 def txsMkDir(self, oSession, oTxsSession, sRemoteDir, fMode = 0o700, cMsTimeout = 30000, fIgnoreErrors = False): 3189 3160 return self.txsDoTask(oSession, oTxsSession, oTxsSession.asyncMkDir, 3190 3161 (sRemoteDir, fMode, self.adjustTimeoutMs(cMsTimeout), fIgnoreErrors)); 3191 3162 3192 def txsMkDirPath(self, oSession, oTxsSession, sRemoteDir, fMode = 0 700, cMsTimeout = 30000, fIgnoreErrors = False):3163 def txsMkDirPath(self, oSession, oTxsSession, sRemoteDir, fMode = 0o700, cMsTimeout = 30000, fIgnoreErrors = False): 3193 3164 return self.txsDoTask(oSession, oTxsSession, oTxsSession.asyncMkDirPath, 3194 3165 (sRemoteDir, fMode, self.adjustTimeoutMs(cMsTimeout), fIgnoreErrors));
Note:
See TracChangeset
for help on using the changeset viewer.