本文整理汇总了Python中tester.Tester.testping方法的典型用法代码示例。如果您正苦于以下问题:Python Tester.testping方法的具体用法?Python Tester.testping怎么用?Python Tester.testping使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tester.Tester
的用法示例。
在下文中一共展示了Tester.testping方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _dotask
# 需要导入模块: from tester import Tester [as 别名]
# 或者: from tester.Tester import testping [as 别名]
#.........这里部分代码省略.........
# Gestione degli errori nel test
if error > 0 or base_error > 0:
test.seterrorcode(error + base_error)
# Analisi da contabit
self._test_gating(test, UP)
# Salvataggio del test nella misura
logger.debug('Upload result: %.3f' % test.value)
logger.debug('Upload error: %d, %d, %d' % (base_error, error, test.errorcode))
m.savetest(test)
i = i + 1
# Prequalifica della linea
if (test.value > 0):
bandwidth = int(round(test.bytes * 8 / test.value))
logger.debug('Banda ipotizzata in upload: %d' % bandwidth)
self._client.profile.upload = bandwidth
sleep(1)
# Cattura delle eccezioni durante la misura
except Exception as e:
if not datetime.fromtimestamp(timestampNtp()).hour == start.hour:
raise e
else:
logger.warning('Misura sospesa per eccezione %s' % e)
self._updatestatus(status.Status(status.ERROR, 'Misura sospesa per errore: %s Aspetto %d secondi prima di proseguire la misura.' % (e, TIME_LAG)))
sleep(TIME_LAG)
logger.info('Misura in ripresa dopo sospensione. Test upload %d di %d' % (i, task.upload))
self._updatestatus(status.Status(status.PLAY, 'Proseguo la misura. Misura in esecuzione'))
# Testa i ping
i = 1
while (i <= task.ping):
self._updatestatus(status.Status(status.PLAY, "Esecuzione Test %d su %d" % (i + task.download + task.upload, task.download + task.upload + task.ping)))
try:
# Profilazione del sistema
error = self._profile_system(sysmonitor.CHECK_MEDIUM);
# Esecuzione del test
logger.debug('Starting ping test [%d]' % i)
test = t.testping()
# Gestione degli errori nel test
if error > 0 or base_error > 0:
test.seterrorcode(error + base_error)
# Salvataggio del test nella misura
logger.debug('Ping result: %.3f' % test.value)
logger.debug('Ping error: %d, %d, %d' % (base_error, error, test.errorcode))
m.savetest(test)
i = i + 1
if ((i - 1) % task.nicmp == 0):
sleep(task.delay)
# Cattura delle eccezioni durante la misura
except Exception as e:
if not datetime.fromtimestamp(timestampNtp()).hour == start.hour:
raise e
else:
logger.warning('Misura sospesa per eccezione %s' % e)
self._updatestatus(status.Status(status.ERROR, 'Misura sospesa per errore: %s Aspetto 10 secondi prima di proseguire la misura.' % e))
sleep(10)
logger.info('Misura in ripresa dopo sospensione. Test ping %d di %d' % (i, task.ping))
self._updatestatus(status.Status(status.PLAY, 'Proseguo la misura. Misura in esecuzione'))
# Unset task timeout alarm
# signal.alarm(0)
# Spedisci il file al repository delle misure
sec = datetime.fromtimestamp(timestampNtp()).strftime('%S')
f = open('%s/measure_%s%s.xml' % (self._outbox, m.id, sec), 'w')
f.write(str(m))
# Aggiungi la data di fine in fondo al file
f.write('\n<!-- [finished] %s -->' % datetime.fromtimestamp(timestampNtp()).isoformat())
f.close()
if (not self._local):
upload = self._upload(f.name)
if upload:
self._updatestatus(status.Status(status.OK, 'Misura terminata con successo.'))
else:
self._updatestatus(status.Status(status.ERROR, 'Misura terminata ma un errore si è verificato durante il suo invio.'))
else:
self._updatestatus(status.Status(status.OK, 'Misura terminata.'))
logger.info('Fine task di misura.')
except RuntimeWarning:
self._updatestatus(status.Status(status.ERROR, 'Misura interrotta per timeout.'))
logger.warning('Timeout during task execution. Time elapsed > %1f seconds ' % self._tasktimeout)
except Exception as e:
logger.error('Task interrotto per eccezione durante l\'esecuzione di un test: %s' % e)
self._updatestatus(status.Status(status.ERROR, 'Misura interrotta. %s Attendo %d secondi' % (e, self._polling)))
bandwidth_sem.release() # Rilascia la risorsa condivisa: la banda