• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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