def test_interleaved(): listener = IndentedStringListener() task_progress.addNotificationListener(listener) task_progress.taskStarted('taskE', 15) task_progress.taskProgress('taskE', 5) task_progress.taskStarted('taskD', 15) task_progress.taskProgress('taskD', 5) task_progress.taskProgress('taskE', 5) task_progress.taskProgress('taskE', 5) task_progress.taskProgress('taskD', 5) task_progress.taskFinish('taskE') task_progress.taskProgress('taskD', 5) task_progress.taskFinish('taskD') assert listener.getBuffer() == '''\ Started taskE .................................................. Progress taskE ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOO Started taskD .................................................. Progress taskD ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOO Progress taskE ,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress taskE OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress taskD ,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Finish taskE XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Progress taskD OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Finish taskD XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' task_progress.removeNotificationListener(listener)
def ntpQueryFinish(): global _openSocket task_progress.taskProgress('ntp') try: rawData = _openSocket.recv(1024) except (socket.error, socket.gaierror), ex: log.info('Socket error receiving from NTP server ' + str(ex)) task_progress.taskFinish('ntp') raise NTPError('Socket error ' + str(ex))
def longRunningFunction(multiplier, name, times=1): duration = SIMULATION_SLOWNESS*multiplier import task_progress task_progress.taskStarted(name) for i in range(times): task_progress.taskProgress(name) #print 'stalling on', name, 'for', duration oldSleep(duration) task_progress.taskFinish(name)
def longRunningFunction(multiplier, name, times=1): duration = SIMULATION_SLOWNESS * multiplier import task_progress task_progress.taskStarted(name) for i in range(times): task_progress.taskProgress(name) #print 'stalling on', name, 'for', duration oldSleep(duration) task_progress.taskFinish(name)
def test_simple_amounts(): listener = IndentedStringListener() task_progress.addNotificationListener(listener) task_progress.taskStarted('taskC', 15) task_progress.taskProgress('taskC', 5) task_progress.taskProgress('taskC', 5) task_progress.taskProgress('taskC', 5) task_progress.taskFinish('taskC') assert listener.getBuffer() == '''\ Started taskC .................................................. Progress taskC ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOO Progress taskC ,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress taskC OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Finish taskC XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' task_progress.removeNotificationListener(listener)
def test_simple_noamounts(): listener = IndentedStringListener() task_progress.addNotificationListener(listener) task_progress.taskStarted('taskA') task_progress.taskProgress('taskA') task_progress.taskProgress('taskA') task_progress.taskProgress('taskA') task_progress.taskFinish('taskA') assert listener.getBuffer() == '''\ Started taskA .................................................. Progress taskA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress taskA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress taskA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Finish taskA XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' task_progress.removeNotificationListener(listener)
def test_overshoot(): listener = IndentedStringListener() task_progress.addNotificationListener(listener) task_progress.taskStarted('taskOvershoot', 8) task_progress.taskProgress('taskOvershoot', 5) task_progress.taskProgress('taskOvershoot', 5) task_progress.taskProgress('taskOvershoot', 5) task_progress.taskFinish('taskOvershoot') assert listener.getBuffer() == '''\ Started taskOvershoot .................................................. Progress taskOvershoot ,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress taskOvershoot OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress taskOvershoot OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Finish taskOvershoot XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' task_progress.removeNotificationListener(listener)
def cosConnect(pNic=None, vSwitch=None, portGroupName=None, vlanID=None, vNic=None, ipConf=None): '''Attempt to bring up (connect) a COS network interface. Should be able to robustly deal with any or all of the arguments left as None. ''' task_progress.taskStarted('network') import host_config # in the function namespace to avoid circular imports if not host_config.config.hostname: host_config.config.hostname = 'localhost' if not pNic: pNic = getPluggedInAvailableNIC() task_progress.taskProgress('network') if not portGroupName: portGroupName = makeDownloadPortgroupName() if not vSwitch: vSwitch = VirtualSwitchFacade(portGroupName=portGroupName, vlanID=vlanID) vSwitch.uplink = pNic if not ipConf: ipConf = DHCPIPConfig() task_progress.taskProgress('network') if not vNic: vNic = VirtualNicFacade(ipConfig=ipConf, portGroupName=portGroupName) try: try: # We can't reliably check vNic.enabled, so just disable the # re-enable. vNic.disable() vNic.enable() except vmkctl.HostCtlException, ex: log.error('HostCtlException during cosConnect(): '+ ex.GetMessage()) log.debug('If you are testing the installer inside a VM, make' 'sure promiscuous mode is available') raise WrappedVmkctlException(ex) finally: task_progress.taskFinish('network') return vNic
def test_simple_nototal(): listener = IndentedStringListener() task_progress.addNotificationListener(listener) task_progress.taskStarted('taskB') task_progress.taskProgress('taskB', 5) task_progress.taskProgress('taskB', 25) task_progress.taskProgress('taskB', 5) task_progress.taskFinish('taskB') assert listener.getBuffer() == '''\ Started taskB .................................................. Progress taskB ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress taskB ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress taskB ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Finish taskB XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' task_progress.removeNotificationListener(listener)
def test_subtasks(): listener = IndentedStringListener() task_progress.addNotificationListener(listener) task_progress.taskStarted('super', 10) task_progress.subtaskStarted('sub1', 'super', 10) task_progress.taskProgress('sub1', 5) task_progress.taskProgress('sub1', 5) task_progress.taskFinish('sub1') task_progress.subtaskStarted('sub2', 'super', 10, 5) task_progress.taskProgress('sub2', 5) task_progress.taskProgress('sub2', 5) task_progress.taskFinish('sub2') task_progress.taskFinish('super') assert listener.getBuffer() == '''\ Started super .................................................. Started sub1 .................................................. Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress sub1 ,,,,,,,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOO Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress sub1 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Finish sub1 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Started sub2 .................................................. Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress sub2 ,,,,,,,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOO Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Progress sub2 OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, Finish sub2 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Progress super ,,,,,,,,,,,,,,,,,,,,,,,,,OOOOOOOOOOOOOOOOOOOOOOOOO Finish super XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ''' task_progress.removeNotificationListener(listener)
def calc_md5(f, zpos, zlen, isosize): from md5 import md5 f.seek(0, SEEK_END) fileSize = f.tell() task_progress.taskStarted('brandiso.calc_md5', fileSize) m = md5() f.seek(0, SEEK_SET) pos = 0 while pos < isosize: # Read up to the start of the zero-d out spot, skip that and then read # through the rest of the file. if pos < zpos: blockSize = min(zpos - pos, READ_BLOCK_SIZE) elif pos == zpos: task_progress.taskProgress('brandiso.calc_md5', zlen) pos = zpos + zlen f.seek(pos, SEEK_SET) m.update('\0' * zlen) # Still need to update the digest with zeroes. continue else: blockSize = min(isosize - pos, READ_BLOCK_SIZE) block = f.read(blockSize) if not block: break task_progress.taskProgress('brandiso.calc_md5', len(block)) m.update(block) pos += len(block) digest = m.digest() assert len(digest) == CHECKSUM_SIZE task_progress.taskFinish('brandiso.calc_md5') return digest
return iready != [] def ntpQueryFinish(): global _openSocket task_progress.taskProgress('ntp') try: rawData = _openSocket.recv(1024) except (socket.error, socket.gaierror), ex: log.info('Socket error receiving from NTP server ' + str(ex)) task_progress.taskFinish('ntp') raise NTPError('Socket error ' + str(ex)) carefullyCloseSocket() if not rawData: log.warn('NTP server did not respond with any data') task_progress.taskFinish('ntp') raise NTPError('No data received') task_progress.taskFinish('ntp') twelveBigEndianUnsignedInts = '!12I' try: dataTuple = struct.unpack(twelveBigEndianUnsignedInts, rawData) except struct.error, ex: raise NTPError('Error unpacking NTP server response (%s)' % str(ex)) if dataTuple == 0: raise NTPError('NTP server response was 0') serverTime = dataTuple[8] epochOffset = 2208988800L timeTuple = time.localtime(serverTime - epochOffset)