|
|
#! /bin/sh |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$1" = "-perl" ]; then |
|
|
PERL="$2" |
|
|
ARGS="$1 $PERL" |
|
|
shift 2 |
|
|
else |
|
|
PERL=perl |
|
|
ARGS="" |
|
|
fi |
|
|
|
|
|
RC=0 |
|
|
|
|
|
if [ -z "$1" ] || [ "$1" = "1" ]; then |
|
|
echo "-----------------------------------------------------------------" |
|
|
echo "Perl test: main functionality (PCRE2 test 1)" |
|
|
if ./perltest.sh $ARGS testdata/testinput1 testtry; then |
|
|
tail -n +2 testtry > testtry2 |
|
|
diff -u testdata/testoutput1 testtry2 || RC=1 |
|
|
else |
|
|
RC=33 |
|
|
fi |
|
|
/bin/rm -f testtry testtry2 |
|
|
echo "" |
|
|
fi |
|
|
|
|
|
if [ -z "$1" ] || [ "$1" = "4" ]; then |
|
|
echo "-----------------------------------------------------------------" |
|
|
echo "Perl test: UTF-8 and Unicode property features (PCRE2 test 4)" |
|
|
if ./perltest.sh $ARGS -utf8 testdata/testinput4 testtry; then |
|
|
tail -n +2 testtry > testtry2 |
|
|
diff -u testdata/testoutput4 testtry2 || RC=4 |
|
|
else |
|
|
RC=36 |
|
|
fi |
|
|
/bin/rm -f testtry testtry2 |
|
|
echo "" |
|
|
fi |
|
|
|
|
|
P=$($PERL -MUnicode::UCD -e 'print Unicode::UCD::UnicodeVersion, "\n"') |
|
|
|
|
|
if [ -z "$1" ] || [ "$1" = "26" ]; then |
|
|
echo "-----------------------------------------------------------------" |
|
|
echo "Perl test: Unicode property tests (PCRE2 test 26)" |
|
|
U=$(head -5 testdata/testinput26 | $PERL -ne 'print "$1\n" if /tests for version ([\d.]+)$/') |
|
|
if [ "$U" != "$P" ]; then |
|
|
echo "SKIPPED: Perl uses Unicode $P but version $U was expected" |
|
|
else |
|
|
if ./perltest.sh $ARGS testdata/testinput26 testtry; then |
|
|
tail -n +2 testtry > testtry2 |
|
|
diff -u testdata/testoutput26 testtry2 || RC=26 |
|
|
else |
|
|
RC=58 |
|
|
fi |
|
|
/bin/rm -f testtry testtry2 |
|
|
echo "" |
|
|
fi |
|
|
fi |
|
|
|
|
|
if [ -z "$1" ] || [ "$1" = "27" ]; then |
|
|
echo "-----------------------------------------------------------------" |
|
|
echo "Perl test: Unicode property tests (PCRE2 test 27)" |
|
|
U=$(head -5 testdata/testinput27 | $PERL -ne 'print "$1\n" if /tests for version ([\d.]+)$/') |
|
|
if [ "$U" != "$P" ]; then |
|
|
echo "SKIPPED: Perl uses Unicode $P but version $U was expected" |
|
|
else |
|
|
if ./perltest.sh $ARGS testdata/testinput27 testtry; then |
|
|
tail -n +2 testtry > testtry2 |
|
|
diff -u testdata/testoutput27 testtry2 || RC=27 |
|
|
else |
|
|
RC=59 |
|
|
fi |
|
|
/bin/rm -f testtry testtry2 |
|
|
echo "" |
|
|
fi |
|
|
fi |
|
|
|
|
|
exit $RC |
|
|
|
|
|
|