From 1118c8ce01800cb689d51f655f5ccef19516e283 Mon Sep 17 00:00:00 2001 From: Steven Silvester Date: Wed, 19 Oct 2022 09:05:21 -0500 Subject: [PATCH] Merge pull request from GHSA-m678-f26j-3hrp --- jupyter_core/application.py | 2 +- jupyter_core/tests/test_application.py | 38 ++++++++++++++++---------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/jupyter_core/application.py b/jupyter_core/application.py index cb46d12..76204e4 100644 --- a/jupyter_core/application.py +++ b/jupyter_core/application.py @@ -88,8 +88,8 @@ def _config_dir_default(self): def config_file_paths(self): path = jupyter_config_path() if self.config_dir not in path: + # Insert config dir as first item. path.insert(0, self.config_dir) - path.insert(0, os.getcwd()) return path data_dir = Unicode() diff --git a/jupyter_core/tests/test_application.py b/jupyter_core/tests/test_application.py index ed854c8..bdf8d0c 100644 --- a/jupyter_core/tests/test_application.py +++ b/jupyter_core/tests/test_application.py @@ -69,25 +69,33 @@ def test_generate_config(): def test_load_config(): config_dir = mkdtemp() - wd = mkdtemp() + os.environ["JUPYTER_CONFIG_PATH"] = str(config_dir) with open(pjoin(config_dir, "dummy_app_config.py"), "w", encoding="utf-8") as f: f.write("c.DummyApp.m = 1\n") f.write("c.DummyApp.n = 1") - with patch.object(os, "getcwd", lambda: wd): - app = DummyApp(config_dir=config_dir) - app.initialize([]) + + app = DummyApp(config_dir=config_dir) + app.initialize([]) assert app.n == 1, "Loaded config from config dir" + assert app.m == 1, "Loaded config from config dir" + + shutil.rmtree(config_dir) + del os.environ["JUPYTER_CONFIG_PATH"] - with open(pjoin(wd, "dummy_app_config.py"), "w", encoding="utf-8") as f: - f.write("c.DummyApp.n = 2") +def test_load_config_no_cwd(): + config_dir = mkdtemp() + wd = mkdtemp() + with open(pjoin(wd, "dummy_app_config.py"), "w", encoding="utf-8") as f: + f.write("c.DummyApp.m = 1\n") + f.write("c.DummyApp.n = 1") with patch.object(os, "getcwd", lambda: wd): app = DummyApp(config_dir=config_dir) app.initialize([]) - assert app.m == 1, "Loaded config from config dir" - assert app.n == 2, "Loaded config from CWD" + assert app.n == 0 + assert app.m == 0 shutil.rmtree(config_dir) shutil.rmtree(wd) @@ -95,17 +103,17 @@ def test_load_config(): def test_load_bad_config(): config_dir = mkdtemp() - wd = mkdtemp() + os.environ["JUPYTER_CONFIG_PATH"] = str(config_dir) with open(pjoin(config_dir, "dummy_app_config.py"), "w", encoding="utf-8") as f: f.write('c.DummyApp.m = "a\n') # Syntax error - with patch.object(os, "getcwd", lambda: wd): - with pytest.raises(SyntaxError): - app = DummyApp(config_dir=config_dir) - app.raise_config_file_errors = True - app.initialize([]) + + with pytest.raises(SyntaxError): + app = DummyApp(config_dir=config_dir) + app.raise_config_file_errors = True + app.initialize([]) shutil.rmtree(config_dir) - shutil.rmtree(wd) + del os.environ["JUPYTER_CONFIG_PATH"] def test_runtime_dir_changed():