Check for calls to which.

Favour the builtin `command -v` instead.
This commit is contained in:
Jon Higgs 2018-02-22 15:51:48 +11:00
parent b7a8b090d2
commit e8fc09414a

View file

@ -91,6 +91,7 @@ commandChecks = [
,checkMvArguments, checkCpArguments, checkLnArguments ,checkMvArguments, checkCpArguments, checkLnArguments
,checkFindRedirections ,checkFindRedirections
,checkReadExpansions ,checkReadExpansions
,checkWhich
] ]
buildCommandMap :: [CommandCheck] -> Map.Map CommandName (Token -> Analysis) buildCommandMap :: [CommandCheck] -> Map.Map CommandName (Token -> Analysis)
@ -939,6 +940,9 @@ checkFindRedirections = CommandCheck (Basename "find") f
"Redirection applies to the find command itself. Rewrite to work per action (or move to end)." "Redirection applies to the find command itself. Rewrite to work per action (or move to end)."
_ -> return () _ -> return ()
prop_checkWhich = verify checkWhich "which '.+'"
checkWhich = CommandCheck (Basename "which") $
\t -> info (getId t) 2230 "which is non-standard. Use builtin 'command -v' instead."
return [] return []
runTests = $( [| $(forAllProperties) (quickCheckWithResult (stdArgs { maxSuccess = 1 }) ) |]) runTests = $( [| $(forAllProperties) (quickCheckWithResult (stdArgs { maxSuccess = 1 }) ) |])