def mock_script(script, exitcode=0, out="", err="", code=None, times=1): # cria um diretório temporário script_dir = tempfile.mkdtemp(suffix='networkapi_testes') log.debug('Preparando diretorio de execução de script: %s', script_dir) # cria o script if code is None: code = """ echo "%s" 1>&2 echo "%s" exit %d""" % (out, err, exitcode) old = script_utils.SCRIPTS_DIR # troca o diretório na aplicação script_utils.SCRIPTS_DIR = script_dir script_state = ScriptSavedState(old, script_dir, script, times) write_script( script_state.script_path, __build_script(code, script_state.script_path, script_state.script_dir)) write_script(script_state.functions_path, FUNCTIONS) return script_state
def __exit__(self, exc_type, exc_value, traceback): log.debug('restaurando diretório de scripts para %s', self.original_dir) times_called = self.times_called() # apaga o diretório e script criados # os.remove(self.script_path) # os.remove(self.functions_path) # if os.path.isfile(script_path_counter(self.script_path)): # os.remove(script_path_counter(self.script_path)) # os.rmdir(script_utils.SCRIPTS_DIR) script_utils.SCRIPTS_DIR = self.original_dir # valida se foi chamado o número desejado de vezes if self.ensure_running_times: assert times_called == self.ensure_running_times, u'Era necessário ao teste executar o script %d vezes, mas ele rodou %d' % ( self.ensure_running_times, times_called) # propaga a exception em caso de erro no bloco executado return False
def __exit__(self, exc_type, exc_value, traceback): log.debug( 'restaurando diretório de scripts para %s', self.original_dir) times_called = self.times_called() # apaga o diretório e script criados # os.remove(self.script_path) # os.remove(self.functions_path) # if os.path.isfile(script_path_counter(self.script_path)): # os.remove(script_path_counter(self.script_path)) # os.rmdir(script_utils.SCRIPTS_DIR) script_utils.SCRIPTS_DIR = self.original_dir # valida se foi chamado o número desejado de vezes if self.ensure_running_times: assert times_called == self.ensure_running_times, u'Era necessário ao teste executar o script %d vezes, mas ele rodou %d' % ( self.ensure_running_times, times_called) # propaga a exception em caso de erro no bloco executado return False
def mock_script(script, exitcode=0, out="", err="", code=None, times=1): # cria um diretório temporário script_dir = tempfile.mkdtemp(suffix='networkapi_testes') log.debug('Preparando diretorio de execução de script: %s', script_dir) # cria o script if code is None: code = """ echo "%s" 1>&2 echo "%s" exit %d""" % (out, err, exitcode) old = script_utils.SCRIPTS_DIR # troca o diretório na aplicação script_utils.SCRIPTS_DIR = script_dir script_state = ScriptSavedState(old, script_dir, script, times) write_script(script_state.script_path, __build_script( code, script_state.script_path, script_state.script_dir)) write_script(script_state.functions_path, FUNCTIONS) return script_state