[DAPL2] remove static path specification.
[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 provider 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    if ERRORLEVEL 2 (exit /B %ERRORLEVEL%) else (exit /B 0)\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 set DT=dapl2test.exe\r
21 %DT% -h > Nul 2>&1\r
22 if not "%ERRORLEVEL%" == "1" (\r
23     echo %0: ERR - %DT% not in exec path?\r
24     exit /B %ERRORLEVEL%\r
25 )\r
26 rem     To debug dapl2test - use dapl2testd.exe with ibnic0v2d\r
27 \r
28 rem setup DAPL provider name: translate shorthand name or use name from dat.conf.\r
29 rem if DAPL provider name is incorrect, DAPL will fail correctly.\r
30 \r
31 if "%1" == "" goto usage\r
32 if "%1" == "ibal"  set D=ibnic0v2\r
33 if "%1" == "ibal0" set D=ibnic0v2\r
34 if "%1" == "ibal1" set D=ibnic1v2\r
35 if "%1" == "scm"   set D=ibnic0v2-scm\r
36 if "%1" == "cma"   set D=ibnic0v2-cma\r
37 if "%D%" == ""     set D=%1\r
38 \r
39 rem DaplTest server hostname\r
40 if "%2" == "" goto usage\r
41 set S=%2\r
42 \r
43 rem Which test ?\r
44 if "%3" == "" goto usage\r
45 set T=%3\r
46 \r
47 set LPS=5\r
48 \r
49 rem Enable DEBUG?\r
50 \r
51 if "%4" == "-D" (set X=0xffff) else set X=\r
52 if not "%X%" == "" (\r
53     set DAT_OS_DBG_TYPE=%X%\r
54     set DAT_DBG_TYPE=%X%\r
55     set DAT_DBG_LEVEL=%X%\r
56     set DAPL_DBG_LEVEL=%X%\r
57     set DAPL_DBG_TYPE=%X%\r
58 ) else (\r
59 rem    set DAT_DBG_TYPE=0x1\r
60 rem    set DAT_DBG_LEVEL=1\r
61 )\r
62 \r
63 if "%4" == "-Q" ( set QUIET=1 ) else ( set QUIET=0 )\r
64 \r
65 rem %DT% -T T -V -t 2 -w 2 -i 1000111 -s %S% -D %D% \r
66 rem           client RW  4096 1    server RW  2048 4 \r
67 rem           client RR  1024 2    server RR  2048 2 \r
68 rem           client SR  1024 3 -f server SR   256 3 -f\r
69 \r
70 rem %DT% -T T -P -t 1 -w 1 -i 1024 -s %S% -D %D%\r
71 rem             client RW  4096 1    server RW  2048 4 \r
72 rem             server RR  1024 2    client RR  2048 2 \r
73 rem             client SR  1024 3 -f server SR   256 3 -f\r
74 \r
75 if "%T%" == "bench" (\r
76     echo %T%: Threads[1] Endpoints[1] transactions[RW, RR, SR], 64K iterations\r
77         set STIME=!DATE! !TIME!\r
78     %DT% -T T -P -t 1 -w 1 -i 65536 -s %S% -D %D% client RW  4096 4 server RW  2048 4  server RR  4096 2 client RR 4096 2 client SR 1024 2 -f server SR 1024 2 -f\r
79         set ETIME=!DATE! !TIME!\r
80     goto xit\r
81 )\r
82 \r
83 if "%T%" == "conn" (\r
84     rem Connectivity test - client sends one buffer with one 4KB segments, one time.\r
85     rem add '-d' for debug output.\r
86     echo Simple Connectivity test\r
87     set CMD=%DT% -T T -s %S% -D %D% -i 1 -t 1 -w 1 client SR 4096 server SR 4096\r
88     goto xcmd\r
89 )\r
90 \r
91 if "%T%" == "trans" (\r
92     echo %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers\r
93     set CMD=%DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096\r
94     goto xcmd\r
95 )\r
96 \r
97 if "%T%" == "transm" (\r
98     echo %T%: Multiple RW, RR, SR transactions, 4096 iterations\r
99     set CMD=%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
100     goto xcmd\r
101 )\r
102 \r
103 if "%T%" == "transt" (\r
104     echo %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers\r
105     set CMD=%DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3\r
106     goto xcmd\r
107 )\r
108 \r
109 if "%T%" == "transme" (\r
110     echo %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations\r
111     set CMD=%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
112     goto xcmd\r
113 )\r
114 \r
115 if "%T%" == "transmet" (\r
116     echo %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations\r
117     set CMD=%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
118     goto xcmd\r
119 )\r
120 \r
121 if "%T%" == "transmete" (\r
122     echo %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations\r
123     set CMD=%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
124     goto xcmd\r
125 )\r
126 \r
127 if "%T%" == "EPA" (\r
128         set STIME=!DATE! !TIME!\r
129     FOR /L %%j IN (2,1,5) DO (\r
130         FOR /L %%i IN (1,1,5) DO (\r
131              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
132              %DT% -T T -s %S% -D %D% -i 4096 -t %%j -w %%i client SR 8192 3 server SR 8192 3\r
133              if ERRORLEVEL 1 exit /B %ERRORLEVEL% \r
134              echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs\r
135              timeout /T 3\r
136         )\r
137     )\r
138         set ETIME=!DATE! !TIME!\r
139     goto xit\r
140 )\r
141 \r
142 if "%T%" == "EP" (\r
143     set TH=4\r
144     set EP=3\r
145     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
146     set CMD=%DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
147     goto xcmd\r
148 )\r
149 \r
150 if "%T%" == "threads" (\r
151     echo %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs\r
152     set CMD=%DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3\r
153     goto xcmd\r
154 )\r
155 \r
156 if "%T%" == "threadsm" (\r
157     set TH=5\r
158     set EP=3\r
159     echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs\r
160     set CMD=%DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3\r
161     goto xcmd\r
162 )\r
163 \r
164 if "%T%" == "perf" (\r
165     rem echo Performance test\r
166     set CMD=%DT% -T P %DBG% -s %S% -D %D% -i 2048 RW 4096 2\r
167     goto xcmd\r
168 )\r
169 \r
170 if "%T%" == "rdma-read" (\r
171     echo %T% 4 32K segs\r
172     set CMD=%DT% -T P -s %S% -D %D% -i 4096 RR 32768 4\r
173     goto xcmd\r
174 )\r
175 \r
176 if "%T%" == "rdma-write" (\r
177     echo %T% 4 32K segs\r
178     set CMD=%DT% -T P -s %S% -D %D% -i 4096 RW 32768 4\r
179     goto xcmd\r
180 )\r
181 \r
182 if "%T%" == "bw" (\r
183     echo bandwidth 4096 iterations of 2 65K mesgs\r
184     set CMD=%DT% -T P -s %S% -D %D% -i 4096 -p 16 -m p RW 65536 2 \r
185     goto xcmd\r
186 )\r
187 \r
188 if "%T%" == "latb" (\r
189     echo latency test - block for completion events\r
190     set CMD=%DT% -T P -s %S% -D %D% -i 8192 -p 1 -m b RW 4 1\r
191     goto xcmd\r
192 )\r
193 \r
194 if "%T%" == "latp" (\r
195     echo latency test - poll completion events\r
196     set CMD=%DT% -T P -s %S% -D %D% -i 8192 -p 1 -m p RW 4 1\r
197     goto xcmd\r
198 )\r
199 \r
200 if "%T%" == "lim" (\r
201     echo Resource limit tests\r
202         set STIME=!DATE! !TIME!\r
203     %DT% -T L -D %D% -w 8 -m 100 limit_ia\r
204     %DT% -T L -D %D% -w 8 -m 100 limit_pz\r
205     %DT% -T L -D %D% -w 8 -m 100 limit_evd\r
206     %DT% -T L -D %D% -w 8 -m 100 limit_ep\r
207     %DT% -T L -D %D% -w 8 -m 100 limit_psp\r
208     %DT% -T L -D %D% -w 8 -m 100 limit_lmr\r
209     %DT% -T L -D %D% -w 8 -m 15 limit_rpost\r
210         set ETIME=!DATE! !TIME!\r
211     goto xit\r
212 )\r
213 \r
214 if "%T%" == "regression" (\r
215     rem run dapl regression tests - usage: dt-cli provider svr-IPaddr regression {loopCnt}\r
216     if "%X%" == "" (\r
217         if not "%4" == ""  set LPS=%4\r
218     ) else (\r
219         if not "%5" == ""  set LPS=%5\r
220     )\r
221     echo %T% testing in !LPS! Loops\r
222     REM rdma-write, read, perf\r
223     set RT=trans perf threads threadsm transm transt transme transmet transmete rdma-write rdma-read bw EP\r
224         set STIME=!DATE! !TIME!\r
225     FOR /L %%i IN (1,1,!LPS!) DO (\r
226        for %%r in ( !RT! ) do (\r
227            echo loop %%i - start test %%r\r
228            call %0 %1 %2 %%r\r
229            if !ERRORLEVEL! GTR 1 (\r
230                echo Error !ERRORLEVEL! in regression test %%r\r
231                exit /B !ERRORLEVEL!\r
232            )\r
233            echo loop %%i - Completed test %%r\r
234            if not "%%r" == "EP"  timeout /T 3\r
235        )\r
236        echo +\r
237        echo Finished %T% loop %%i of !LPS!\r
238        if %%i LSS !LPS!  timeout /T 8\r
239     )\r
240         set ETIME=!DATE! !TIME!\r
241     goto xit\r
242 )\r
243 \r
244 if "%T%" == "interop" (\r
245     REM test units from Nov-'07 OFA interop event. usage dt-cli server-IPaddr interop {LoopCount}\r
246     if "%X%" == "" (\r
247         if not "%4" == ""  set LPS=%4\r
248     ) else (\r
249         if not "%5" == ""  set LPS=%5\r
250     )\r
251     echo %T% testing in !LPS! Loops\r
252     REM test units from Nov-'07 OFA interop event\r
253         set STIME=!DATE! !TIME!\r
254     FOR /L %%i IN (1,1,!LPS!) DO (\r
255          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
256          %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1\r
257          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
258          timeout /T 3\r
259          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
260          %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
261          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
262          timeout /T 3\r
263          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
264          %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
265          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
266          timeout /T 3\r
267          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
268          %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
269          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
270          timeout /T 3\r
271          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
272          %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
273          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
274          timeout /T 3\r
275          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
276          %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
277          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
278          timeout /T 3\r
279          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
280          %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
281          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
282          timeout /T 3\r
283          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
284          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2\r
285          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
286          timeout /T 3\r
287          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
288          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2\r
289          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
290          timeout /T 3\r
291          echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
292          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1\r
293          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
294          timeout /T 3\r
295          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
296          %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
297          if ERRORLEVEL 1 exit /B %ERRORLEVEL%\r
298          echo %%i %T% loops of !LPS! completed.\r
299          if %%i LSS !LPS!  timeout /T 8\r
300     )\r
301         set ETIME=!DATE! !TIME!\r
302     goto xit\r
303 )\r
304 \r
305 if "%T%" == "stop" (\r
306     %DT% -T Q -s %S% -D %D%\r
307     goto rxt\r
308 )\r
309 \r
310 :usage\r
311 \r
312 echo.\r
313 echo usage: dt-cli dapl-provider dt-svr-hostname [testname [-D]]\r
314 echo.\r
315 echo where:\r
316 echo.\r
317 echo  dapl-provider: ibal, scm, cma or %SystemDrive%\DAT\dat.conf DAPL-provider name.\r
318 echo.\r
319 echo  dt-svr-hostname - IPv4 hostanme where the DaplTest server is running\r
320 echo.\r
321 echo  testname\r
322 echo    stop - request DAPLtest server to exit.\r
323 echo    conn - simple connection test with limited data transfer\r
324 echo    EP - Multiple EndPoints(7) and Threads(5) Transactions\r
325 echo    EPA - Increment EndPoints[1..5] while increasing threads[1-5]\r
326 echo    trans - single transaction test\r
327 echo    transm - transaction test: multiple transactions [RW SND, RDMA]\r
328 echo    transt - transaction test: multi-threaded\r
329 echo    transme - transaction test: multi-endpoints per thread \r
330 echo    transmet - transaction test: multi-endpoints per thread, multiple threads\r
331 echo    transmete - transaction test: multi threads == endpoints\r
332 echo    perf - Performance test\r
333 echo    threads - multi-threaded single transaction test.\r
334 echo    threadsm - multi: threads and endpoints, single transaction test.\r
335 echo    rdma-write - RDMA write\r
336 echo    rdma-read - RDMA read\r
337 echo    bw - bandwidth\r
338 echo    latb - latency tests, blocking for events\r
339 echo    latp - latency tests, polling for events\r
340 echo    lim - limit tests.\r
341 echo    regression {loopCnt,default=%LPS%} - regression + stress.\r
342 echo    interop {loopCnt,default=%LPS%} - 2007 OFA interoperability event tests.\r
343 goto rxt\r
344 \r
345 rem Execute the single daplest Command (CMD), observe -Q switch\r
346 :xcmd\r
347     set STIME=!DATE! !TIME!\r
348     if %QUIET% EQU 1 (\r
349         %CMD% > nul\r
350     ) else (\r
351         %CMD%\r
352     )\r
353     set ETIME=!DATE! !TIME!\r
354 \r
355     rem fall thru...\r
356 \r
357 :xit\r
358 \r
359 if !ERRORLEVEL! EQU 0 (\r
360         echo.\r
361         echo %0 %*\r
362         echo    Start %STIME% \r
363         echo    End   %ETIME%\r
364 )\r
365 :rxt\r
366 ENDLOCAL\r
367 exit /B !ERRORLEVEL!\r