Tests: Improve feature testing for skipping.

Fixed a bug where test_compress_* would all fail if arm64 or armthumb
filters were enabled for compression but arm was disabled. Since the
grep tests only checked for "define HAVE_ENCODER_ARM", this would match
on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB.

Now the config.h feature test requires " 1" at the end to prevent the
prefix problem. have_feature() was also updated for this even though
there were known current bugs affecting it. This is just in case future
features have a similar prefix problem.
This commit is contained in:
Jia Tan 2023-07-14 21:30:25 +08:00
parent 80a6b9bcad
commit 2c189bb00a
2 changed files with 3 additions and 3 deletions

View File

@ -130,8 +130,8 @@ test_xz -4
test_filter() test_filter()
{ {
grep "define HAVE_ENCODER_$1" ../config.h > /dev/null || return grep "define HAVE_ENCODER_$1 1" ../config.h > /dev/null || return
grep "define HAVE_DECODER_$1" ../config.h > /dev/null || return grep "define HAVE_DECODER_$1 1" ../config.h > /dev/null || return
shift shift
test_xz "$@" --lzma2=dict=64KiB,nice=32,mode=fast test_xz "$@" --lzma2=dict=64KiB,nice=32,mode=fast
} }

View File

@ -35,7 +35,7 @@ fi
EXIT_STATUS=0 EXIT_STATUS=0
have_feature() have_feature()
{ {
grep "define HAVE_$1" ../config.h > /dev/null && return 0 grep "define HAVE_$1 1" ../config.h > /dev/null && return 0
printf '%s: Skipping because HAVE_%s is not enabled\n' "$2" "$1" printf '%s: Skipping because HAVE_%s is not enabled\n' "$2" "$1"
EXIT_STATUS=77 EXIT_STATUS=77
return 1 return 1