From 557ea80409e2a569084e51536a2b6d6e3c46e259 Mon Sep 17 00:00:00 2001 From: Samuel Marks <807580+SamuelMarks@users.noreply.github.com> Date: Fri, 15 Mar 2024 15:16:34 -0400 Subject: [PATCH] [cdd/tests/test_utils_for_tests.py] Specialise for `is_jetbrains` --- cdd/shared/pkg_utils.py | 11 +++++++++-- cdd/tests/test_sqlalchemy/test_emit_sqlalchemy.py | 3 +-- cdd/tests/test_utils_for_tests.py | 13 ++++++++----- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/cdd/shared/pkg_utils.py b/cdd/shared/pkg_utils.py index 9188eff7..1a2ba24b 100644 --- a/cdd/shared/pkg_utils.py +++ b/cdd/shared/pkg_utils.py @@ -109,8 +109,15 @@ def relative_filename(filename, remove_hints=tuple()): """ _filename: str = filename.casefold() lib = get_python_lib(), get_python_lib(prefix="") - return next(map(lambda elem: filename[len(elem) + 1 :], - filter(lambda elem: _filename.startswith(elem.casefold()), remove_hints + lib)), filename) + return next( + map( + lambda elem: filename[len(elem) + 1 :], + filter( + lambda elem: _filename.startswith(elem.casefold()), remove_hints + lib + ), + ), + filename, + ) __all__ = ["relative_filename"] # type: list[str] diff --git a/cdd/tests/test_sqlalchemy/test_emit_sqlalchemy.py b/cdd/tests/test_sqlalchemy/test_emit_sqlalchemy.py index ba22ccc7..bd61641d 100644 --- a/cdd/tests/test_sqlalchemy/test_emit_sqlalchemy.py +++ b/cdd/tests/test_sqlalchemy/test_emit_sqlalchemy.py @@ -2,10 +2,9 @@ Tests for `cdd.emit.sqlalchemy` """ -import os from copy import deepcopy from platform import system -from unittest import TestCase, skipIf +from unittest import TestCase import cdd.argparse_function.emit import cdd.argparse_function.parse diff --git a/cdd/tests/test_utils_for_tests.py b/cdd/tests/test_utils_for_tests.py index ac825113..e7d49534 100644 --- a/cdd/tests/test_utils_for_tests.py +++ b/cdd/tests/test_utils_for_tests.py @@ -2,13 +2,13 @@ Tests for docstring parsing """ +import os.path +import sys from ast import Module from collections import namedtuple from io import StringIO -from os import environ -from sys import version_info from typing import Any -from unittest import TestCase, skipIf +from unittest import TestCase from unittest.mock import MagicMock, patch from cdd.shared.pure_utils import PY_GTE_3_8, PY_GTE_3_12 @@ -27,7 +27,7 @@ def test_unittest_main(self) -> None: """ self.assertEqual(type(unittest_main).__name__, "function") self.assertIsNone(unittest_main()) - argparse_mock = MagicMock() + argparse_mock: MagicMock = MagicMock() # cdd.tests.utils_for_tests.py with patch("cdd.tests.utils_for_tests.__name__", "__main__"), patch( "sys.stderr", new_callable=StringIO @@ -35,10 +35,13 @@ def test_unittest_main(self) -> None: import cdd.tests.utils_for_tests cdd.tests.utils_for_tests.unittest_main() + is_jetbrains: bool = os.path.basename( + sys.modules["__main__"].__file__ + ) == "_jb_unittest_runner{}py".format(os.path.extsep) ( # Python >=3.12 has: # if self.result.testsRun == 0: where `_NO_TESTS_EXITCODE` is `5` - self.assertEqual(e.exception.code, 5) + self.assertEqual(e.exception.code, 5 if is_jetbrains else 1) if PY_GTE_3_12 else self.assertIsInstance(e.exception.code, bool) )