def deco(func): deco_list = [ timeout_dec(timeout=timeout), unittest.skipIf( (not tools.check_environ_bool('YGG_ENABLE_EXAMPLE_TESTS')), "Example tests not enabled."), ] for i, k in enumerate(iter_over): v = x[i] flag = None msg = None if k == 'comm': flag = tools.is_comm_installed(v) elif k == 'language': flag = True for vv in get_example_languages(name, language=v): if not tools.is_lang_installed(vv): flag = False break if flag is not None: if msg is None: msg = "%s %s not installed." % (k.title(), v) deco_list.append(unittest.skipIf(not flag, msg)) for v in deco_list: func = v(func) return func
def test_YggInit_langauge(): r"""Test access to YggInit via languages that call the Python interface.""" for language in ['matlab', 'R']: print(language) if not is_lang_installed(language): continue do_send_recv(language=language)
def run_example(self): r"""This runs an example in the correct language.""" if self.yaml is None: if self.name is not None: raise unittest.SkipTest("Could not locate example %s in language %s." % (self.name, self.language)) else: # Copy platform specific makefile if self.language == 'make': makefile = os.path.join(self.yamldir, 'src', 'Makefile') if platform._is_win: # pragma: windows make_ext = '_windows' else: make_ext = '_linux' shutil.copy(makefile + make_ext, makefile) # Check that language is installed for x in self.languages_tested: if not tools.is_lang_installed(x): raise unittest.SkipTest("%s not installed." % x) # Run os.environ.update(self.env) self.runner = runner.get_runner(self.yaml, namespace=self.namespace) self.runner.run() if self.expects_error: assert(self.runner.error_flag) else: assert(not self.runner.error_flag) self.check_results() self.cleanup() # Remove copied makefile if self.language == 'make': makefile = os.path.join(self.yamldir, 'src', 'Makefile') if os.path.isfile(makefile): os.remove(makefile)
def test_update_config(): r"""Test update_config.""" test_cfg = os.path.join(tempfile.gettempdir(), 'test.cfg') assert (not os.path.isfile(test_cfg)) if not tools.is_lang_installed('matlab'): # pragma: no matlab assert_warns(RuntimeWarning, config.update_config, test_cfg) config.update_config(test_cfg) assert (os.path.isfile(test_cfg)) os.remove(test_cfg)
def run_example(self): r"""This runs an example in the correct language.""" assert (self.yaml is not None) assert (self.name is not None) # Check that language is installed for x in self.languages_tested: if not tools.is_lang_installed(x): raise unittest.SkipTest("%s not installed." % x) check_enabled_languages(x) # Copy platform specific makefile if self.language == 'make': makefile = os.path.join(self.yamldir, 'src', 'Makefile') if platform._is_win: # pragma: windows makedrv = import_component('model', 'make') assert (makedrv.get_tool('compiler').toolname == 'nmake') make_ext = '_windows' else: make_ext = '_linux' shutil.copy(makefile + make_ext, makefile) # Check that comm is installed if self.comm in ['ipc', 'IPCComm']: from yggdrasil.communication.IPCComm import (ipcrm_queues, ipc_queues) qlist = ipc_queues() if qlist: # pragma: debug print('Existing queues:', qlist) ipcrm_queues() # Run os.environ.update(self.env) self.runner = runner.get_runner(self.yaml, namespace=self.namespace, production_run=True) self.runner.run() if self.expects_error: assert (self.runner.error_flag) else: assert (not self.runner.error_flag) try: self.check_results() except BaseException: # pragma: debug self.runner.printStatus() raise finally: self.example_cleanup() # Remove copied makefile if self.language == 'make': makefile = os.path.join(self.yamldir, 'src', 'Makefile') if os.path.isfile(makefile): os.remove(makefile) self.runner = None
def run(self): r"""Run the integration.""" if not tools.check_environ_bool('YGG_ENABLE_DEMO_TESTS'): raise unittest.SkipTest("Demo tests not enabled.") for x in self.languages: check_enabled_languages(x) if not tools.is_lang_installed(x): raise unittest.SkipTest("%s not installed." % x) self.runner = runner.get_runner(self.yamls, namespace=self.name, production_run=True) self.runner.run() assert (not self.runner.error_flag) self.runner = None
def run_example(self): r"""This runs an example in the correct language.""" if self.yaml is None: if self.name is not None: raise unittest.SkipTest("Could not locate example %s in language %s." % (self.name, self.language)) else: # Copy platform specific makefile if self.language == 'make': makefile = os.path.join(self.yamldir, 'src', 'Makefile') if platform._is_win: # pragma: windows make_ext = '_windows' else: make_ext = '_linux' shutil.copy(makefile + make_ext, makefile) # Check that language is installed for x in self.languages_tested: if not tools.is_lang_installed(x): raise unittest.SkipTest("%s not installed." % x) # Check that comm is installed if self.comm in ['ipc', 'IPCComm']: from yggdrasil.communication.IPCComm import ( ipcrm_queues, ipc_queues) qlist = ipc_queues() if qlist: # pragma: debug print('Existing queues:', qlist) ipcrm_queues() # Run os.environ.update(self.env) self.runner = runner.get_runner(self.yaml, namespace=self.namespace) self.runner.run() if self.expects_error: assert(self.runner.error_flag) else: assert(not self.runner.error_flag) try: self.check_results() finally: self.cleanup() # Remove copied makefile if self.language == 'make': makefile = os.path.join(self.yamldir, 'src', 'Makefile') if os.path.isfile(makefile): os.remove(makefile)