def test_factory(self): logging.debug("") logging.debug("test_factory") testdir = "test_factory" if os.path.exists(testdir): shutil.rmtree(testdir) os.mkdir(testdir) os.chdir(testdir) factory = None try: # Create a factory. factory = ObjServerFactory() # Echo some arguments. args = factory.echo("Hello", "world!") self.assertEqual(args[0], "Hello") self.assertEqual(args[1], "world!") # List types. types = factory.get_available_types() names = [name for name, version in types] self.assertTrue("openmdao.test.execcomp.ExecComp" in names) # Create a component. exec_comp = factory.create("openmdao.test.execcomp.ExecComp") exec_comp.run() # Force failed factory server startup via invalid port. assert_raises( self, "start_server(port='xyzzy')", globals(), locals(), RuntimeError, "Server startup failed" ) # Try to release a server that doesn't exist (release takes an # OpenMDAO_Proxy as argument, string here is easier). assert_raises( self, "factory.release('xyzzy')", globals(), locals(), ValueError, "can't identify server at 'not-a-proxy'", ) finally: if factory is not None: factory.cleanup() SimulationRoot.chroot("..") if sys.platform == "win32": time.sleep(2) # Wait for process shutdown. keep_dirs = int(os.environ.get("OPENMDAO_KEEPDIRS", "0")) if not keep_dirs: shutil.rmtree(testdir)
def test_factory(self): logging.debug('') logging.debug('test_factory') testdir = 'test_factory' if os.path.exists(testdir): shutil.rmtree(testdir) os.mkdir(testdir) os.chdir(testdir) factory = None try: # Create a factory. factory = ObjServerFactory() # Echo some arguments. args = factory.echo('Hello', 'world!') self.assertEqual(args[0], 'Hello') self.assertEqual(args[1], 'world!') # List types. types = factory.get_available_types() names = [name for name, version in types] self.assertTrue('openmdao.test.execcomp.ExecComp' in names) # Create a component. exec_comp = factory.create('openmdao.test.execcomp.ExecComp') exec_comp.run() # Force failed factory server startup via invalid port. assert_raises(self, "start_server(port='xyzzy')", globals(), locals(), RuntimeError, 'Server startup failed') # Try to release a server that doesn't exist (release takes an # OpenMDAO_Proxy as argument, string here is easier). assert_raises(self, "factory.release('xyzzy')", globals(), locals(), ValueError, "can't identify server at 'not-a-proxy'") finally: if factory is not None: factory.cleanup() SimulationRoot.chroot('..') if sys.platform == 'win32': time.sleep(2) # Wait for process shutdown. keep_dirs = int(os.environ.get('OPENMDAO_KEEPDIRS', '0')) if not keep_dirs: shutil.rmtree(testdir)
def test_factory(self): logging.debug('') logging.debug('test_factory') testdir = 'test_factory' if os.path.exists(testdir): shutil.rmtree(testdir, onerror=onerror) os.mkdir(testdir) os.chdir(testdir) factory = None try: # Create a factory. factory = ObjServerFactory() # Echo some arguments. args = factory.echo('Hello', 'world!') self.assertEqual(args[0], 'Hello') self.assertEqual(args[1], 'world!') # List types. types = factory.get_available_types() names = [name for name, version in types] self.assertTrue('openmdao.test.execcomp.ExecComp' in names) # Create a component. exec_comp = factory.create('openmdao.test.execcomp.ExecComp') exec_comp.run() directory = 'Server_1' + os.sep if sys.platform == 'win32': directory = directory.lower() self.assertTrue(exec_comp.get_abs_directory().endswith(directory)) # Create another in specified directory. exec_comp = factory.create('openmdao.test.execcomp.ExecComp', res_desc={'working_directory': 'floyd'}) exec_comp.run() directory = 'floyd' + os.sep if sys.platform == 'win32': directory = directory.lower() self.assertTrue(exec_comp.get_abs_directory().endswith(directory)) # Start server, connect, stop. server, cfg = start_server() proxy = connect_to_server(cfg) shutil.copy(cfg, 'saved_cfg') stop_server(server, cfg) _PROXIES.clear() assert_raises(self, "connect_to_server('saved_cfg')", globals(), locals(), RuntimeError, "Can't connect to server at ") # Force failed factory server startup via invalid port. address = socket.gethostbyname(socket.gethostname()) code = "start_server(address=address, port='xyzzy'," \ " allow_shell=True, tunnel=True, resources='')" assert_raises(self, code, globals(), locals(), RuntimeError, 'Server startup failed') # Try to release a server that doesn't exist (release takes an # OpenMDAO_Proxy as argument, string here is easier). assert_raises(self, "factory.release('xyzzy')", globals(), locals(), ValueError, "can't identify server at 'not-a-proxy'") # get_ram() is used by RAM.add_remotes(). ram = factory.get_ram() self.assertTrue(ram is RAM._get_instance()) finally: if factory is not None: factory.cleanup() SimulationRoot.chroot('..') if sys.platform == 'win32': time.sleep(2) # Wait for process shutdown. keep_dirs = int(os.environ.get('OPENMDAO_KEEPDIRS', '0')) if not keep_dirs: shutil.rmtree(testdir, onerror=onerror)
def test_factory(self): logging.debug('') logging.debug('test_factory') testdir = 'test_factory' if os.path.exists(testdir): shutil.rmtree(testdir, onerror=onerror) os.mkdir(testdir) os.chdir(testdir) factory = None try: # Create a factory. factory = ObjServerFactory() # Echo some arguments. args = factory.echo('Hello', 'world!') self.assertEqual(args[0], 'Hello') self.assertEqual(args[1], 'world!') # List types. types = factory.get_available_types() names = [name for name, version in types] self.assertTrue('openmdao.test.execcomp.ExecComp' in names) # Create a component. exec_comp = factory.create('openmdao.test.execcomp.ExecComp') exec_comp.run() # Start server, connect, stop. server, cfg = start_server() proxy = connect_to_server(cfg) shutil.copy(cfg, 'saved_cfg') stop_server(server, cfg) _PROXIES.clear() assert_raises(self, "connect_to_server('saved_cfg')", globals(), locals(), RuntimeError, "Can't connect to server at ") # Force failed factory server startup via invalid port. address = socket.gethostbyname(socket.gethostname()) code = "start_server(address=address, port='xyzzy'," \ " allow_shell=True, tunnel=True, resources='')" assert_raises(self, code, globals(), locals(), RuntimeError, 'Server startup failed') # Try to release a server that doesn't exist (release takes an # OpenMDAO_Proxy as argument, string here is easier). assert_raises(self, "factory.release('xyzzy')", globals(), locals(), ValueError, "can't identify server at 'not-a-proxy'") # get_ram() is used by RAM.add_remotes(). ram = factory.get_ram() self.assertTrue(ram is RAM._get_instance()) finally: if factory is not None: factory.cleanup() SimulationRoot.chroot('..') if sys.platform == 'win32': time.sleep(2) # Wait for process shutdown. keep_dirs = int(os.environ.get('OPENMDAO_KEEPDIRS', '0')) if not keep_dirs: shutil.rmtree(testdir, onerror=onerror)