def wrapper(*args, **kwagrs): try: return func(*args, **kwagrs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback if args and 'snapshot' in args[0].__dict__: name = 'error_%s' % args[0].snapshot description = "Failed in method '%s'." % args[0].snapshot else: name = 'error_%s' % func.__name__ description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) try: admin_remote = args[0].env.get_admin_remote() pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}". format(traceback.format_exc())) finally: logger.debug(args) args[0].env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) raise test_exception, None, exc_trace
def store_error_details(name, env): description = "Failed in method {:s}.".format(name) if env is not None: try: create_diagnostic_snapshot(env, "fail", name) except: logger.error("Fetching of diagnostic snapshot failed: {0}".format( traceback.format_exception_only(sys.exc_info()[0], sys.exc_info()[1]))) logger.debug("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) try: with env.d_env.get_admin_remote()\ as admin_remote: pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}".format( traceback.format_exception_only(sys.exc_info()[0], sys.exc_info()[1]))) logger.debug("Fetching of raw logs failed: {0}". format(traceback.format_exc())) finally: try: env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) except: logger.error( "Error making the environment snapshot: {0}".format( traceback.format_exception_only(sys.exc_info()[0], sys.exc_info()[1]))) logger.debug("Error making the environment snapshot:" " {0}".format(traceback.format_exc()))
def wrapper(*args, **kwagrs): try: return func(*args, **kwagrs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error( "Fetching of diagnostic snapshot failed: {0}".format( traceback.format_exc())) try: admin_remote = args[0].env.get_admin_remote() pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}".format( traceback.format_exc())) finally: logger.debug(args) args[0].env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) raise test_exception, None, exc_trace
def wrapper(*args, **kwargs): try: result = func(*args, **kwargs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) try: with args[0].env.d_env.get_admin_remote()\ as admin_remote: pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}". format(traceback.format_exc())) finally: logger.debug(args) try: args[0].env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) except: logger.error("Error making the environment snapshot:" " {0}".format(traceback.format_exc())) raise test_exception, None, exc_trace return result
def wrapper(*args, **kwargs): logger.info("\n" + "<" * 5 + "#" * 30 + "[ {} ]".format(func.__name__) + "#" * 30 + ">" * 5 + "\n{}".format(''.join(func.__doc__))) try: result = func(*args, **kwargs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error( "Fetching of diagnostic snapshot failed: {0}".format( traceback.format_exc())) try: with args[0].env.d_env.get_admin_remote()\ as admin_remote: pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}".format( traceback.format_exc())) finally: logger.debug(args) try: args[0].env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) except: logger.error("Error making the environment snapshot:" " {0}".format(traceback.format_exc())) logger.error(traceback.format_exc()) logger.info("<" * 5 + "*" * 100 + ">" * 5) raise test_exception, None, exc_trace else: if settings.ALWAYS_CREATE_DIAGNOSTIC_SNAPSHOT: if args[0].env is None: logger.warning("Can't get diagnostic snapshot: " "unexpected class is decorated.") return result try: args[0].env.resume_environment() create_diagnostic_snapshot(args[0].env, "pass", func.__name__) except: logger.error( "Fetching of diagnostic snapshot failed: {0}".format( traceback.format_exc())) return result
def wrapper(*args, **kwargs): logger.info("\n" + "<" * 5 + "#" * 30 + "[ {} ]" .format(func.__name__) + "#" * 30 + ">" * 5 + "\n{}" .format(''.join(func.__doc__))) try: result = func(*args, **kwargs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) try: with args[0].env.d_env.get_admin_remote()\ as admin_remote: pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}". format(traceback.format_exc())) finally: logger.debug(args) try: args[0].env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) except: logger.error("Error making the environment snapshot:" " {0}".format(traceback.format_exc())) logger.error(traceback.format_exc()) logger.info("<" * 5 + "*" * 100 + ">" * 5) raise test_exception, None, exc_trace else: if settings.ALWAYS_CREATE_DIAGNOSTIC_SNAPSHOT: if args[0].env is None: logger.warning("Can't get diagnostic snapshot: " "unexpected class is decorated.") return result try: args[0].env.resume_environment() create_diagnostic_snapshot(args[0].env, "pass", func.__name__) except: logger.error("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) return result
def wrapper(*args, **kwargs): try: result = func(*args, **kwargs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ case_name = getattr(func, '_base_class', None) step_num = getattr(func, '_step_num', None) config_name = getattr(func, '_config_case_group', None) description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) try: with args[0].env.d_env.get_admin_remote()\ as admin_remote: pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}". format(traceback.format_exc())) finally: logger.debug(args) try: if all([case_name, step_num, config_name]): _hash = hashlib.sha256(config_name) _hash = _hash.hexdigest()[:8] snapshot_name = "{case}_{config}_{step}".format( case=case_name, config=_hash, step="Step{:03d}".format(step_num) ) else: snapshot_name = name[-50:] args[0].env.make_snapshot(snapshot_name=snapshot_name, description=description, is_make=True) except: logger.error("Error making the environment snapshot:" " {0}".format(traceback.format_exc())) raise test_exception, None, exc_trace return result
def wrapper(*args, **kwargs): try: result = func(*args, **kwargs) except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ case_name = getattr(func, '_base_class', None) step_num = getattr(func, '_step_num', None) config_name = getattr(func, '_config_case_group', None) description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error( "Fetching of diagnostic snapshot failed: {0}".format( traceback.format_exc())) try: with args[0].env.d_env.get_admin_remote()\ as admin_remote: pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}".format( traceback.format_exc())) finally: logger.debug(args) try: if all([case_name, step_num, config_name]): _hash = hashlib.sha256(config_name) _hash = _hash.hexdigest()[:8] snapshot_name = "{case}_{config}_{step}".format( case=case_name, config=_hash, step="Step{:03d}".format(step_num)) else: snapshot_name = name[-50:] args[0].env.make_snapshot(snapshot_name=snapshot_name, description=description, is_make=True) except: logger.error("Error making the environment snapshot:" " {0}".format(traceback.format_exc())) raise test_exception, None, exc_trace return result
def wrapper(*args, **kwagrs): logger.info("\n" + "<" * 5 + "#" * 30 + "[ {} ]" .format(func.__name__) + "#" * 30 + ">" * 5 + "\n{}" .format(func.__doc__)) try: result = func(*args, **kwagrs) if settings.STORE_ASTUTE_YAML: store_astute_yaml(args[0].env, func.__name__) return result except SkipTest: raise SkipTest() except Exception as test_exception: exc_trace = sys.exc_traceback name = 'error_%s' % func.__name__ description = "Failed in method '%s'." % func.__name__ if args[0].env is not None: try: create_diagnostic_snapshot(args[0].env, "fail", name) except: logger.error("Fetching of diagnostic snapshot failed: {0}". format(traceback.format_exc())) try: admin_remote = args[0].env.get_admin_remote() pull_out_logs_via_ssh(admin_remote, name) except: logger.error("Fetching of raw logs failed: {0}". format(traceback.format_exc())) finally: logger.debug(args) try: args[0].env.make_snapshot(snapshot_name=name[-50:], description=description, is_make=True) except: logger.error("Error making the environment snapshot:" " {0}".format(traceback.format_exc())) raise test_exception, None, exc_trace