At the moment all plugins fail the test out of various reasons.
Thus they are exempted from causing test failures.
But future (new) plugins will fail the test and thus indicate the
relevant steps to fix issues before a plugin is included.
Many plugins are still failing these tests.
These expected failures are listed in a file
(t/test-exception-wrapper.expected-failures)
A wrapper script is used for running the tests and comparing the result
with the expectation (based on the file being listed in the above file).
This allows to test all new plugins, while ignoring all known failures.
"command -v" should be the preferred way of determining the location (or
existence) of an executable.
Sadly "checkbashisms" interprets "command -v" as a possible bashism,
since "command -v" was introduced in IEEE 1003.1 2013.
But checkbashisms checks for compliance with IEEE 1003.1 2004 - here
"command -v" is listed only as a portability extension.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733511 for the
discussion about checkbashism and "command -v".
See https://unix.stackexchange.com/a/85250 for the discussion about
"command -v" being the most portable check for a program's location.
The workaround itself is bit ugly: 'checkbashisms' is monkey-patched
and fed into the perl interpreter. This makes it harder to re-run the
check command manually (due to complicated quoting).