From 80bcb074aeed9b508a02940c8036c4ea5a1b9c63 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 21 May 2022 18:38:26 -0700 Subject: [PATCH 2/2] tests: port to platforms lacking Perl * tests/init.cfg (require_perl_): New function. * tests/big-hole, tests/hash-collision-perf, tests/long-pattern-perf: * tests/many-regex-performance, tests/mb-non-UTF8-performance: Use it. --- tests/big-hole | 1 + tests/hash-collision-perf | 2 ++ tests/init.cfg | 7 +++++++ tests/long-pattern-perf | 1 + tests/many-regex-performance | 1 + tests/mb-non-UTF8-performance | 1 + 6 files changed, 13 insertions(+) diff --git a/tests/big-hole b/tests/big-hole index eac077f..2899a3b 100755 --- a/tests/big-hole +++ b/tests/big-hole @@ -4,6 +4,7 @@ . "${srcdir=.}/init.sh"; path_prepend_ ../src expensive_ +require_perl_ # Skip this test if there is no usable SEEK_HOLE support, # as is the case with linux-3.5.0 on ext4 and tmpfs file systems. diff --git a/tests/hash-collision-perf b/tests/hash-collision-perf index d701140..7b8d373 100755 --- a/tests/hash-collision-perf +++ b/tests/hash-collision-perf @@ -21,6 +21,8 @@ fail=0 +require_perl_ + : > empty || framework_failure_ # Construct a test case that consumes enough CPU time that we don't diff --git a/tests/init.cfg b/tests/init.cfg index 72cab20..515482c 100644 --- a/tests/init.cfg +++ b/tests/init.cfg @@ -138,6 +138,13 @@ require_JP_EUC_locale_() skip_ "$locale locale not found" } +# Skip the current test if we lack Perl. +require_perl_() +{ + test "$PERL" && $PERL -e 'use warnings' > /dev/null 2>&1 \ + || skip_ 'configure did not find a usable version of Perl' +} + expensive_() { if test "$RUN_EXPENSIVE_TESTS" != yes; then diff --git a/tests/long-pattern-perf b/tests/long-pattern-perf index 2d5e7c1..4557bbf 100755 --- a/tests/long-pattern-perf +++ b/tests/long-pattern-perf @@ -24,6 +24,7 @@ fail=0 # system load during the two test runs, so we'll mark it as # "expensive", making it less likely to be run by regular users. expensive_ +require_perl_ echo x > in || framework_failure_ # Note that we want 10x the byte count (not line count) in the larger file. diff --git a/tests/many-regex-performance b/tests/many-regex-performance index e16e032..4a5adac 100755 --- a/tests/many-regex-performance +++ b/tests/many-regex-performance @@ -26,6 +26,7 @@ fail=0 # system load during the two test runs, so we'll mark it as # "expensive", making it less likely to be run by regular users. expensive_ +require_perl_ # Make the quick/small input large enough so that even on high-end # systems this first invocation takes at least 10ms of user time. diff --git a/tests/mb-non-UTF8-performance b/tests/mb-non-UTF8-performance index a6208d8..f3b33af 100755 --- a/tests/mb-non-UTF8-performance +++ b/tests/mb-non-UTF8-performance @@ -26,6 +26,7 @@ fail=0 # system load during the two test runs, so we'll mark it as # "expensive", making it less likely to be run by regular users. expensive_ +require_perl_ # Make the input large enough so that even on high-end systems # the unibyte test takes at least 10ms of user time. -- 2.34.1