本文整理汇总了Python中ubuntuone.devtools.handlers.MementoHandler.check方法的典型用法代码示例。如果您正苦于以下问题:Python MementoHandler.check方法的具体用法?Python MementoHandler.check怎么用?Python MementoHandler.check使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ubuntuone.devtools.handlers.MementoHandler
的用法示例。
在下文中一共展示了MementoHandler.check方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: MainTests
# 需要导入模块: from ubuntuone.devtools.handlers import MementoHandler [as 别名]
# 或者: from ubuntuone.devtools.handlers.MementoHandler import check [as 别名]
class MainTests(BaseTwistedTestCase):
""" Basic tests to check main.Main """
@defer.inlineCallbacks
def setUp(self):
""" Sets up a test. """
yield super(MainTests, self).setUp()
self.root = self.mktemp('root')
self.shares = self.mktemp('shares')
self.data = self.mktemp('data')
self.partials_dir = self.mktemp('partials_dir')
self.patch(main_mod, 'SyncdaemonService', FakedExternalInterface)
# no status listener by default
self.patch(main_mod.status_listener, "get_listener", lambda *a: None)
self.handler = MementoHandler()
self.handler.setLevel(logging.DEBUG)
self._logger = logging.getLogger('ubuntuone.SyncDaemon')
self._logger.addHandler(self.handler)
self.addCleanup(self._logger.removeHandler, self.handler)
def _get_main_common_params(self):
"""Return the parameters used by the all platforms."""
return dict(root_dir=self.root,
shares_dir=self.shares,
data_dir=self.data,
partials_dir=self.partials_dir,
host='localhost', port=0,
dns_srv=False, ssl=False,
mark_interval=60,
handshake_timeout=2,
auth_credentials=FAKED_CREDENTIALS,
monitor_class=FakeMonitor)
def build_main(self, **kwargs):
"""Build and return a Main object.
Use reasonable defaults for the tests, plus whatever extra kwargs are
passed in.
"""
# get the params using the platform code to ensure they are correct
params = self._get_main_common_params()
params.update(kwargs)
m = main_mod.Main(**params)
self.addCleanup(m.shutdown)
m.local_rescan = lambda *_: m.event_q.push('SYS_LOCAL_RESCAN_DONE')
return m
def test_main_initialization(self):
"""test that creating a Main instance works as expected."""
main = self.build_main()
self.assertIsInstance(main, main_mod.Main)
def test_main_start(self):
"""Test that Main.start works."""
main = self.build_main()
main.start()
def test_main_restarts_on_critical_error(self):
"""Test that Main restarts when syncdaemon gets into UNKNOWN_ERROR."""
self.restarted = False
main = self.build_main()
main.restart = lambda: setattr(self, 'restarted', True)
main.start()
main.event_q.push('SYS_UNKNOWN_ERROR')
self.assertTrue(self.restarted)
@defer.inlineCallbacks
def test_shutdown_pushes_sys_quit(self):
"""When shutting down, the SYS_QUIT event is pushed."""
params = self._get_main_common_params()
main = main_mod.Main(**params)
events = []
self.patch(main.event_q, 'push',
lambda *a, **kw: events.append((a, kw)))
yield main.shutdown()
expected = [(('SYS_USER_DISCONNECT',), {}), (('SYS_QUIT',), {})]
self.assertEqual(expected, events)
def test_handshake_timeout(self):
"""Check connecting times out."""
d0 = defer.Deferred()
class Handler:
"""Trivial event handler."""
def handle_SYS_HANDSHAKE_TIMEOUT(self):
"""Pass the test when we get this event."""
reactor.callLater(0, d0.callback, None)
main = self.build_main(handshake_timeout=0)
def fake_connect(*a):
"""Only connect when States told so."""
main.event_q.push('SYS_CONNECTION_MADE')
return defer.Deferred()
main.action_q.connect = fake_connect
#.........这里部分代码省略.........
示例2: ReactorInspectorTestCase
# 需要导入模块: from ubuntuone.devtools.handlers import MementoHandler [as 别名]
# 或者: from ubuntuone.devtools.handlers.MementoHandler import check [as 别名]
class ReactorInspectorTestCase(TwistedTestCase):
"""Test the ReactorInspector class."""
def setUp(self):
"""Set up."""
class Helper(object):
"""Fake object with a controllable call."""
def __init__(self):
self.call_count = 1
self.calls = []
self.ri = None
def call(self, func):
"""Call function when counter is 0, then stop running."""
self.call_count -= 1
self.calls.append(func)
if self.call_count == 0:
for f in self.calls:
f()
if self.call_count <= 0:
self.ri.stop()
class FakeMetrics(object):
"""Fake Metrics object that records calls."""
def __init__(self):
"""Initialize calls."""
self.calls = []
def meter(self, name, count):
"""Record call to meter()."""
self.calls.append(("meter", name, count))
def gauge(self, name, val):
"""Record call to gauge()."""
self.calls.append(("gauge", name, val))
logger = logging.getLogger("storage.server")
logger.propagate = False
logger.setLevel(TRACE)
self.handler = MementoHandler()
self.handler.setLevel(TRACE)
logger.addHandler(self.handler)
self.addCleanup(logger.removeHandler, self.handler)
self.helper = Helper()
self.fake_metrics = FakeMetrics()
MetricsConnector.register_metrics("reactor_inspector",
instance=self.fake_metrics)
self.addCleanup(MetricsConnector.unregister_metrics)
self.ri = ReactorInspector(logger, self.helper.call, loop_time=.1)
self.helper.ri = self.ri
def run_ri(self, call_count=None, join=True):
"""Set the call count and then run the ReactorInspector."""
if call_count is not None:
self.helper.call_count = call_count
self.start_ts = time.time()
self.ri.start()
# Reactor will stop after call_count calls, thanks to helper
if join:
self.ri.join()
def test_stop(self):
"""It stops."""
self.run_ri(1000, join=False)
assert self.ri.is_alive()
self.ri.stop()
self.ri.join()
self.assertFalse(self.ri.is_alive())
@defer.inlineCallbacks
def test_dump_frames(self):
"""Test how frames are dumped.
Rules:
- own frame must not be logged
- must log all other threads
- main reactor thread must have special title
"""
# other thread, whose frame must be logged
waitingd = defer.Deferred()
def waiting_function():
"""Function with funny name to be checked later."""
reactor.callFromThread(waitingd.callback, True)
# wait have a default value
event.wait()
event = threading.Event()
threading.Thread(target=waiting_function).start()
# Make sure the thread has entered the waiting_function
yield waitingd
# Set reactor_thread since we're not starting the ReactorInspector
# thread here.
self.ri.reactor_thread = threading.currentThread().ident
# dump frames in other thread, also
def dumping_function():
"""Function with funny name to be checked later."""
time.sleep(.1)
#.........这里部分代码省略.........