/opt/imh-python/lib/python3.9/site-packages/IPython/core/tests
NameSizeModeActions
daft_extension/-0755rm
__pycache__/-0755rm
2x2.jpg3310644editdlrm
2x2.png710644editdlrm
bad_all.py2060644editdlrm
nonascii.py1350644editdlrm
nonascii2.py1550644editdlrm
print_argv.py320644editdlrm
refbug.py14940644editdlrm
simpleerr.py5830644editdlrm
tclass.py9210644editdlrm
test_alias.py20070644editdlrm
test_application.py22450644editdlrm
test_async_helpers.py86470644editdlrm
test_autocall.py14250644editdlrm
test_compilerop.py21740644editdlrm
test_completer.py608030644editdlrm
test_completerlib.py65070644editdlrm
test_debugger.py145010644editdlrm
test_display.py159460644editdlrm
test_displayhook.py35930644editdlrm
test_events.py22870644editdlrm
test_exceptiongroup_tb.py35990644editdlrm
test_extension.py30260644editdlrm
test_formatters.py142490644editdlrm
test_guarded_eval.py156550644editdlrm
test_handlers.py32860644editdlrm
test_history.py116980644editdlrm
test_hooks.py23160644editdlrm
test_imports.py11530644editdlrm
test_inputsplitter.py232130644editdlrm
test_inputtransformer.py157550644editdlrm
test_inputtransformer2.py114080644editdlrm
test_inputtransformer2_line.py29710644editdlrm
test_interactiveshell.py396600644editdlrm
test_iplib.py66770644editdlrm
test_logger.py7760644editdlrm
test_magic.py443590644editdlrm
test_magic_arguments.py47780644editdlrm
test_magic_terminal.py59960644editdlrm
test_oinspect.py156740644editdlrm
test_page.py7720644editdlrm
test_paths.py70810644editdlrm
test_prefilter.py42140644editdlrm
test_profile.py50640644editdlrm
test_prompts.py8450644editdlrm
test_pylabtools.py78800644editdlrm
test_run.py193690644editdlrm
test_shellapp.py18920644editdlrm
test_splitinput.py12270644editdlrm
test_ultratb.py120260644editdlrm
__init__.py00644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/IPython/core/tests/test_profile.py (5064B)
# coding: utf-8 """Tests for profile-related functions. Currently only the startup-dir functionality is tested, but more tests should be added for: * ipython profile create * ipython profile list * ipython profile create --parallel * security dir permissions Authors ------- * MinRK """ #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- import shutil import sys import tempfile from pathlib import Path from unittest import TestCase from tempfile import TemporaryDirectory from IPython.core.profileapp import list_bundled_profiles, list_profiles_in from IPython.core.profiledir import ProfileDir from IPython.testing import decorators as dec from IPython.testing import tools as tt from IPython.utils.process import getoutput #----------------------------------------------------------------------------- # Globals #----------------------------------------------------------------------------- TMP_TEST_DIR = Path(tempfile.mkdtemp()) HOME_TEST_DIR = TMP_TEST_DIR / "home_test_dir" IP_TEST_DIR = HOME_TEST_DIR / ".ipython" # # Setup/teardown functions/decorators # def setup_module(): """Setup test environment for the module: - Adds dummy home dir tree """ # Do not mask exceptions here. In particular, catching WindowsError is a # problem because that exception is only defined on Windows... (Path.cwd() / IP_TEST_DIR).mkdir(parents=True) def teardown_module(): """Teardown test environment for the module: - Remove dummy home dir tree """ # Note: we remove the parent test dir, which is the root of all test # subdirs we may have created. Use shutil instead of os.removedirs, so # that non-empty directories are all recursively removed. shutil.rmtree(TMP_TEST_DIR) #----------------------------------------------------------------------------- # Test functions #----------------------------------------------------------------------------- class ProfileStartupTest(TestCase): def setUp(self): # create profile dir self.pd = ProfileDir.create_profile_dir_by_name(IP_TEST_DIR, "test") self.options = ["--ipython-dir", IP_TEST_DIR, "--profile", "test"] self.fname = TMP_TEST_DIR / "test.py" def tearDown(self): # We must remove this profile right away so its presence doesn't # confuse other tests. shutil.rmtree(self.pd.location) def init(self, startup_file, startup, test): # write startup python file with open(Path(self.pd.startup_dir) / startup_file, "w", encoding="utf-8") as f: f.write(startup) # write simple test file, to check that the startup file was run with open(self.fname, "w", encoding="utf-8") as f: f.write(test) def validate(self, output): tt.ipexec_validate(self.fname, output, "", options=self.options) def test_startup_py(self): self.init('00-start.py', 'zzz=123\n', 'print(zzz)\n') self.validate('123') def test_startup_ipy(self): self.init('00-start.ipy', '%xmode plain\n', '') self.validate('Exception reporting mode: Plain') def test_list_profiles_in(): # No need to remove these directories and files, as they will get nuked in # the module-level teardown. td = Path(tempfile.mkdtemp(dir=TMP_TEST_DIR)) for name in ("profile_foo", "profile_hello", "not_a_profile"): Path(td / name).mkdir(parents=True) if dec.unicode_paths: Path(td / "profile_ünicode").mkdir(parents=True) with open(td / "profile_file", "w", encoding="utf-8") as f: f.write("I am not a profile directory") profiles = list_profiles_in(td) # unicode normalization can turn u'ünicode' into u'u\0308nicode', # so only check for *nicode, and that creating a ProfileDir from the # name remains valid found_unicode = False for p in list(profiles): if p.endswith('nicode'): pd = ProfileDir.find_profile_dir_by_name(td, p) profiles.remove(p) found_unicode = True break if dec.unicode_paths: assert found_unicode is True assert set(profiles) == {"foo", "hello"} def test_list_bundled_profiles(): # This variable will need to be updated when a new profile gets bundled bundled = sorted(list_bundled_profiles()) assert bundled == [] def test_profile_create_ipython_dir(): """ipython profile create respects --ipython-dir""" with TemporaryDirectory() as td: getoutput( [ sys.executable, "-m", "IPython", "profile", "create", "foo", "--ipython-dir=%s" % td, ] ) profile_dir = Path(td) / "profile_foo" assert Path(profile_dir).exists() ipython_config = profile_dir / "ipython_config.py" assert Path(ipython_config).exists()