1@echo off 2REM Copyright (C) 2016 and later: Unicode, Inc. and others. 3REM License & terms of use: http://www.unicode.org/copyright.html 4REM ******************************************************************** 5 6REM Don't add additional global environment variables, keep the variables local to this script. 7rem setlocal 8 9set ICU_ARCH=%1 10set ICU_DBRL=%2 11 12if "%1" == "" ( 13 echo Usage: %0 "x86 or x64" "Debug or Release" 14 exit /b 1 15) 16 17if "%2" == "" ( 18 echo Usage: %0 %1 "Debug or Release" 19 exit /b 1 20) 21 22set ICU_ICUDIR="%~dp0"\..\..\.. 23set ICU_SAMPLESDIR=%ICU_ICUDIR%\source\samples 24 25if "%ICU_ARCH%" == "x64" ( 26 set ICU_BINDIR=%~dp0..\..\..\bin64 27) else ( 28 set ICU_BINDIR=%~dp0..\..\..\bin 29) 30 31if not exist "%ICU_BINDIR%" ( 32 echo Error '%ICU_BINDIR%' does not exist! 33 echo Have you built all of ICU yet ? 34 goto :eof 35) 36 37REM Change the codepage to UTF-8 in order to better handle non-ASCII characters from the samples. 38echo Setting codepage to UTF-8 39chcp 65001 40 41echo Testing ICU samples in %ICU_ICUDIR% arch=%ICU_ARCH% type=%ICU_DBRL% 42set PATH=%ICU_BINDIR%;%PATH% 43pushd %ICU_BINDIR% 44 45set SAMPLE_BREAK=%ICU_SAMPLESDIR%\break\%ICU_ARCH%\%ICU_DBRL%\break.exe 46set SAMPLE_CAL=%ICU_SAMPLESDIR%\cal\%ICU_ARCH%\%ICU_DBRL%\cal.exe 47set SAMPLE_CASE=%ICU_SAMPLESDIR%\case\%ICU_ARCH%\%ICU_DBRL%\case.exe 48set SAMPLE_CITER=%ICU_SAMPLESDIR%\citer\%ICU_ARCH%\%ICU_DBRL%\citer.exe 49set SAMPLE_COLL=%ICU_SAMPLESDIR%\coll\%ICU_ARCH%\%ICU_DBRL%\coll.exe 50set SAMPLE_CSDET=%ICU_SAMPLESDIR%\csdet\%ICU_ARCH%\%ICU_DBRL%\csdet.exe 51set SAMPLE_DATE=%ICU_SAMPLESDIR%\date\%ICU_ARCH%\%ICU_DBRL%\date.exe 52set SAMPLE_DATEFMT=%ICU_SAMPLESDIR%\datefmt\%ICU_ARCH%\%ICU_DBRL%\datefmt.exe 53set SAMPLE_DTITVFMT=%ICU_SAMPLESDIR%\dtitvfmtsample\%ICU_ARCH%\%ICU_DBRL%\dtitvfmtsample.exe 54set SAMPLE_DTPTNG=%ICU_SAMPLESDIR%\dtptngsample\%ICU_ARCH%\%ICU_DBRL%\dtptngsample.exe 55set SAMPLE_MSGFMT=%ICU_SAMPLESDIR%\msgfmt\%ICU_ARCH%\%ICU_DBRL%\msgfmt.exe 56set SAMPLE_NUMFMT=%ICU_SAMPLESDIR%\numfmt\%ICU_ARCH%\%ICU_DBRL%\numfmt.exe 57set SAMPLE_PLURFMTSAMPLE=%ICU_SAMPLESDIR%\plurfmtsample\%ICU_ARCH%\%ICU_DBRL%\plurfmtsample.exe 58set SAMPLE_PROPS=%ICU_SAMPLESDIR%\props\%ICU_ARCH%\%ICU_DBRL%\props.exe 59set SAMPLE_STRSRCH=%ICU_SAMPLESDIR%\strsrch\%ICU_ARCH%\%ICU_DBRL%\strsrch.exe 60set SAMPLE_TRANSLIT=%ICU_SAMPLESDIR%\translit\%ICU_ARCH%\%ICU_DBRL%\translit.exe 61set SAMPLE_UCITER8=%ICU_SAMPLESDIR%\uciter8\%ICU_ARCH%\%ICU_DBRL%\uciter8.exe 62set SAMPLE_UCNV=%ICU_SAMPLESDIR%\ucnv\%ICU_ARCH%\%ICU_DBRL%\ucnv.exe 63REM udata needs changes to the vcxproj to change the output locations for writer/reader. 64rem set SAMPLE_UDATA_WRITER=%ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%\writer.exe 65rem set SAMPLE_UDATA_READER=%ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL%\reader.exe 66set SAMPLE_UFORTUNE=%ICU_SAMPLESDIR%\ufortune\%ICU_ARCH%\%ICU_DBRL%\ufortune.exe 67set SAMPLE_UGREP=%ICU_SAMPLESDIR%\ugrep\%ICU_ARCH%\%ICU_DBRL%\ugrep.exe 68REM There is also the 'resources' project in VS. 69set SAMPLE_URESB=%ICU_SAMPLESDIR%\uresb\%ICU_ARCH%\%ICU_DBRL%\uresb.exe 70set SAMPLE_USTRING=%ICU_SAMPLESDIR%\ustring\%ICU_ARCH%\%ICU_DBRL%\ustring.exe 71 72 73@set THT=break 74@echo. 75@echo ==== %THT% ========================================================================= 76%SAMPLE_BREAK% 77if ERRORLEVEL 1 goto :SampleError 78 79@set THT=cal 80@echo. 81@echo ==== %THT% ========================================================================= 82%SAMPLE_CAL% 83if ERRORLEVEL 1 goto :SampleError 84 85@set THT=case 86@echo. 87@echo ==== %THT% ========================================================================= 88%SAMPLE_CASE% 89if ERRORLEVEL 1 goto :SampleError 90 91@set THT=citer 92@echo. 93@echo ==== %THT% ========================================================================= 94%SAMPLE_CITER% 95if ERRORLEVEL 1 goto :SampleError 96 97@set THT=coll 98@echo. 99@echo ==== %THT% ========================================================================= 100%SAMPLE_COLL% 101if ERRORLEVEL 1 goto :SampleError 102 103@set THT=csdet 104@echo. 105@echo ==== %THT% ========================================================================= 106%SAMPLE_CSDET% %ICU_SAMPLESDIR%\csdet\readme.txt 107if ERRORLEVEL 1 goto :SampleError 108 109@set THT=date 110@echo. 111@echo ==== %THT% ========================================================================= 112%SAMPLE_DATE% 113if ERRORLEVEL 1 goto :SampleError 114 115@set THT=datefmt 116@echo. 117@echo ==== %THT% ========================================================================= 118%SAMPLE_DATEFMT% 119if ERRORLEVEL 1 goto :SampleError 120 121@set THT=dtitvfmtsample 122@echo. 123@echo ==== %THT% ========================================================================= 124%SAMPLE_DTITVFMT% 125if ERRORLEVEL 1 goto :SampleError 126 127@set THT=dtptngsample 128@echo. 129@echo ==== %THT% ========================================================================= 130pushd %ICU_SAMPLESDIR%\dtptngsample\%ICU_ARCH%\%ICU_DBRL% 131%SAMPLE_DTPTNG% 132popd 133if ERRORLEVEL 1 goto :SampleError 134 135@set THT=msgfmt 136@echo. 137@echo ==== %THT% ========================================================================= 138%SAMPLE_MSGFMT% arg1 arg2 139if ERRORLEVEL 1 goto :SampleError 140 141@set THT=numfmt 142@echo. 143@echo ==== %THT% ========================================================================= 144%SAMPLE_NUMFMT% 145if ERRORLEVEL 1 goto :SampleError 146 147@set THT=plurfmtsample 148@echo. 149@echo ==== %THT% ========================================================================= 150%SAMPLE_PLURFMTSAMPLE% 151if ERRORLEVEL 1 goto :SampleError 152 153@set THT=props 154@echo. 155@echo ==== %THT% ========================================================================= 156%SAMPLE_PROPS% 157if ERRORLEVEL 1 goto :SampleError 158 159@set THT=strsrch 160@echo. 161@echo ==== %THT% ========================================================================= 162%SAMPLE_STRSRCH% 163if ERRORLEVEL 1 goto :SampleError 164 165@set THT=translit 166@echo. 167@echo ==== %THT% ========================================================================= 168%SAMPLE_TRANSLIT% 169if ERRORLEVEL 1 goto :SampleError 170 171@set THT=citer8 172@echo. 173@echo ==== %THT% ========================================================================= 174%SAMPLE_UCITER8% 175if ERRORLEVEL 1 goto :SampleError 176 177@set THT=ucnv 178@echo. 179@echo ==== %THT% ========================================================================= 180pushd %ICU_SAMPLESDIR%\ucnv 181%SAMPLE_UCNV% 182popd 183if ERRORLEVEL 1 goto :SampleError 184 185REM TODO: udata needs changes to the vcxproj file to fix the output locations for writer/reader. 186@set THT=udata 187@echo. 188@echo ==== %THT% ========================================================================= 189pushd %ICU_SAMPLESDIR%\udata\%ICU_ARCH%\%ICU_DBRL% 190@echo TODO: udata needs changes to the vcxproj file to fix the output locations for writer/reader. 191@echo Skipping %THT% 192rem %SAMPLE_UDATA_WRITER% 193rem %SAMPLE_UDATA_READER% 194popd 195if ERRORLEVEL 1 goto :SampleError 196 197@set THT=ufortune 198@echo. 199@echo ==== %THT% ========================================================================= 200if "%ICU_ARCH%" == "x64" ( 201 @echo The ufortune sample currently only runs on x86. 202 @echo Skipping %THT%. 203) else ( 204 %SAMPLE_UFORTUNE% 205 if ERRORLEVEL 1 goto :SampleError 206) 207 208@set THT=ugrep 209@echo. 210@echo ==== %THT% ========================================================================= 211echo Looking for "ICU" in '%ICU_SAMPLESDIR%\ugrep\readme.txt' with ugrep.exe 212%SAMPLE_UGREP% ICU %ICU_SAMPLESDIR%\ugrep\readme.txt 213if ERRORLEVEL 1 goto :SampleError 214 215@set THT=uresb 216@echo. 217@echo ==== %THT% ========================================================================= 218pushd %ICU_SAMPLESDIR%\uresb 219%SAMPLE_URESB% en 220%SAMPLE_URESB% root 221%SAMPLE_URESB% sr 222popd 223if ERRORLEVEL 1 goto :SampleError 224 225@set THT=ustring 226@echo. 227@echo ==== %THT% ========================================================================= 228%SAMPLE_USTRING% 229if ERRORLEVEL 1 goto :SampleError 230 231 232 233rem All done 234goto :QuitWithNoError 235 236:SampleError 237 echo. 238 echo ERROR: Sample program %THT% did not exit cleanly. Stopping execution. 239 echo. 240 goto :QuitWithError 241 242:QuitWithNoError 243 echo. 244 popd 245 exit /b 0 246 247:QuitWithError 248 echo. 249 popd 250 rem Exit with non-zero error code. 251 exit /b 1 252