pytestCheckHook: improve disabledTestPaths whitespace handling

This commit is contained in:
Robert T. McGibbon 2021-02-19 09:58:39 -05:00 committed by Jonathan Ringer
parent 7dd53fe56e
commit 2e55b7301b
2 changed files with 11 additions and 1 deletions

View file

@ -2,7 +2,7 @@
echo "Sourcing pytest-check-hook"
declare -ar disabledTests
declare -ar disabledTestPaths
declare -a disabledTestPaths
function _concatSep {
local result
@ -37,6 +37,11 @@ function pytestCheckPhase() {
disabledTestsString=$(_pytestComputeDisabledTestsString "${disabledTests[@]}")
args+=" -k \""$disabledTestsString"\""
fi
if [ -n "${disabledTestPaths-}" ]; then
eval "disabledTestPaths=($disabledTestPaths)"
fi
for path in ${disabledTestPaths[@]}; do
if [ ! -e "$path" ]; then
echo "Disabled tests path \"$path\" does not exist. Aborting"

View file

@ -93,6 +93,8 @@
, doCheck ? config.doCheckByDefault or false
, disabledTestPaths ? []
, ... } @ attrs:
@ -108,6 +110,7 @@ let
self = toPythonModule (stdenv.mkDerivation ((builtins.removeAttrs attrs [
"disabled" "checkPhase" "checkInputs" "doCheck" "doInstallCheck" "dontWrapPythonPrograms" "catchConflicts" "format"
"disabledTestPaths"
]) // {
name = namePrefix + name_;
@ -178,6 +181,8 @@ let
# If given use the specified checkPhase, otherwise use the setup hook.
# Longer-term we should get rid of `checkPhase` and use `installCheckPhase`.
installCheckPhase = attrs.checkPhase;
} // lib.optionalAttrs (disabledTestPaths != []) {
disabledTestPaths = lib.escapeShellArgs disabledTestPaths;
}));
passthru.updateScript = let