summaryrefslogtreecommitdiff
path: root/RunTest.bat
diff options
context:
space:
mode:
authorzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-01-12 19:19:56 +0000
committerzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2012-01-12 19:19:56 +0000
commit5610ba85924379be24498d43c9c74c69e902e783 (patch)
tree30352090d156722812d62fb20aa90f36fd753964 /RunTest.bat
parent47302d0694260f43ec9ecfd0da18a98683f47afe (diff)
downloadpcre-5610ba85924379be24498d43c9c74c69e902e783.tar.gz
16 bit support for cmake and RunTest.bat
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@863 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'RunTest.bat')
-rw-r--r--RunTest.bat271
1 files changed, 195 insertions, 76 deletions
diff --git a/RunTest.bat b/RunTest.bat
index 38f1eae..2d3b68a 100644
--- a/RunTest.bat
+++ b/RunTest.bat
@@ -12,14 +12,13 @@
@rem options.
@rem
@rem Sheri Pierce added logic to skip feature dependent tests
-@rem tests 4 5 8 and 12 require utf8 support
-@rem tests 6 9 13 require ucp support
-@rem 10 requires ucp and link size 2
-@rem 14 requires presense of jit support
-@rem 15 requires absence of jit support
+@rem tests 4 5 9 15 and 18 require utf support
+@rem tests 6 7 10 16 and 19 require ucp support
+@rem 11 requires ucp and link size 2
+@rem 12 requires presense of jit support
+@rem 13 requires absence of jit support
@rem Sheri P also added override tests for study and jit testing
-@rem JIT testing n/a for tests 7-10, removed JIT override test for them
-@rem removed override tests for 14-15
+@rem Zoltan Herczeg added libpcre16 support
setlocal enabledelayedexpansion
if [%srcdir%]==[] (
@@ -35,19 +34,10 @@ exit /b 1
goto :eof
)
-if "%pcregrep%"=="" set pcregrep=.\pcregrep.exe
if "%pcretest%"=="" set pcretest=.\pcretest.exe
echo source dir is %srcdir%
echo pcretest=%pcretest%
-echo pcregrep=%pcregrep%
-
-if NOT exist "%pcregrep%" (
-echo Error: "%pcregrep%" not found!
-echo.
-call :conferror
-exit /b 1
-)
if NOT exist "%pcretest%" (
echo Error: "%pcretest%" not found!
@@ -56,22 +46,30 @@ call :conferror
exit /b 1
)
-"%pcretest%" -C|"%pcregrep%" --no-jit "No UTF-8 support">NUL
-set utf8=%ERRORLEVEL%
-"%pcretest%" -C|"%pcregrep%" --no-jit "No Unicode properties support">NUL
+"%pcretest%" -C linksize >NUL
+set link_size=%ERRORLEVEL%
+"%pcretest%" -C pcre8 >NUL
+set support8=%ERRORLEVEL%
+"%pcretest%" -C pcre16 >NUL
+set support16=%ERRORLEVEL%
+"%pcretest%" -C utf >NUL
+set utf=%ERRORLEVEL%
+"%pcretest%" -C ucp >NUL
set ucp=%ERRORLEVEL%
-"%pcretest%" -C|"%pcregrep%" --no-jit "No just-in-time compiler support">NUL
+"%pcretest%" -C jit >NUL
set jit=%ERRORLEVEL%
-"%pcretest%" -C|"%pcregrep%" --no-jit "Internal link size = 2">NUL
-set link2=%ERRORLEVEL%
-set ucpandlink2=0
-if %ucp% EQU 1 (
- if %link2% EQU 0 set ucpandlink2=1
+
+if %support8% EQU 1 (
+if not exist testout8 md testout8
+if not exist testoutstudy8 md testoutstudy8
+if not exist testoutjit8 md testoutjit8
)
-if not exist testout md testout
-if not exist testoutstudy md testoutstudy
-if not exist testoutjit md testoutjit
+if %support16% EQU 1 (
+if not exist testout16 md testout16
+if not exist testoutstudy16 md testoutstudy16
+if not exist testoutjit16 md testoutjit16
+)
set do1=no
set do2=no
@@ -88,18 +86,23 @@ set do12=no
set do13=no
set do14=no
set do15=no
+set do16=no
+set do17=no
+set do18=no
+set do19=no
+set do20=no
set all=yes
for %%a in (%*) do (
set valid=no
- for %%v in (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) do if %%v == %%a set valid=yes
+ for %%v in (1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) do if %%v == %%a set valid=yes
if "!valid!" == "yes" (
set do%%a=yes
set all=no
) else (
echo Invalid test number - %%a!
echo Usage %0 [ test_number ] ...
- echo Where test_number is one or more optional test numbers 1 through 15, default is all tests.
+ echo Where test_number is one or more optional test numbers 1 through 20, default is all tests.
exit /b 1
)
)
@@ -121,11 +124,32 @@ if "%all%" == "yes" (
set do13=yes
set do14=yes
set do15=yes
+ set do16=yes
+ set do17=yes
+ set do18=yes
+ set do19=yes
+ set do20=yes
)
@echo RunTest.bat's pcretest output is written to newly created subfolders named
@echo testout, testoutstudy and testoutjit.
@echo.
+
+set mode=
+set bits=8
+
+:nextMode
+if "%mode%" == "" (
+ if %support8% EQU 0 goto modeSkip
+ echo.
+ echo ---- Testing 8-bit library ----
+ echo.
+) else (
+ if %support16% EQU 0 goto modeSkip
+ echo.
+ echo ---- Testing 16-bit library ----
+ echo.
+)
if "%do1%" == "yes" call :do1
if "%do2%" == "yes" call :do2
if "%do3%" == "yes" call :do3
@@ -141,6 +165,18 @@ if "%do12%" == "yes" call :do12
if "%do13%" == "yes" call :do13
if "%do14%" == "yes" call :do14
if "%do15%" == "yes" call :do15
+if "%do16%" == "yes" call :do16
+if "%do17%" == "yes" call :do17
+if "%do18%" == "yes" call :do18
+if "%do19%" == "yes" call :do19
+if "%do20%" == "yes" call :do20
+:modeSkip
+if "%mode%" == "" (
+ set mode=-16
+ set bits=16
+ goto nextMode
+)
+
if %failed% == "yes" (
echo In above output, one or more of the various tests failed!
exit /b 1
@@ -180,17 +216,21 @@ if exist %srcdir%\testdata\win%testinput% (
)
echo Test %1: %3
-"%pcretest%" %4 %5 %6 %7 %8 %9 "%srcdir%\testdata\%testinput%">%2\%testoutput%
+"%pcretest%" %mode% %4 %5 %6 %7 %8 %9 "%srcdir%\testdata\%testinput%">%2%bits%\%testoutput%
if errorlevel 1 (
echo. failed executing command-line:
- echo. "%pcretest%" %4 %5 %6 %7 %8 %9 "%srcdir%\testdata\%testinput%"^>%2\%testoutput%
+ echo. "%pcretest%" %mode% %4 %5 %6 %7 %8 %9 "%srcdir%\testdata\%testinput%"^>%2%bits%\%testoutput%
set failed="yes"
goto :eof
)
-fc /n "%srcdir%\testdata\%testoutput%" "%2\%testoutput%">NUL
+if [%1]==[11] (
+ fc /n "%srcdir%\testdata\%testoutput%-%bits%" "%2%bits%\%testoutput%">NUL
+) else (
+ fc /n "%srcdir%\testdata\%testoutput%" "%2%bits%\%testoutput%">NUL
+)
if errorlevel 1 (
- echo. failed comparison: fc /n "%srcdir%\testdata\%testoutput%" "%2\%testoutput%"
+ echo. failed comparison: fc /n "%srcdir%\testdata\%testoutput%" "%2%bits%\%testoutput%"
set failed="yes"
if [%1]==[2] (
echo.
@@ -202,6 +242,7 @@ if errorlevel 1 (
echo.
)
if [%1]==[3] (
+ set failed="no"
echo.
echo ** Test 3 failure usually means french locale is not
echo ** available on the system, rather than a bug or problem with PCRE.
@@ -233,107 +274,185 @@ goto :eof
goto :eof
:do4
- if %utf8% EQU 0 (
- echo Test 4 Skipped due to absence of UTF-8 support.
+ if %utf% EQU 0 (
+ echo Test 4 Skipped due to absence of UTF-%bits% support.
goto :eof
)
- call :runsub 4 testout "UTF-8 support - Compatible with Perl 5.8 and above" -q
+ call :runsub 4 testout "UTF-%bits% support - Compatible with Perl 5.8 and above" -q
call :runsub 4 testoutstudy "Test with Study Override" -q -s
if %jit% EQU 1 call :runsub 4 testoutjit "Test with JIT Override" -q -s+
goto :eof
:do5
- if %utf8% EQU 0 (
- echo Test 5 Skipped due to absence of UTF-8 support.
+ if %utf% EQU 0 (
+ echo Test 5 Skipped due to absence of UTF-%bits% support.
goto :eof
)
- call :runsub 5 testout "API, internals, and non-Perl stuff for UTF-8 support" -q
+ call :runsub 5 testout "API, internals, and non-Perl stuff for UTF-%bits% support" -q
call :runsub 5 testoutstudy "Test with Study Override" -q -s
if %jit% EQU 1 call :runsub 5 testoutjit "Test with JIT Override" -q -s+
goto :eof
:do6
if %ucp% EQU 0 (
- echo Test 6 Skipped due to absence of ucp support.
+ echo Test 6 Skipped due to absence of Unicode property support.
goto :eof
)
- call :runsub 6 testout "Unicode property support - Compatible with Perl 5.10 and above" -q
+ call :runsub 6 testout "Unicode property support (Compatible with Perl >= 5.10)" -q
call :runsub 6 testoutstudy "Test with Study Override" -q -s
if %jit% EQU 1 call :runsub 6 testoutjit "Test with JIT Override" -q -s+
goto :eof
:do7
- call :runsub 7 testout "DFA matching" -q -dfa
- call :runsub 7 testoutstudy "Test with Study Override" -q -dfa -s
+if %ucp% EQU 0 (
+ echo Test 7 Skipped due to absence of Unicode property support.
+ goto :eof
+)
+ call :runsub 7 testout "API, internals, and non-Perl stuff for Unicode property support" -q
+ call :runsub 7 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 7 testoutjit "Test with JIT Override" -q -s+
goto :eof
:do8
- if %utf8% EQU 0 (
- echo Test 8 Skipped due to absence of UTF-8 support.
- goto :eof
-)
- call :runsub 8 testout "DFA matching with UTF-8" -q -dfa
+ call :runsub 8 testout "DFA matching main functionality" -q -dfa
call :runsub 8 testoutstudy "Test with Study Override" -q -dfa -s
- goto :eof
+goto :eof
:do9
- if %ucp% EQU 0 (
- echo Test 9 Skipped due to absence of ucp support.
+ if %utf% EQU 0 (
+ echo Test 9 Skipped due to absence of UTF-%bits% support.
goto :eof
)
- call :runsub 9 testout "DFA matching with Unicode properties" -q -dfa
+ call :runsub 9 testout "DFA matching with UTF-%bits%" -q -dfa
call :runsub 9 testoutstudy "Test with Study Override" -q -dfa -s
-goto :eof
+ goto :eof
:do10
- if %ucpandlink2% EQU 0 (
- echo Test 10 Skipped due to requirements of ucp support AND link size 2.
+ if %ucp% EQU 0 (
+ echo Test 10 Skipped due to absence of Unicode property support.
goto :eof
)
- call :runsub 10 testout "Internal offsets and code size tests" -q
- call :runsub 10 testoutstudy "Test with Study Override" -q -s
+ call :runsub 10 testout "DFA matching with Unicode properties" -q -dfa
+ call :runsub 10 testoutstudy "Test with Study Override" -q -dfa -s
goto :eof
:do11
- call :runsub 11 testout "Features from Perl 5.10 and above" -q
+ if NOT %link_size% EQU 2 (
+ echo Test 11 Skipped because link size is not 2.
+ goto :eof
+)
+ if %ucp% EQU 0 (
+ echo Test 11 Skipped due to absence of Unicode property support.
+ goto :eof
+)
+ call :runsub 11 testout "Internal offsets and code size tests" -q
call :runsub 11 testoutstudy "Test with Study Override" -q -s
- if %jit% EQU 1 call :runsub 11 testoutjit "Test with JIT Override" -q -s+
goto :eof
:do12
- if %utf8% EQU 0 (
- echo Test 12 Skipped due to absence of UTF-8 support.
+if %jit% EQU 0 (
+ echo Test 12 Skipped due to absence of JIT support.
goto :eof
)
- call :runsub 12 testout "Features from Perl 5.10 and above w UTF-8" -q
- call :runsub 12 testoutstudy "Test with Study Override" -q -s
- if %jit% EQU 1 call :runsub 12 testoutjit "Test with JIT Override" -q -s+
+ call :runsub 12 testout "JIT-specific features - have JIT" -q
goto :eof
:do13
- if %ucp% EQU 0 (
- echo Test 13 Skipped due to absence of ucp support.
+ if %jit% EQU 1 (
+ echo Test 13 Skipped due to presence of JIT support.
goto :eof
)
-call :runsub 13 testout "API internals and non-Perl stuff for Unicode property support" -q
-call :runsub 13 testoutstudy "Test with Study Override" -q -s
-if %jit% EQU 1 call :runsub 13 testoutjit "Test with JIT Override" -q -s+
+ call :runsub 13 testout "JIT-specific features - no JIT" -q
goto :eof
:do14
-if %jit% EQU 0 (
- echo Test 14 Skipped due to absence of JIT support.
+ if NOT %bits% EQU 8 (
+ echo Test 14 Skipped when running 16-bit tests.
goto :eof
)
- call :runsub 14 testout "JIT-specific features - have JIT" -q
+ call :runsub 14 testout "Specials for the basic 8-bit library" -q
+ call :runsub 14 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 14 testoutjit "Test with JIT Override" -q -s+
goto :eof
:do15
- if %jit% EQU 1 (
- echo Test 15 Skipped due to presence of JIT support.
+ if NOT %bits% EQU 8 (
+ echo Test 15 Skipped when running 16-bit tests.
+ goto :eof
+)
+ if %utf% EQU 0 (
+ echo Test 15 Skipped due to absence of UTF-8 support.
+ goto :eof
+)
+ call :runsub 15 testout "Specials for the 8-bit library with UTF-8 support" -q
+ call :runsub 15 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 15 testoutjit "Test with JIT Override" -q -s+
+goto :eof
+
+:do16
+ if NOT %bits% EQU 8 (
+ echo Test 16 Skipped when running 16-bit tests.
+ goto :eof
+)
+ if %ucp% EQU 0 (
+ echo Test 16 Skipped due to absence of Unicode property support.
+ goto :eof
+)
+ call :runsub 16 testout "Specials for the 8-bit library with Unicode propery support" -q
+ call :runsub 16 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 16 testoutjit "Test with JIT Override" -q -s+
+goto :eof
+
+:do17
+ if NOT %bits% EQU 16 (
+ echo Test 17 Skipped when running 8-bit tests.
+ goto :eof
+)
+ copy /Y "%srcdir%\testdata\saved8" testsaved8
+ copy /Y "%srcdir%\testdata\saved16LE-1" testsaved16LE-1
+ copy /Y "%srcdir%\testdata\saved16BE-1" testsaved16BE-1
+ call :runsub 17 testout "Specials for the basic 8-bit library" -q
+ call :runsub 17 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 17 testoutjit "Test with JIT Override" -q -s+
+goto :eof
+
+:do18
+ if NOT %bits% EQU 16 (
+ echo Test 18 Skipped when running 8-bit tests.
+ goto :eof
+)
+ if %utf% EQU 0 (
+ echo Test 18 Skipped due to absence of UTF-8 support.
+ goto :eof
+)
+ copy /Y "%srcdir%\testdata\saved16LE-2" testsaved16LE-2
+ copy /Y "%srcdir%\testdata\saved16BE-2" testsaved16BE-2
+ call :runsub 18 testout "Specials for the basic 8-bit library" -q
+ call :runsub 18 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 18 testoutjit "Test with JIT Override" -q -s+
+goto :eof
+
+:do19
+ if NOT %bits% EQU 16 (
+ echo Test 19 Skipped when running 8-bit tests.
+ goto :eof
+)
+ if %ucp% EQU 0 (
+ echo Test 19 Skipped due to absence of Unicode property support.
+ goto :eof
+)
+ call :runsub 19 testout "Specials for the basic 8-bit library" -q
+ call :runsub 19 testoutstudy "Test with Study Override" -q -s
+ if %jit% EQU 1 call :runsub 19 testoutjit "Test with JIT Override" -q -s+
+goto :eof
+
+:do20
+ if NOT %bits% EQU 16 (
+ echo Test 20 Skipped when running 8-bit tests.
goto :eof
)
- call :runsub 15 testout "JIT-specific features - no JIT" -q
+ call :runsub 20 testout "DFA specials for the basic 16-bit library" -q
+ call :runsub 20 testoutstudy "Test with Study Override" -q -s
goto :eof
:conferror