Since the commit
4824ac3f5c4a ("Skip tests based on SKIP_REASON, not
return value"), blktests no longer checks return values of _have_foo
helpers. Instead, it checks if _have_foo helpers set SKIP_REASON, which
was renamed to SKIP_REASONS later, to judge test case skip. If two
_have_foo helpers are chained with ||, the skip check does not work as
expected since one of the helper may set SKIP_REASONS even when the
other does not set. Such chain with || is done in _nvme_requires() to
check rdma drivers.
To fix the check, do not chain the helper functions with || operator.
Instead, refer $use_rxe to call only the required function.
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
_have_driver nvmet-rdma
_have_configfs
_have_program rdma
- _have_driver rdma_rxe || _have_driver siw
+ if [ -n "$use_rxe" ]; then
+ _have_driver rdma_rxe
+ else
+ _have_driver siw
+ fi
;;
fc)
_have_driver nvme-fc