xonsh/tests/conftest.py

59 lines
1.9 KiB
Python
Raw Normal View History

import builtins
import pytest
2016-07-20 22:07:45 +02:00
from tools import DummyShell, sp
import xonsh.built_ins
2016-07-01 13:52:44 +03:00
from xonsh.built_ins import ensure_list_of_strs
from xonsh.execer import Execer
2016-07-20 22:07:45 +02:00
from xonsh.tools import XonshBlockError
import glob
@pytest.fixture
def xonsh_execer(monkeypatch):
2016-07-03 12:00:24 +03:00
"""Initiate the Execer with a mocked nop `load_builtins`"""
monkeypatch.setattr(xonsh.built_ins, 'load_builtins', lambda *args, **kwargs: None)
execer = Execer(login=False, unload=False)
builtins.__xonsh_execer__ = execer
return execer
@pytest.yield_fixture
2016-06-25 21:07:25 +03:00
def xonsh_builtins():
2016-07-03 12:00:24 +03:00
"""Mock out most of the builtins xonsh attributes."""
2016-06-25 21:07:25 +03:00
builtins.__xonsh_env__ = {}
builtins.__xonsh_ctx__ = {}
builtins.__xonsh_shell__ = DummyShell()
builtins.__xonsh_help__ = lambda x: x
builtins.__xonsh_glob__ = glob.glob
builtins.__xonsh_exit__ = False
builtins.__xonsh_superhelp__ = lambda x: x
builtins.__xonsh_regexpath__ = lambda x: []
builtins.__xonsh_expand_path__ = lambda x: x
builtins.__xonsh_subproc_captured__ = sp
builtins.__xonsh_subproc_uncaptured__ = sp
builtins.__xonsh_ensure_list_of_strs__ = ensure_list_of_strs
builtins.XonshBlockError = XonshBlockError
builtins.__xonsh_subproc_captured_hiddenobject__ = sp
builtins.evalx = eval
builtins.execx = None
builtins.compilex = None
builtins.aliases = {}
2016-06-25 21:07:25 +03:00
yield builtins
del builtins.__xonsh_env__
del builtins.__xonsh_ctx__
del builtins.__xonsh_shell__
del builtins.__xonsh_help__
del builtins.__xonsh_glob__
del builtins.__xonsh_exit__
del builtins.__xonsh_superhelp__
del builtins.__xonsh_regexpath__
del builtins.__xonsh_expand_path__
del builtins.__xonsh_subproc_captured__
del builtins.__xonsh_subproc_uncaptured__
del builtins.__xonsh_ensure_list_of_strs__
del builtins.XonshBlockError
del builtins.evalx
del builtins.execx
del builtins.compilex
del builtins.aliases