[DAPL2] added requirement and code to enforce using delayed env. var expansion. Used...
[mirror/winof/.git] / ulp / dapl2 / test / dapltest / scripts / dt-cli.bat
1 @echo off\r
2 rem\r
3 rem Sample DAPLtest client Usage: dt-cli.bat hostname [testname -D]\r
4 rem\r
5 \r
6 SETLOCAL\r
7 \r
8 rem cmd.exe /V:on (delayed environment variable expansion) is required!\r
9 rem restart with /V:on if necessary\r
10 set F=on\r
11 set F=off\r
12 if not "!F!" == "off" (\r
13    %comspec% /E:on /V:on /C %0 %1 %2 %3 %4\r
14    exit /B %ERRORLEVEL%\r
15 )\r
16 \r
17 rem set DAT_OVERRIDE=D:\dapl2\dat.conf\r
18 rem favor DAT 2.0 (dapl2test.exe) over DAT 1.1 (dapltest.exe)\r
19 \r
20 if EXIST "%ProgramFiles(x86)%" (\r
21     set PF="%ProgramFiles(x86)%\WinOF"\r
22 ) else (\r
23     set PF="%ProgramFiles%\WinOF"\r
24 )\r
25 \r
26 rem Program name of dt-svr preferes dapl2test.exe, otherwise prefer dapltest.exe\r
27 if "%0" == "dt-cli" (\r
28     if EXIST %PF%\dapl2test.exe (\r
29         set DT=dapl2test.exe\r
30         set D=ibnic0v2\r
31 rem     To debug dapl2test - use dapl2testd.exe with ibnic0v2d\r
32         goto OK\r
33     )\r
34 )\r
35 \r
36 if EXIST %PF%\dapltest.exe (\r
37         set DT=dapltest.exe\r
38         set D=ibnic0\r
39         goto OK\r
40 )\r
41 echo Unable to find dapltest.exe or dapl2test.exe?\r
42 exit /B\r
43 \r
44 :OK\r
45 \r
46 set L=5\r
47 set X=\r
48 set T=\r
49 \r
50 if "%1" == "" (\r
51     rem set /P S= [Server-Hostname]\r
52 ) else (\r
53     if "%1" == "-h" (\r
54         set T=\r
55     ) else (\r
56         set S=%1\r
57         set T=\r
58         if not "%2" == "" (\r
59             set T=%2\r
60             if "%3" == "-D" (\r
61                 set X=0xffff\r
62             )\r
63         )\r
64     )\r
65 )\r
66 \r
67 if not "%X%" == "" (\r
68     set DAT_OS_DBG_TYPE=%X%\r
69     set DAT_DBG_TYPE=%X%\r
70     set DAT_DBG_LEVEL=%X%\r
71     set DAPL_DBG_LEVEL=%X%\r
72     set DAPL_DBG_TYPE=%X%\r
73 ) else (\r
74 rem    set DAT_DBG_TYPE=0x1\r
75 rem    set DAT_DBG_LEVEL=1\r
76 )\r
77 \r
78 rem %DT% -T T -V -t 2 -w 2 -i 1000111 -s %S% -D %D% \r
79 rem           client RW  4096 1    server RW  2048 4 \r
80 rem           client RR  1024 2    server RR  2048 2 \r
81 rem           client SR  1024 3 -f server SR   256 3 -f\r
82 \r
83 rem %DT% -T T -P -t 1 -w 1 -i 1024 -s %S% -D %D%\r
84 rem             client RW  4096 1    server RW  2048 4 \r
85 rem             server RR  1024 2    client RR  2048 2 \r
86 rem             client SR  1024 3 -f server SR   256 3 -f\r
87 \r
88 if "%T%" == "conn" (\r
89 rem Connectivity test - client sends one buffer with one 4KB segments, one time.\r
90 rem add '-d' for debug output.\r
91     %DT% -T T -s %S% -D %D% -i 1 -t 1 -w 1 client SR 4096 server SR 4096\r
92     exit /B\r
93 )\r
94 \r
95 if "%T%" == "trans" (\r
96     echo %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
97     %DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096\r
98     echo Finished %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
99     exit /B\r
100 )\r
101 \r
102 if "%T%" == "transm" (\r
103     echo %T%: Multiple RW, RR, SR transactions, 4096 iterations\r
104     %DT% -T T -P -t 1 -w 1 -i 4096 -s %S% -D %D% client RW 4096 1 server RW 2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
105     echo Finished %T%: Multiple RW, RR, SR transactions, 4096 iterations\r
106     exit /B\r
107 )\r
108 \r
109 if "%T%" == "transt" (\r
110     echo %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers\r
111    %DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3\r
112     echo Finished %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers\r
113     exit /B\r
114 )\r
115 \r
116 if "%T%" == "transme" (\r
117     echo %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations\r
118     %DT% -T T -P -t 1 -w 4 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
119     echo Finished %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations\r
120     exit /B\r
121 )\r
122 \r
123 if "%T%" == "transmet" (\r
124     echo %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations\r
125     %DT% -T T -P -t 2 -w 4 -i 4096 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
126     echo Finished %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations\r
127     exit /B\r
128 )\r
129 \r
130 if "%T%" == "transmete" (\r
131     echo %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations\r
132     %DT% -T T -P -t 2 -w 4 -i 8192 -s %S% -D %D% client RW  4096 1 server RW  2048 4  server RR  1024 2 client RR 2048 2 client SR 1024 3 -f server SR 256 3 -f\r
133     echo Finished %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations\r
134     exit /B\r
135 )\r
136 \r
137 if "%T%" == "EPA" (\r
138     FOR /L %%j IN (2,1,5) DO (\r
139         FOR /L %%i IN (1,1,5) DO (\r
140              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
141              %DT% -T T -s %S% -D %D% -i 4096 -t %%j -w %%i client SR 8192 3 server SR 8192 3\r
142              if ERRORLEVEL 1 exit /B \r
143              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
144              timeout /T 3\r
145         )\r
146     )\r
147     exit /B \r
148 )\r
149 \r
150 if "%T%" == "EP" (\r
151     set TH=4\r
152     set EP=5\r
153     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
154     %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
155     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
156     exit /B \r
157 )\r
158 \r
159 if "%T%" == "threads" (\r
160     echo %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs\r
161     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3\r
162     echo Finished %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs\r
163     exit /B\r
164 )\r
165 \r
166 if "%T%" == "threadsm" (\r
167     set TH=4\r
168     set EP=5\r
169     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
170     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 6 client SR 8192 3 server SR 8192 3\r
171     echo Finished %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
172     exit /B\r
173 )\r
174 \r
175 if "%T%" == "perf" (\r
176     rem echo Performance test\r
177     %DT% -T P %DBG% -s %S% -D %D% -i 2048 RW 4096 2\r
178     exit /B\r
179 )\r
180 \r
181 if "%T%" == "rdma-read" (\r
182     echo %T% 4 32K segs\r
183     %DT% -T P -s %S% -D %D% -i 4096 RR 32768 4\r
184     echo Finished %T% 4 32K segs\r
185     exit /B\r
186 )\r
187 \r
188 if "%T%" == "rdma-write" (\r
189     echo %T% 4 32K segs\r
190     %DT% -T P -s %S% -D %D% -i 4096 RW 32768 4\r
191     echo Finished %T% 4 32K segs\r
192     exit /B\r
193 )\r
194 \r
195 if "%T%" == "bw" (\r
196     echo bandwidth 4096 iterations of 2 65K mesgs\r
197     %DT% -T P -s %S% -D %D% -i 4096 -p 16 -m p RW 65536 2 \r
198     echo Finished bandwidth 4096 iterations of 2 65K mesgs\r
199     exit /B\r
200 )\r
201 \r
202 if "%T%" == "latb" (\r
203     echo latency test - block for completion events\r
204     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m b RW 4 1\r
205     exit /B\r
206 )\r
207 \r
208 if "%T%" == "latp" (\r
209     echo latency test - poll completion events\r
210     %DT% -T P -s %S% -D %D% -i 8192 -p 1 -m p RW 4 1\r
211     exit /B\r
212 )\r
213 \r
214 if "%T%" == "lim" (\r
215     echo Resource limit tests\r
216     %DT% -T L -D %D% -w 8 -m 100 limit_ia\r
217     %DT% -T L -D %D% -w 8 -m 100 limit_pz\r
218     %DT% -T L -D %D% -w 8 -m 100 limit_evd\r
219     %DT% -T L -D %D% -w 8 -m 100 limit_ep\r
220     %DT% -T L -D %D% -w 8 -m 100 limit_psp\r
221     %DT% -T L -D %D% -w 8 -m 100 limit_lmr\r
222     %DT% -T L -D %D% -w 8 -m 15 limit_rpost\r
223     exit /B\r
224 )\r
225 \r
226 if "%T%" == "regression" (\r
227     if "%X%" == "" (\r
228         if not "%3" == "" (\r
229             set L=%3\r
230         )\r
231     ) else (\r
232         if not "%4" == "" (\r
233             set L=%4\r
234         )\r
235     )\r
236     rem change % to ! - run cmd.exe /V:ON for loop count changes from cmd line\r
237     echo %T% testing in %L% Loops\r
238     REM rdma-write, read, perf\r
239     FOR /L %%i IN (1,1,%L%) DO (\r
240 \r
241          call %0 %1 trans\r
242          if ERRORLEVEL 1 exit /B\r
243 \r
244          echo in Loop %%i\r
245          call %0 %1 perf\r
246          if ERRORLEVEL 1 exit /B\r
247 \r
248          echo in Loop %%i\r
249          call %0 %1 threads\r
250          if ERRORLEVEL 1 exit /B\r
251 \r
252          echo in Loop %%i\r
253          call %0 %1 threadsm\r
254          if ERRORLEVEL 1 exit /B\r
255 \r
256          echo in Loop %%i\r
257          call %0 %1 transm\r
258          if ERRORLEVEL 1 exit /B\r
259 \r
260          echo in Loop %%i\r
261          call %0 %1 transt\r
262          if ERRORLEVEL 1 exit /B\r
263 \r
264          echo in Loop %%i\r
265          call %0 %1 transme\r
266          if ERRORLEVEL 1 exit /B\r
267 \r
268          echo in Loop %%i\r
269          call %0 %1 transmet\r
270          if ERRORLEVEL 1 exit /B\r
271 \r
272          echo in Loop %%i\r
273          call %0 %1 transmete\r
274          if ERRORLEVEL 1 exit /B\r
275 \r
276          echo in Loop %%i\r
277          call %0 %1 rdma-write\r
278          if ERRORLEVEL 1 exit /B\r
279          timeout /T 3\r
280 \r
281          echo in Loop %%i\r
282          call %0 %1 rdma-read\r
283          if ERRORLEVEL 1 exit /B\r
284 \r
285          echo in Loop %%i\r
286          call %0 %1 bw\r
287          if ERRORLEVEL 1 exit /B \r
288 \r
289          echo in Loop %%i\r
290          call %0 %1 EP\r
291          if ERRORLEVEL 1 exit /B\r
292 \r
293          echo Finished loop %%i, %T% loops completed.\r
294          timeout /T 4\r
295     )\r
296     exit /B\r
297 )\r
298 \r
299 if "%T%" == "interop" (\r
300     if "%X%" == "" (\r
301         if not "%3" == "" (\r
302             set L=%3\r
303         )\r
304     ) else (\r
305         if not "%4" == "" (\r
306             set L=%4\r
307         )\r
308     )\r
309     rem change % to ! - run cmd.exe /V:ON for loop count changes from cmd line\r
310     echo %T% testing in %L% Loops\r
311     REM test units from Nov-'07 OFA interop event\r
312     FOR /L %%i IN (0,1,1) DO (\r
313          echo %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1\r
314          %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1\r
315          if ERRORLEVEL 1 exit /B\r
316          timeout /T 3\r
317          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 3 -f server SR 1536 2 -f\r
318          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 3 -f server SR 1536 2 -f\r
319          if ERRORLEVEL 1 exit /B\r
320          timeout /T 3\r
321          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 1 server SR 1024 1\r
322          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 1024 1 server SR 1024 1\r
323          if ERRORLEVEL 1 exit /B\r
324          timeout /T 3\r
325          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
326          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
327          if ERRORLEVEL 1 exit /B\r
328          timeout /T 3\r
329          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RW 4096 1 server SR 256 1\r
330          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RW 4096 1 server SR 256 1\r
331          if ERRORLEVEL 1 exit /B\r
332          timeout /T 3\r
333          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1\r
334          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 1 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1\r
335          if ERRORLEVEL 1 exit /B\r
336          timeout /T 3\r
337          echo %DT% -T T -s %S% -D %D% -i 100 -t 4 -w 8 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1 client SR 256 1 server RR 4096 1 server SR 256 1\r
338          %DT% -T T -s %S% -D %D% -i 100 -t 4 -w 8 -V -P -R BE client SR 256 1 server RR 4096 1 server SR 256 1 client SR 256 1 server RR 4096 1 server SR 256 1\r
339          if ERRORLEVEL 1 exit /B\r
340          timeout /T 3\r
341          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
342          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
343          if ERRORLEVEL 1 exit /B\r
344          timeout /T 3\r
345          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
346          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
347          if ERRORLEVEL 1 exit /B\r
348          timeout /T 3\r
349          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
350          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
351          if ERRORLEVEL 1 exit /B\r
352          timeout /T 3\r
353          echo %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
354          %DT% -T T -s %S% -D %D% -i 100 -t 1 -w 10 -V -P -R BE client SR 1024 3 server SR 1536 2\r
355          if ERRORLEVEL 1 exit /B\r
356          echo %%i %T% loops completed.\r
357     )\r
358     exit /B\r
359 )\r
360 \r
361 if "%T%" == "stop" (\r
362     %DT% -T Q -s %S% -D %D%\r
363     exit /B\r
364 )\r
365 \r
366 echo usage: dt-cli hostname [testname [-D]]\r
367 echo   where testname\r
368 echo     stop - request DAPLtest server to exit.\r
369 echo     conn - simple connection with limited data transfer\r
370 echo     EP - Multiple EndPoints(7) and Threads(5) Transactions\r
371 echo     EPA - Increment EndPoints[1..5] while increasing threads[1-5]\r
372 echo     trans - single transaction test\r
373 echo     transm - transaction test: multiple transactions [RW SND, RDMA]\r
374 echo     transt - transaction test: multi-threaded\r
375 echo     transme - transaction test: multi-endpoints per thread \r
376 echo     transmet - transaction test: multi-endpoints per thread, multiple threads\r
377 echo     transmete - transaction test: multi threads == endpoints\r
378 echo     perf - Performance test\r
379 echo     threads - multi-threaded single transaction test.\r
380 echo     threadsm - multi: threads and endpoints, single transaction test.\r
381 echo     rdma-write - RDMA write\r
382 echo     rdma-read - RDMA read\r
383 echo     bw - bandwidth\r
384 echo     latb - latency tests, blocking for events\r
385 echo     latp - latency tests, polling for events\r
386 echo     lim - limit tests.\r
387 echo     regression - loop over a collection of all tests.\r
388 echo     interop - collection of test-units from OFA interoperability event 2007.\r
389 \r
390 ENDLOCAL\r
391 @echo on\r
392 @exit /B\r