From f51e1c6766da03cbd3e7e47f65f6716245023551 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Sun, 9 Mar 2025 22:38:50 +0800 Subject: [PATCH] python3Packages.pytestCheckHook: Make disabledTests support sub-expressions Wrap each elements of disabledTests with parenthesis so that when __structuredAttrs = true, people could use sub-expressions an element. E.g. ```nix { disabledTests = [ "ClassFoo and test_foo" "test_bar" ]; } --- pkgs/development/interpreters/python/hooks/default.nix | 8 ++++++++ .../interpreters/python/hooks/pytest-check-hook.sh | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix index f0207b570b94..1d5eb5c2c720 100644 --- a/pkgs/development/interpreters/python/hooks/default.nix +++ b/pkgs/development/interpreters/python/hooks/default.nix @@ -170,6 +170,14 @@ in "test_print" ] ++ previousPythonAttrs.disabledTests or [ ]; }); + disabledTests-expression = objprint.overridePythonAttrs (previousPythonAttrs: { + __structuredAttrs = true; + pname = "test-pytestCheckHook-disabledTests-expression-${previousPythonAttrs.pname}"; + disabledTests = [ + "TestBasic and test_print" + "test_str" + ] ++ previousPythonAttrs.disabledTests or [ ]; + }); disabledTestPaths = objprint.overridePythonAttrs (previousPythonAttrs: { pname = "test-pytestCheckHook-disabledTestPaths-${previousPythonAttrs.pname}"; disabledTestPaths = [ diff --git a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh index afe2c0656798..61082a771c0f 100644 --- a/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh +++ b/pkgs/development/interpreters/python/hooks/pytest-check-hook.sh @@ -57,7 +57,8 @@ EOF done if [ -n "${disabledTests[*]-}" ]; then - disabledTestsString="not $(concatStringsSep " and not " disabledTests)" + # not (keyword1) and not (keyword2) + disabledTestsString="not ($(concatStringsSep ") and not (" disabledTests))" flagsArray+=(-k "$disabledTestsString") fi