def test_badboxuse(self): """test that IO on a box name that doesn't exist will fail.""" component = LikeFile(DyingShunt()) component.activate() self.failUnlessRaises(KeyError, component.put, "boo", "nonsensesendbox") self.failUnlessRaises(KeyError, component.get, "nonsensesendbox") component.shutdown()
def test_closed(self): """test that creating, activating, and then closing a likefile wrapper will result in an object you're not allowed to perform IO on.""" component = LikeFile(DyingShunt()) component.activate() time.sleep(0.1) component.shutdown() time.sleep(0.1) self.failUnlessRaises(AttributeError, component.get) self.failUnlessRaises(AttributeError, component.put, "boo")
def testmany(self): compdict = dict() for i in xrange(1, 50): # test 100 concurrent likefiles. compdict[i] = LikeFile(DyingShunt(), extraInboxes = "extrain", extraOutboxes = "extraout") compdict[i].activate() time.sleep(0.1) for num, component in compdict.iteritems(): for i in randlist: # i is a random integer between 0 and 1, so the following manipulations guarantee that each box on each # component gets a different number, to eliminate crosstalk passing a test. component.put(num + i, "inbox") component.put(num + i % 0.5, "control") component.put(num + i % 0.25, "extrain") for num, component in compdict.iteritems(): for i in randlist: self.failUnless(component.get("outbox") == num + i) self.failUnless(component.get("signal") == num + i % 0.5) self.failUnless(component.get("extraout") == num + i % 0.25) for component in compdict.itervalues(): component.shutdown()
def testmany(self): compdict = dict() for i in xrange(1, 50): # test 100 concurrent likefiles. compdict[i] = LikeFile(DyingShunt(), extraInboxes="extrain", extraOutboxes="extraout") compdict[i].activate() time.sleep(0.1) for num, component in compdict.iteritems(): for i in randlist: # i is a random integer between 0 and 1, so the following manipulations guarantee that each box on each # component gets a different number, to eliminate crosstalk passing a test. component.put(num + i, "inbox") component.put(num + i % 0.5, "control") component.put(num + i % 0.25, "extrain") for num, component in compdict.iteritems(): for i in randlist: self.failUnless(component.get("outbox") == num + i) self.failUnless(component.get("signal") == num + i % 0.5) self.failUnless(component.get("extraout") == num + i % 0.25) for component in compdict.itervalues(): component.shutdown()