summaryrefslogtreecommitdiffstats
path: root/rubbos/app/httpd-2.0.64/srclib/pcre/RunTest.in
blob: 63c4b26b1595b0a0b13fe671f0fecb1c849b81b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#! /bin/sh

# This file is generated by configure from RunTest.in. Make any changes
# to that file.

# Run PCRE tests

cf=diff
testdata=@top_srcdir@/testdata

# Select which tests to run; if no selection, run all

do1=no
do2=no
do3=no
do4=no
do5=no
do6=no

while [ $# -gt 0 ] ; do
  case $1 in
    1) do1=yes;;
    2) do2=yes;;
    3) do3=yes;;
    4) do4=yes;;
    5) do5=yes;; 
    6) do6=yes;; 
    *) echo "Unknown test number $1"; exit 1;;
  esac
  shift
done

if [ "@UTF8@" = "" ] ; then
  if [ $do5 = yes ] ; then
    echo "Can't run test 5 because UFT8 support is not configured"
    exit 1
  fi   
  if [ $do6 = yes ] ; then
    echo "Can't run test 6 because UFT8 support is not configured"
    exit 1
  fi   
fi    

if [ $do1 = no -a $do2 = no -a $do3 = no -a $do4 = no -a\
     $do5 = no -a $do6 = no ] ; then
  do1=yes
  do2=yes
  do3=yes
  do4=yes
  if [ "@UTF8@" != "" ] ; then do5=yes; fi
  if [ "@UTF8@" != "" ] ; then do6=yes; fi
fi

# Primary test, Perl-compatible

if [ $do1 = yes ] ; then
  echo "Testing main functionality (Perl compatible)"
  ./pcretest $testdata/testinput1 testtry
  if [ $? = 0 ] ; then
    $cf testtry $testdata/testoutput1
    if [ $? != 0 ] ; then exit 1; fi
  else exit 1
  fi
fi

# PCRE tests that are not Perl-compatible - API & error tests, mostly

if [ $do2 = yes ] ; then
  echo "Testing API and error handling (not Perl compatible)"
  ./pcretest -i $testdata/testinput2 testtry
  if [ $? = 0 ] ; then
    $cf testtry $testdata/testoutput2
    if [ $? != 0 ] ; then exit 1; fi
  else exit 1
  fi
fi

# Additional Perl-compatible tests for Perl 5.005's new features

if [ $do3 = yes ] ; then
  echo "Testing Perl 5.005 features (Perl 5.005 compatible)"
  ./pcretest $testdata/testinput3 testtry
  if [ $? = 0 ] ; then
    $cf testtry $testdata/testoutput3
    if [ $? != 0 ] ; then exit 1; fi
  else exit 1
  fi
fi

if [ $do1 = yes -a $do2 = yes -a $do3 = yes ] ; then
  echo " " 
  echo "The three main tests all ran OK"
  echo " " 
fi

# Locale-specific tests, provided the "fr" locale is available

if [ $do4 = yes ] ; then
  locale -a | grep '^fr$' >/dev/null
  if [ $? -eq 0 ] ; then
    echo "Testing locale-specific features (using 'fr' locale)"
    ./pcretest $testdata/testinput4 testtry
    if [ $? = 0 ] ; then
      $cf testtry $testdata/testoutput4
      if [ $? != 0 ] ; then 
        echo " "
        echo "Locale test did not run entirely successfully."
        echo "This usually means that there is a problem with the locale"
        echo "settings rather than a bug in PCRE."    
      else
      echo "Locale test ran OK" 
      fi 
      echo " " 
    else exit 1
    fi
  else
    echo "Cannot test locale-specific features - 'fr' locale not found,"
    echo "or the \"locale\" command is not available to check for it."
    echo " " 
  fi
fi

# Additional tests for UTF8 support

if [ $do5 = yes ] ; then
  echo "Testing experimental, incomplete UTF8 support (Perl compatible)"
  ./pcretest $testdata/testinput5 testtry 
  if [ $? = 0 ] ; then
    $cf testtry $testdata/testoutput5
    if [ $? != 0 ] ; then exit 1; fi
  else exit 1
  fi
  echo "UTF8 test ran OK"
  echo " "
fi

if [ $do6 = yes ] ; then
  echo "Testing API and internals for UTF8 support (not Perl compatible)"
  ./pcretest $testdata/testinput6 testtry 
  if [ $? = 0 ] ; then
    $cf testtry $testdata/testoutput6
    if [ $? != 0 ] ; then exit 1; fi
  else exit 1
  fi
  echo "UTF8 internals test ran OK"
  echo " "
fi

# End