def __init__( self, standalones, members, mongoses, ismaster_hosts=None, *args, **kwargs ): MockClientBase.__init__( self, standalones, members, mongoses, ismaster_hosts) kwargs['_pool_class'] = my_partial(MockPool, self) MongoReplicaSetClient.__init__(self, *args, **kwargs)
def _test_counter(self, use_greenlets): counter = thread_util.Counter(use_greenlets) self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) done = set() def f(n): for i in xrange(n): self.assertEqual(i, counter.get()) self.assertEqual(i + 1, counter.inc()) for i in xrange(n, 0, -1): self.assertEqual(i, counter.get()) self.assertEqual(i - 1, counter.dec()) self.assertEqual(0, counter.get()) # Extra decrements have no effect self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) done.add(n) if use_greenlets: greenlets = [ greenlet.greenlet(my_partial(f, i)) for i in xrange(10) ] looplet(greenlets) else: threads = [ threading.Thread(target=my_partial(f, i)) for i in xrange(10) ] for t in threads: t.start() for t in threads: t.join() self.assertEqual(10, len(done))
def _test_counter(self, use_greenlets): counter = thread_util.Counter(use_greenlets) self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) done = set() def f(n): for i in xrange(n): self.assertEqual(i, counter.get()) self.assertEqual(i + 1, counter.inc()) for i in xrange(n, 0, -1): self.assertEqual(i, counter.get()) self.assertEqual(i - 1, counter.dec()) self.assertEqual(0, counter.get()) # Extra decrements have no effect self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) self.assertEqual(0, counter.dec()) self.assertEqual(0, counter.get()) done.add(n) if use_greenlets: greenlets = [ greenlet.greenlet(my_partial(f, i)) for i in xrange(10)] looplet(greenlets) else: threads = [ threading.Thread(target=my_partial(f, i)) for i in xrange(10)] for t in threads: t.start() for t in threads: t.join() self.assertEqual(10, len(done))
def __init__(self, standalones, members, mongoses, ismaster_hosts=None, *args, **kwargs): MockClientBase.__init__(self, standalones, members, mongoses, ismaster_hosts) kwargs['_pool_class'] = my_partial(MockPool, self) MongoReplicaSetClient.__init__(self, *args, **kwargs)