def testUserSuppliedInit(self): if pmi.isController: class MockProxy(object): __metaclass__ = pmi.Proxy pmiproxydefs = dict(cls="MockProxyLocal") def __init__(self, arg): self.arg = arg self.pmiinit(arg + 10) obj = MockProxy(42) pmiobj = obj.pmiobject self.assert_(hasattr(obj, "arg")) self.assertEqual(obj.arg, 42) self.assert_(isinstance(pmiobj, pmi.MockProxyLocal)) self.assertEqual(pmiobj.arg, 52) del (pmiobj) del (obj) pmi.sync() else: pmiobj = pmi.create() self.assert_(isinstance(pmiobj, pmi.MockProxyLocal)) self.assertEqual(pmiobj.arg, 52) del (pmiobj) pmi.sync()
def testLocalCall(self): if pmi.isController: self.assertEqual(self.obj.f(), 42) pmi.sync() self.assertEqual(self.pmiobj.called, "f") else: self.assertFalse(hasattr(self.pmiobj, "called")) pmi.sync()
def testCreateByString(self): obj = pmi.create("MockClass2") self.assertEqual(obj.__class__.__name__, "MockClass2") # delete object del (obj) pmi.sync() # Test that MockClass2 has not been pulled into the scripts namespace self.assertFalse("MockClass2" in globals())
def testCreateandDelete(self): self.assert_(not pmi.MockProxyLocal.delCalled) if pmi.isController: obj = MockProxy() self.assert_(hasattr(obj, "pmiobject")) self.assert_(isinstance(obj.pmiobject, pmi.MockProxyLocal)) self.assert_(hasattr(obj, "pmiinit")) del (obj) else: pmiobj = pmi.create() self.assert_(isinstance(pmiobj, pmi.MockProxyLocal)) del (pmiobj) pmi.sync() self.assert_(pmi.MockProxyLocal.delCalled)
def testCreateByClass(self): if pmi.isController: obj = pmi.create(MockClass) else: # on the workers, don't use an argument to make sure # that it is not used obj = pmi.create() # test whether the class has been initialized correctly # (on all workers) self.assert_(isinstance(obj, MockClass)) # delete object del (obj) pmi.sync() self.assert_(MockClass.delCalled)
def testUserSuppliedFunction(self): if pmi.isController: class MockProxy(object): __metaclass__ = pmi.Proxy pmiproxydefs = dict(cls="MockProxyLocal") def f4(self): self.pmiobject.called = "f4" return 72 obj = MockProxy() pmiobj = obj.pmiobject self.assertEqual(obj.f4(), 72) pmi.sync() self.assertEqual(pmiobj.called, "f4") del (obj) pmi.sync() else: pmiobj = pmi.create() pmi.sync() self.assertFalse(hasattr(pmiobj, "called")) pmi.sync()
def tearDown(self): pmi.sync()
def tearDown(self): if pmi.isController: del (self.obj) pmi.sync()