From 9a5544e3c74f7980fd441e6b8e52dd981f55deda Mon Sep 17 00:00:00 2001 From: Nikita Kniazev Date: Tue, 23 Nov 2021 19:09:15 +0300 Subject: [PATCH 1/2] Remove Nose dependency --- ipykernel/tests/test_kernel.py | 9 +++++++-- ipykernel/tests/utils.py | 8 ++++---- setup.py | 1 - 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ipykernel/tests/test_kernel.py b/ipykernel/tests/test_kernel.py index 5b9b26682..ec2db9edf 100644 --- a/ipykernel/tests/test_kernel.py +++ b/ipykernel/tests/test_kernel.py @@ -14,7 +14,6 @@ import pytest from packaging import version -from IPython.testing import tools as tt import IPython from IPython.paths import locate_profile @@ -242,7 +241,13 @@ def test_smoke_faulthandler(): def test_help_output(): """ipython kernel --help-all works""" - tt.help_all_output_test('kernel') + from IPython.utils.process import get_output_error_code + cmd = [sys.executable, "-m", "IPython", "kernel", "--help-all"] + out, err, rc = get_output_error_code(cmd) + assert rc == 0, err + assert "Traceback" not in err + assert "Options" in out + assert "Class" in out def test_is_complete(): diff --git a/ipykernel/tests/utils.py b/ipykernel/tests/utils.py index 6319c2144..daeccf64d 100644 --- a/ipykernel/tests/utils.py +++ b/ipykernel/tests/utils.py @@ -13,8 +13,6 @@ from queue import Empty from subprocess import STDOUT -import nose - from jupyter_client import manager @@ -32,8 +30,9 @@ def start_new_kernel(**kwargs): """ kwargs['stderr'] = STDOUT try: + import nose kwargs['stdout'] = nose.iptest_stdstreams_fileno() - except AttributeError: + except (ImportError, AttributeError): pass return manager.start_new_kernel(startup_timeout=STARTUP_TIMEOUT, **kwargs) @@ -145,8 +144,9 @@ def new_kernel(argv=None): """ kwargs = {'stderr': STDOUT} try: + import nose kwargs['stdout'] = nose.iptest_stdstreams_fileno() - except AttributeError: + except (ImportError, AttributeError): pass if argv is not None: kwargs['extra_arguments'] = argv diff --git a/setup.py b/setup.py index db5830a96..fc2828660 100644 --- a/setup.py +++ b/setup.py @@ -76,7 +76,6 @@ def run(self): "pytest !=5.3.4", "pytest-cov", "flaky", - "nose", # nose because we are still using nose streams from ipython "ipyparallel", ], }, From 6a727a48678a908bd3ddfb5aaab3463fb70c43f6 Mon Sep 17 00:00:00 2001 From: Nikita Kniazev Date: Tue, 23 Nov 2021 19:53:14 +0300 Subject: [PATCH 2/2] Replace IPython.utils.process.get_output_error_code with subprocess.run --- ipykernel/tests/test_kernel.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ipykernel/tests/test_kernel.py b/ipykernel/tests/test_kernel.py index ec2db9edf..e6af1e2d2 100644 --- a/ipykernel/tests/test_kernel.py +++ b/ipykernel/tests/test_kernel.py @@ -6,6 +6,7 @@ import ast import io import os.path +import subprocess import sys import time from tempfile import TemporaryDirectory @@ -241,13 +242,12 @@ def test_smoke_faulthandler(): def test_help_output(): """ipython kernel --help-all works""" - from IPython.utils.process import get_output_error_code cmd = [sys.executable, "-m", "IPython", "kernel", "--help-all"] - out, err, rc = get_output_error_code(cmd) - assert rc == 0, err - assert "Traceback" not in err - assert "Options" in out - assert "Class" in out + proc = subprocess.run(cmd, timeout=30, capture_output=True) + assert proc.returncode == 0, proc.stderr + assert b"Traceback" not in proc.stderr + assert b"Options" in proc.stdout + assert b"Class" in proc.stdout def test_is_complete():