]> git.openfabrics.org - ~ardavis/dapl.git/commitdiff
Add return codes to various functions.
authorStan Smith <stan.smith@intel.com>
Fri, 30 Jan 2009 17:48:26 +0000 (09:48 -0800)
committerArlin Davis <arlin.r.davis@intel.com>
Fri, 30 Jan 2009 17:48:26 +0000 (09:48 -0800)
Add script (batch file) for Windows testing.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
21 files changed:
test/dapltest/cmd/dapl_main.c
test/dapltest/common/dapl_endian.c
test/dapltest/dapltest.rc [deleted file]
test/dapltest/dirs [new file with mode: 0644]
test/dapltest/include/dapl_execute.h
test/dapltest/include/dapl_proto.h
test/dapltest/include/dapl_tdep.h
test/dapltest/makefile.wnd [deleted file]
test/dapltest/mdep/windows/dapl_mdep_user.c
test/dapltest/mdep/windows/dapl_mdep_user.h
test/dapltest/scripts/dt-cli.bat
test/dapltest/test/dapl_client.c
test/dapltest/test/dapl_execute.c
test/dapltest/test/dapl_fft_test.c
test/dapltest/test/dapl_limit.c
test/dapltest/test/dapl_performance_client.c
test/dapltest/test/dapl_transaction_test.c
test/dapltest/udapl/udapl_tdep.c
test/dapltest/windows/SOURCES [new file with mode: 0644]
test/dapltest/windows/dapltest.rc [new file with mode: 0644]
test/dapltest/windows/makefile [new file with mode: 0644]

index b6be403089cc80e93674ae1a71602805b5860167..c56237574bd3ed515c9a213c565012291ea38e5b 100644 (file)
@@ -45,6 +45,7 @@ int
 dapltest (int argc, char *argv[])
 {
     Params_t           *params_ptr;
+    DAT_RETURN  rc=DAT_SUCCESS;
 
     /* check memory leaking */
     /*
@@ -97,7 +98,7 @@ dapltest (int argc, char *argv[])
     }
     params_ptr->cpu_mhz = DT_Mdep_GetCpuMhz ();
     /* call the test-dependent code for invoking the actual test */
-    DT_Tdep_Execute_Test (params_ptr);
+    rc = DT_Tdep_Execute_Test (params_ptr);
 
     /* cleanup */
 
@@ -116,7 +117,7 @@ dapltest (int argc, char *argv[])
      * alloc_count); DT_Mdep_LockDestroy(&Alloc_Count_Lock);
      */
 
-    return ( 0 );
+    return ( rc );
 }
 
 
@@ -124,7 +125,7 @@ void
 Dapltest_Main_Usage (void)
 {
     DT_Mdep_printf ("USAGE:\n");
-    DT_Mdep_printf ("USAGE:     dapltest -T <Test_Type> [test-specific args]\n");
+    DT_Mdep_printf ("USAGE:     dapltest -T <Test_Type> [-D IA_name] [test-specific args]\n");
     DT_Mdep_printf ("USAGE:         where <Test_Type>\n");
     DT_Mdep_printf ("USAGE:         S = Run as a server\n");
     DT_Mdep_printf ("USAGE:         T = Transaction Test\n");
@@ -133,7 +134,9 @@ Dapltest_Main_Usage (void)
     DT_Mdep_printf ("USAGE:         L = Limit Test\n");
     DT_Mdep_printf ("USAGE:         F = FFT Test\n");
     DT_Mdep_printf ("USAGE:\n");
-    DT_Mdep_printf ("NOTE:\tRun as server taking defaults (dapltest -T S)\n");
+    DT_Mdep_printf ("USAGE:         -D Interface_Adapter {default ibnic0v2}\n");
+    DT_Mdep_printf ("USAGE:\n");
+    DT_Mdep_printf ("NOTE:\tRun as server taking defaults (dapltest -T S [-D ibnic0v2])\n");
     DT_Mdep_printf ("NOTE:         dapltest\n");
     DT_Mdep_printf ("NOTE:\n");
     DT_Mdep_printf ("NOTE:\tdapltest arguments may be supplied in a script file\n");
index 84ff57399f78ab3c16fb58314def6b34d99bb8e3..5c1846f66284c211a388aed86049381c9e7562d0 100644 (file)
@@ -94,6 +94,7 @@ DAT_UINT64
 DT_EndianMemAddress (DAT_UINT64 val)
 {
     DAT_UINT64      val64;
+
     if (DT_local_is_little_endian)
        return val;
     val64 = val;
diff --git a/test/dapltest/dapltest.rc b/test/dapltest/dapltest.rc
deleted file mode 100644 (file)
index 09fef62..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2007 Intel Corporation.  All rights reserved.
- *
- * This software is available to you under the OpenIB.org BSD license
- * below:
- *
- *     Redistribution and use in source and binary forms, with or
- *     without modification, are permitted provided that the following
- *     conditions are met:
- *
- *      - Redistributions of source code must retain the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer.
- *
- *      - Redistributions in binary form must reproduce the above
- *        copyright notice, this list of conditions and the following
- *        disclaimer in the documentation and/or other materials
- *        provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * $Id$
- */
-
-
-#include <oib_ver.h>
-
-#define VER_FILETYPE                           VFT_APP
-#define VER_FILESUBTYPE                                VFT2_UNKNOWN
-
-#if DBG
-#define VER_FILEDESCRIPTION_STR                "DAPL/DAT[2.0] test Application (Debug)"
-#define VER_INTERNALNAME_STR           "dapl2testd.exe"
-#define VER_ORIGINALFILENAME_STR       "dapl2testd.exe"
-
-#else
-#define VER_FILEDESCRIPTION_STR                "DAPL/DAT[2.0] test Application"
-#define VER_INTERNALNAME_STR           "dapl2test.exe"
-#define VER_ORIGINALFILENAME_STR       "dapl2test.exe"
-
-#endif
-
-#include <common.ver>
diff --git a/test/dapltest/dirs b/test/dapltest/dirs
new file mode 100644 (file)
index 0000000..f3b2bb0
--- /dev/null
@@ -0,0 +1 @@
+dirs = windows
index a5992f2d1115d3f4e9e40b7cce35f17c3aed4a0b..eb2d54a2f4ce0b428ad2c89f3b8373eedceee28a 100644 (file)
@@ -34,7 +34,7 @@
 #include "dapl_proto.h"
 #include "dapl_params.h"
 
-void
+DAT_RETURN
 DT_Execute_Test ( Params_t *params_ptr ) ;
 
 #endif
index 9de42e2750054c20703d191c82031784b67adcb2..d8be354fa36b5bfbb126b4a90e5db592428579ff 100644 (file)
@@ -67,6 +67,8 @@
 #include "dapl_transaction_stats.h"
 #include "dapl_version.h"
 
+#define DAT_ERROR(Type,SubType) ((DAT_RETURN)(DAT_CLASS_ERROR | Type | SubType))
+
 /*
  * Prototypes
  */
@@ -101,7 +103,7 @@ int             get_ep_connection_state (DT_Tdep_Print_Head* phead,
                                         DAT_EP_HANDLE ep_handle);
 
 /* dapl_client.c */
-void            DT_cs_Client (Params_t * params_ptr,
+DAT_RETURN      DT_cs_Client (Params_t * params_ptr,
                              char *dapl_name,
                              char *server_name,
                              DAT_UINT32 total_threads);
@@ -237,7 +239,7 @@ void            DT_Performance_Cmd_PT_Print (DT_Tdep_Print_Head* phead,
 void            DT_Performance_Cmd_Endian (Performance_Cmd_t * cmd);
 
 /* dapl_performance_client.c */
-void            DT_Performance_Test_Client (   Params_t        *params_ptr,
+DAT_RETURN      DT_Performance_Test_Client ( Params_t  *params_ptr,
                                               Per_Test_Data_t * pt_ptr,
                                               DAT_IA_HANDLE * ia_handle,
                                               DAT_IA_ADDRESS_PTR remote);
@@ -249,7 +251,7 @@ bool            DT_Performance_Test_Client_Connect (
 bool            DT_Performance_Test_Client_Exchange (
        Params_t           *params_ptr,
        DT_Tdep_Print_Head *phead,
-       Performance_Test_t *test_ptr);
+                                       Performance_Test_t *test_ptr );
 
 /* dapl_performance_server.c */
 void            DT_Performance_Test_Server (void * pt_ptr);
@@ -467,7 +469,7 @@ void            DT_Transaction_Cmd_PT_Print (DT_Tdep_Print_Head* phead,
 void            DT_Transaction_Cmd_Endian (Transaction_Cmd_t * cmd,
                                           bool to_wire);
 /* dapl_transaction_test.c */
-void            DT_Transaction_Test_Client (Per_Test_Data_t * pt_ptr,
+DAT_RETURN      DT_Transaction_Test_Client (Per_Test_Data_t * pt_ptr,
                                            DAT_IA_HANDLE ia_handle,
                                            DAT_IA_ADDRESS_PTR remote);
 
@@ -557,7 +559,7 @@ bool            DT_Limit_Cmd_Parse ( Limit_Cmd_t * cmd,
 void       DT_Limit_Cmd_Usage (void);
 
 /* dapl_limit.c */
-void        DT_cs_Limit (Params_t *params, Limit_Cmd_t * cmd);
+DAT_RETURN  DT_cs_Limit (Params_t *params, Limit_Cmd_t * cmd);
 
 /* dapl_fft_cmd.c */
 void       DT_FFT_Cmd_Init ( FFT_Cmd_t * cmd);
@@ -570,7 +572,7 @@ bool            DT_FFT_Cmd_Parse ( FFT_Cmd_t * cmd,
 void       DT_FFT_Cmd_Usage (void);
 
 /* dapl_fft_test.c */
-void       DT_cs_FFT (Params_t *params, FFT_Cmd_t * cmd);
+DAT_RETURN  DT_cs_FFT (Params_t *params, FFT_Cmd_t * cmd);
 
 /* dapl_fft_hwconn.c */
 void       DT_hwconn_test (Params_t *params_ptr, FFT_Cmd_t *cmd);
index bf314c3895fc6510612ac95cfd18d0da40daeb2a..ccddce5caea32485f20f9ece5e0dfbbad6c38434 100644 (file)
@@ -44,7 +44,7 @@ DT_Tdep_Init ( void ) ;
 void
 DT_Tdep_End ( void ) ;
 
-void
+DAT_RETURN
 DT_Tdep_Execute_Test ( Params_t *params_ptr ) ;
 
 DAT_RETURN
diff --git a/test/dapltest/makefile.wnd b/test/dapltest/makefile.wnd
deleted file mode 100644 (file)
index e26e1c0..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source
-# file to this component.  This file merely indirects to the real make file
-# that is shared by all the driver components of the OpenIB Windows project.
-#
-
-!INCLUDE ..\..\..\..\inc\openib.def
index 0b9321c6de124f4d1e685ec6437baee36a12ad9e..afc12d370d684937717e70f2cb0ab449f537f6f0 100644 (file)
@@ -140,7 +140,7 @@ DT_Mdep_GetCpuMhz (
 
 
 unsigned long
-DT_Mdep_GetContextSwitchNum (void )
+DT_Mdep_GetContextSwitchNum (void)
 {
     return 0;
 }
@@ -273,7 +273,7 @@ DT_Mdep_Thread_Start_Routine (void *thread_handle)
  * interface to clean up resources properly at
  * thread's end.
  */
-void DT_Mdep_Thread_Detach ( int thread_id )  /* AMM */
+void DT_Mdep_Thread_Detach (DT_Mdep_ThreadHandleType  thread_id )  /* AMM */
 {
 }
 
@@ -283,9 +283,8 @@ void DT_Mdep_Thread_Detach ( int thread_id )  /* AMM */
  *  upon themselves.
  */
 
-int DT_Mdep_Thread_SELF (void) /* AMM */
+DT_Mdep_ThreadHandleType DT_Mdep_Thread_SELF (void)    /* AMM */
 {
-
     return 0;
 }
 
index 6dd3f7ffaa370877fe28832591cc5688a645c98e..7b7a845c3e6e4ae63572fe5ce3eba16a895b9533 100644 (file)
@@ -48,7 +48,7 @@
 # include <ws2tcpip.h>
 
 /* Default Device Name */
-#define DT_MdepDeviceName    "ibnic0"
+#define DT_MdepDeviceName    "ibnic0v2"
 
 /* Boolean */
 typedef int     bool;
index acd06df6e870f5e6d255d343ee5390ebfe94167d..ddf5eaabd7f0f1d30939de09fcb5785791811c3b 100644 (file)
@@ -5,6 +5,15 @@ rem
 
 SETLOCAL
 
+rem cmd.exe /V:on (delayed environment variable expansion) is required!
+rem restart with /V:on if necessary
+set F=on
+set F=off
+if not "!F!" == "off" (
+   %comspec% /E:on /V:on /C %0 %1 %2 %3 %4
+   exit /B %ERRORLEVEL%
+)
+
 rem set DAT_OVERRIDE=D:\dapl2\dat.conf
 rem favor DAT 2.0 (dapl2test.exe) over DAT 1.1 (dapltest.exe)
 
@@ -19,6 +28,7 @@ if "%0" == "dt-cli" (
     if EXIST %PF%\dapl2test.exe (
         set DT=dapl2test.exe
         set D=ibnic0v2
+rem     To debug dapl2test - use dapl2testd.exe with ibnic0v2d
         goto OK
     )
 )
@@ -78,55 +88,88 @@ rem             client SR  1024 3 -f server SR   256 3 -f
 if "%T%" == "conn" (
 rem Connectivity test - client sends one buffer with one 4KB segments, one time.
 rem add '-d' for debug output.
+    echo Simple Connectivity test
     %DT% -T T -s %S% -D %D% -i 1 -t 1 -w 1 client SR 4096 server SR 4096
     exit /B
 )
 
 if "%T%" == "trans" (
-    echo Transaction test - 8192 iterations, 1 thread, SR 4KB buffers
+    echo %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers
    %DT% -T T -s %S% -D %D% -i 8192 -t 1 -w 1 client SR 4096 server SR 4096
+    echo Finished %T%: Transaction test - 8192 iterations, 1 thread, SR 4KB buffers
     exit /B
 )
 
 if "%T%" == "transm" (
-    echo Multiple RW, RR, SR transactions, 4096 iterations
+    echo %T%: Multiple RW, RR, SR transactions, 4096 iterations
     %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
+    echo Finished %T%: Multiple RW, RR, SR transactions, 4096 iterations
     exit /B
 )
 
 if "%T%" == "transt" (
-    echo Multi-threaded[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers
+    echo %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers
    %DT% -T T -s %S% -D %D% -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3
+    echo Finished %T%: Threads[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers
     exit /B
 )
 
 if "%T%" == "transme" (
-    echo Multiple endpoints[4] transactions [RW, RR, SR], 4096 iterations
+    echo %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations
     %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
+    echo Finished %T%: 1 Thread Endpoints[4] transactions [RW, RR, SR], 4096 iterations
     exit /B
 )
 
 if "%T%" == "transmet" (
-    echo Multiple: threads[2] endpoints[4] transactions[RW, RR, SR], 4096 iterations
+    echo %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations
     %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
+    echo Finished %T%: Threads[2] Endpoints[4] transactions[RW, RR, SR], 4096 iterations
     exit /B
 )
 
 if "%T%" == "transmete" (
-    echo Multiple: threads[4] endpoints[4] transactions[RW, RR, SR], 8192 iterations
+    echo %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations
     %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
+    echo Finished %T%: Threads[4] Endpoints[4] transactions[RW, RR, SR], 8192 iterations
+    exit /B
+)
+
+if "%T%" == "EPA" (
+    FOR /L %%j IN (2,1,5) DO (
+        FOR /L %%i IN (1,1,5) DO (
+             echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs
+             %DT% -T T -s %S% -D %D% -i 4096 -t %%j -w %%i client SR 8192 3 server SR 8192 3
+             if ERRORLEVEL 1 exit /B 
+             echo %T%: Multi: Threads[%%j] Endpoints[%%i] Send/Recv test - 4096 iterations, 3 8K segs
+             timeout /T 3
+        )
+    )
+    exit /B 
+)
+
+if "%T%" == "EP" (
+    set TH=4
+    set EP=5
+    echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
+    %DT% -T T -s %S% -D %D% -i 4096 -t !TH! -w !EP! client SR 8192 3 server SR 8192 3
+    echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
     exit /B
 )
 
 if "%T%" == "threads" (
-    echo Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs
+    echo %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs
     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3
+    echo Finished %T%: Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs
     exit /B
 )
 
 if "%T%" == "threadsm" (
-    echo Multi: Threads[6] endpoints[6] Send/Recv test - 4096 iterations, 3 8K segs
+    set TH=4
+    set EP=5
+    echo %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
     %DT% -T T -s %S% -D %D% -i 4096 -t 6 -w 6 client SR 8192 3 server SR 8192 3
+    echo Finished %T%: Multi: Threads[!TH!] endpoints[!EP!] Send/Recv test - 4096 iterations, 3 8K segs
     exit /B
 )
 
@@ -137,18 +180,23 @@ if "%T%" == "perf" (
 )
 
 if "%T%" == "rdma-read" (
+    echo %T% 4 32K segs
     %DT% -T P -s %S% -D %D% -i 4096 RR 32768 4
+    echo Finished %T% 4 32K segs
     exit /B
 )
 
 if "%T%" == "rdma-write" (
+    echo %T% 4 32K segs
     %DT% -T P -s %S% -D %D% -i 4096 RW 32768 4
+    echo Finished %T% 4 32K segs
     exit /B
 )
 
 if "%T%" == "bw" (
-    echo bandwidth 65K msgs
+    echo bandwidth 4096 iterations of 2 65K mesgs
     %DT% -T P -s %S% -D %D% -i 4096 -p 16 -m p RW 65536 2 
+    echo Finished bandwidth 4096 iterations of 2 65K mesgs
     exit /B
 )
 
@@ -190,43 +238,61 @@ if "%T%" == "regression" (
     echo %T% testing in %L% Loops
     REM rdma-write, read, perf
     FOR /L %%i IN (1,1,%L%) DO (
+
          call %0 %1 trans
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 perf
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 threads
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 threadsm
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 transm
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 transt
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 transme
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 transmet
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 transmete
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 rdma-write
          if ERRORLEVEL 1 exit /B
          timeout /T 3
 
+         echo in Loop %%i
          call %0 %1 rdma-read
          if ERRORLEVEL 1 exit /B
 
+         echo in Loop %%i
          call %0 %1 bw
          if ERRORLEVEL 1 exit /B
-         echo %%i %T% loops completed.
+
+         echo in Loop %%i
+         call %0 %1 EP
+         if ERRORLEVEL 1 exit /B
+
+         echo Finished loop %%i, %T% loops completed.
+         timeout /T 4
     )
     exit /B
 )
@@ -245,36 +311,47 @@ if "%T%" == "interop" (
     echo %T% testing in %L% Loops
     REM test units from Nov-'07 OFA interop event
     FOR /L %%i IN (0,1,1) DO (
+         echo %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1
          %DT% -T T -s %S% -D %D% -i 4096 -t 1 -w 1 -R BE client SR 256 1 server SR 256 1
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2
          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 8192 2
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2
          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 2
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         echo %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1
          %DT% -T P -s %S% -D %D% -i 1024 -p 64 -m p RW 4096 1
          if ERRORLEVEL 1 exit /B
          timeout /T 3
+         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
          %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
          if ERRORLEVEL 1 exit /B
          echo %%i %T% loops completed.
@@ -290,7 +367,9 @@ if "%T%" == "stop" (
 echo usage: dt-cli hostname [testname [-D]]
 echo   where testname
 echo     stop - request DAPLtest server to exit.
-echo     conn - simple connection with limited dater transfer
+echo     conn - simple connection test with limited data transfer
+echo     EP - Multiple EndPoints(7) and Threads(5) Transactions
+echo     EPA - Increment EndPoints[1..5] while increasing threads[1-5]
 echo     trans - single transaction test
 echo     transm - transaction test: multiple transactions [RW SND, RDMA]
 echo     transt - transaction test: multi-threaded
index 732c4c613220450466752f5e25725e353f3582c0..fa382505a7d4c455935c06713483d2ea643f14db 100644 (file)
@@ -41,7 +41,7 @@
  * Client control routine Connect to the server, send the command across.
  * Then start the client-side of the test - creating threads as needed
  */
-void
+DAT_RETURN
 DT_cs_Client (Params_t * params_ptr,
          char *dapl_name,
          char *server_name,
@@ -69,7 +69,7 @@ DT_cs_Client (Params_t * params_ptr,
     DAT_DTO_COMPLETION_EVENT_DATA dto_stat;
     DAT_EVENT_NUMBER    event_num;
     unsigned char *     buffp;
-    DAT_RETURN          ret;
+    DAT_RETURN          ret, rc;
     DT_Tdep_Print_Head *phead;
 
     phead = params_ptr->phead;
@@ -83,7 +83,7 @@ DT_cs_Client (Params_t * params_ptr,
     if (!pt_ptr)
     {
        DT_Tdep_PT_Printf (phead, "%s: no memory for Per_Test_Data\n", module);
-       return;
+       return DAT_INSUFFICIENT_RESOURCES;
     }
     DT_MemListInit (pt_ptr);       /* init MemlistLock and memListHead */
     DT_Thread_Init (pt_ptr);       /* init ThreadLock and threadcount */
@@ -199,6 +199,7 @@ DT_cs_Client (Params_t * params_ptr,
     if (!DT_query (pt_ptr, ia_handle, ep_handle) ||
        !DT_check_params (pt_ptr, module))
     {
+       ret = DAT_INSUFFICIENT_RESOURCES;
        goto client_exit;
     }
 
@@ -218,6 +219,7 @@ DT_cs_Client (Params_t * params_ptr,
        DT_Tdep_PT_Printf (phead, 
                         "%s: no memory for command buffer pool.\n", 
                         module);
+       ret = DAT_ERROR(DAT_INSUFFICIENT_RESOURCES,DAT_RESOURCE_MEMORY); 
        goto client_exit;
     }
 
@@ -238,11 +240,12 @@ retry_repost:
                               ep_handle,
                               bpool,
                               0,
-                              DT_Bpool_GetBuffSize (bpool, 0)))
+                             DT_Bpool_GetBuffSize (bpool, 0)) )
     {
        DT_Tdep_PT_Printf (phead,
                         "%s: cannot post Server_Info recv buffer.\n", 
                         module);
+       ret = DAT_INSUFFICIENT_RESOURCES; 
        goto client_exit;
     }
 
@@ -284,11 +287,9 @@ retry:
            dat_ep_reset (ep_handle);
            do
            {
-
-               ret = DT_Tdep_evd_dequeue ( recv_evd_hdl,
-                                       &event);
+               rc = DT_Tdep_evd_dequeue ( recv_evd_hdl, &event);
                drained++;
-           } while (DAT_GET_TYPE(ret) != DAT_QUEUE_EMPTY);
+           } while (DAT_GET_TYPE(rc) != DAT_QUEUE_EMPTY);
 
            if (drained > 1 && retry_cnt < MAX_CONN_RETRY)
            {
@@ -300,6 +301,7 @@ retry:
                goto retry;
            }
        }
+       ret = DAT_INSUFFICIENT_RESOURCES;
        DT_Tdep_PT_Printf (phead, "%s: bad connection event\n", module);
        goto client_exit;
     }
@@ -328,9 +330,10 @@ retry:
                                ep_handle,
                                bpool,
                                1,
-                               DT_Bpool_GetBuffSize (bpool, 1)))
+                              DT_Bpool_GetBuffSize (bpool, 1)) )
     {
        DT_Tdep_PT_Printf (phead, "%s: cannot send Client_Info\n", module);
+       ret = DAT_INSUFFICIENT_RESOURCES; 
        goto client_exit;
     }
     /* reap the send and verify it */
@@ -344,8 +347,9 @@ retry:
                        ep_handle,
                        DT_Bpool_GetBuffSize (bpool, 1),
                        dto_cookie,
-                       "Client_Info_Send"))
+                       "Client_Info_Send") )
     {
+       ret = DAT_INSUFFICIENT_RESOURCES;
        goto client_exit;
     }
 
@@ -386,6 +390,7 @@ retry:
        default:
        {
            DT_Tdep_PT_Printf (phead, "Unknown Test Type\n");
+           ret = DAT_INVALID_PARAMETER; 
            goto client_exit;
        }
     }
@@ -395,9 +400,10 @@ retry:
                                ep_handle,
                                bpool,
                                2,
-                               DT_Bpool_GetBuffSize (bpool, 2)))
+                              DT_Bpool_GetBuffSize (bpool, 2)) )
     {
        DT_Tdep_PT_Printf (phead, "%s: cannot send Command\n", module);
+       ret = DAT_INSUFFICIENT_RESOURCES;
        goto client_exit;
     }
     /* reap the send and verify it */
@@ -412,8 +418,9 @@ retry:
                        ep_handle,
                        DT_Bpool_GetBuffSize (bpool, 2),
                        dto_cookie,
-                       "Client_Cmd_Send"))
+                       "Client_Cmd_Send") )
     {
+       ret = DAT_INSUFFICIENT_RESOURCES; 
        goto client_exit;
     }
 
@@ -427,8 +434,9 @@ retry:
                        ep_handle,
                        DT_Bpool_GetBuffSize (bpool, 0),
                        dto_cookie,
-                       "Server_Info_Recv"))
+                       "Server_Info_Recv") )
     {
+       ret = DAT_INSUFFICIENT_RESOURCES; 
        goto client_exit;
     }
 
@@ -447,6 +455,7 @@ retry:
                 module,
                 pt_ptr->Server_Info.dapltest_version,
                 DAPLTEST_VERSION);
+       ret = DAT_MODEL_NOT_SUPPORTED;
        goto client_exit;
     }
     DT_Tdep_PT_Debug (1,(phead, "%s: Version OK!\n", module));
@@ -467,7 +476,7 @@ retry:
            {
                DT_Transaction_Cmd_PT_Print (phead, Transaction_Cmd);
            }
-           DT_Transaction_Test_Client (pt_ptr,
+           ret = DT_Transaction_Test_Client (pt_ptr,
                                    ia_handle,
                                    server_netaddr);
            break;
@@ -476,6 +485,7 @@ retry:
     case QUIT_TEST:
     {
        DT_Quit_Cmd_PT_Print (phead, Quit_Cmd);
+           ret = DAT_SUCCESS;
         break;
     }
 
@@ -486,7 +496,7 @@ retry:
                DT_Performance_Cmd_PT_Print (phead, Performance_Cmd);
            }
                        
-           DT_Performance_Test_Client (params_ptr,
+           ret = DT_Performance_Test_Client (params_ptr,
                                        pt_ptr,
                                       ia_handle,
                                       server_netaddr);
@@ -496,6 +506,7 @@ retry:
 
     /*********************************************************************
      * Done - clean up and go home
+     * ret == function DAT_RETURN return code
      */
 client_exit:
     DT_Tdep_PT_Debug (1,(phead, "%s: Cleaning Up ...\n", module));
@@ -507,13 +518,13 @@ client_exit:
         * graceful attempt might fail because we got here due to
         * some error above, so we may as well try harder.
         */
-       ret = dat_ep_disconnect (ep_handle, DAT_CLOSE_ABRUPT_FLAG);
-       if (ret != DAT_SUCCESS)
+       rc = dat_ep_disconnect (ep_handle, DAT_CLOSE_ABRUPT_FLAG);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                            "%s: dat_ep_disconnect (abrupt) error: %s\n",
                            module,
-                           DT_RetToString (ret));
+                           DT_RetToString (rc));
        }
        else if (did_connect &&
                    !DT_disco_event_wait (phead, conn_evd_hdl, NULL))
@@ -535,17 +546,17 @@ client_exit:
         */
        do
        {
-           ret = DT_Tdep_evd_dequeue ( recv_evd_hdl,
+           rc = DT_Tdep_evd_dequeue ( recv_evd_hdl,
                                   &event);
-       } while (ret == DAT_SUCCESS);
+       } while (rc == DAT_SUCCESS);
 
-       ret = dat_ep_free (ep_handle);
-       if (ret != DAT_SUCCESS)
+       rc = dat_ep_free (ep_handle);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                             "%s: dat_ep_free error: %s\n",
                              module, 
-                             DT_RetToString (ret));
+                             DT_RetToString (rc));
            /* keep going */
        }
     }
@@ -553,37 +564,37 @@ client_exit:
     /* Free the 3 EVDs */
     if (conn_evd_hdl)
     {
-       ret = DT_Tdep_evd_free (conn_evd_hdl);
-       if (ret != DAT_SUCCESS)
+       rc = DT_Tdep_evd_free (conn_evd_hdl);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                             "%s: dat_evd_free (conn) error: %s\n",
                             module, 
-                            DT_RetToString (ret));
+                            DT_RetToString (rc));
            /* keep going */
        }
     }
     if (reqt_evd_hdl)
     {
-       ret = DT_Tdep_evd_free (reqt_evd_hdl);
-       if (ret != DAT_SUCCESS)
+       rc = DT_Tdep_evd_free (reqt_evd_hdl);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                             "%s: dat_evd_free (reqt) error: %s\n",
                             module, 
-                            DT_RetToString (ret));
+                            DT_RetToString (rc));
            /* keep going */
        }
     }
     if (recv_evd_hdl)
     {
-       ret = DT_Tdep_evd_free (recv_evd_hdl);
-       if (ret != DAT_SUCCESS)
+       rc = DT_Tdep_evd_free (recv_evd_hdl);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                             "%s: dat_evd_free (recv) error: %s\n",
                             module, 
-                            DT_RetToString (ret));
+                            DT_RetToString (rc));
            /* keep going */
        }
     }
@@ -591,13 +602,13 @@ client_exit:
     /* Free the PZ */
     if (pz_handle)
     {
-       ret = dat_pz_free (pz_handle);
-       if (ret != DAT_SUCCESS)
+       rc = dat_pz_free (pz_handle);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                             "%s: dat_pz_free error: %s\n",
                             module, 
-                            DT_RetToString (ret));
+                            DT_RetToString (rc));
            /* keep going */
        }
     }
@@ -606,20 +617,20 @@ client_exit:
     if (ia_handle)
     {
        /* dat_ia_close cleans up async evd handle, too */
-       ret = dat_ia_close (ia_handle, DAT_CLOSE_GRACEFUL_FLAG);
-       if (ret != DAT_SUCCESS)
+       rc = dat_ia_close (ia_handle, DAT_CLOSE_GRACEFUL_FLAG);
+       if (rc != DAT_SUCCESS)
        {
            DT_Tdep_PT_Printf (phead, 
                             "%s: dat_ia_close (graceful) error: %s\n",
                             module, 
-                            DT_RetToString (ret));
-           ret = dat_ia_close (ia_handle, DAT_CLOSE_ABRUPT_FLAG);
-           if (ret != DAT_SUCCESS)
+                            DT_RetToString (rc));
+           rc = dat_ia_close (ia_handle, DAT_CLOSE_ABRUPT_FLAG);
+           if (rc != DAT_SUCCESS)
            {
                DT_Tdep_PT_Printf (phead, 
                                 "%s: dat_ia_close (abrupt) error: %s\n",
                                 module, 
-                                DT_RetToString (ret));
+                                DT_RetToString (rc));
            }
            /* keep going */
        }
@@ -638,4 +649,5 @@ client_exit:
     DT_Tdep_PT_Printf (phead, 
                     "%s: ========== End of Work -- Client Exiting\n", 
                     module);
+    return ret;
 }
index 77b61f21907e38cb5f6f7987dc58b0ddb553886f..7987f3f5daf061a07977f8311880a97adb0c82ea 100644 (file)
 #include "dapl_quit_cmd.h"
 #include "dapl_limit_cmd.h"
 
-void
+DAT_RETURN
 DT_Execute_Test (Params_t *params_ptr)
 {
+    DAT_RETURN          rc = DAT_SUCCESS;
     Transaction_Cmd_t   *Transaction_Cmd;
     Quit_Cmd_t          *Quit_Cmd;
     Limit_Cmd_t         *Limit_Cmd;
@@ -58,45 +59,44 @@ DT_Execute_Test (Params_t *params_ptr)
        case TRANSACTION_TEST:
        {
            Transaction_Cmd = &params_ptr->u.Transaction_Cmd;
-           DT_cs_Client ( params_ptr,
+           rc = DT_cs_Client ( params_ptr,
                          Transaction_Cmd->dapl_name,
                          Transaction_Cmd->server_name,
                          Transaction_Cmd->num_threads *
-                         Transaction_Cmd->eps_per_thread);
+                               Transaction_Cmd->eps_per_thread );
            break;
        }
        case QUIT_TEST:
        {
            Quit_Cmd = &params_ptr->u.Quit_Cmd;
-           DT_cs_Client ( params_ptr,
+           (void) DT_cs_Client ( params_ptr,
                          Quit_Cmd->device_name,
                          Quit_Cmd->server_name,
-                         0);
+                                 0 );
            break;
        }
        case LIMIT_TEST:
        {
            Limit_Cmd = &params_ptr->u.Limit_Cmd;
-           DT_cs_Limit (params_ptr, 
-                        Limit_Cmd);
+           rc = DT_cs_Limit (params_ptr, Limit_Cmd);
            break;
        }
        case PERFORMANCE_TEST:
        {
            Performance_Cmd = &params_ptr->u.Performance_Cmd;
-           DT_cs_Client ( params_ptr,
+           rc = DT_cs_Client ( params_ptr,
                          Performance_Cmd->dapl_name,
                          Performance_Cmd->server_name,
-                         1);
+                               1 );
            break;
        }
 
        case FFT_TEST:
        {
            FFT_Cmd = &params_ptr->u.FFT_Cmd;
-           DT_cs_FFT (params_ptr, 
-                      FFT_Cmd);
+           rc = DT_cs_FFT (params_ptr, FFT_Cmd);
            break;
        }
     }
+    return rc;
 }
index 05c782af7cb8f5f35d65e879389f89d90c239e5d..0a58e13f96f7f1262cd20c410fe93ca6998be71d 100644 (file)
 
 #include "dapl_proto.h"
 
-void
+DAT_RETURN
 DT_cs_FFT (Params_t *params_ptr, FFT_Cmd_t * cmd)
 {
     DT_Tdep_Print_Head *phead;
+    DAT_RETURN         rc = DAT_SUCCESS;
 
     phead = params_ptr->phead;
 
@@ -85,8 +86,10 @@ DT_cs_FFT (Params_t *params_ptr, FFT_Cmd_t * cmd)
        default:
        {
            DT_Tdep_PT_Printf (phead, "don't know this test\n");
+            rc = DAT_INVALID_PARAMETER;
            break;
        }
     }
+    return rc;
 }
 
index 133b3e05a50b7113718b5e58f175ebd2f4f5f662..78e5f146b405135edf6c2792fa3d39bb172a0ed4 100644 (file)
 
 static bool
 more_handles (DT_Tdep_Print_Head *phead,
-            void **old_ptrptr, /* pointer to current pointer   */
+            DAT_HANDLE **old_ptrptr,   /* pointer to current pointer   */
             unsigned int *old_count,   /* number  pointed to           */
             unsigned int size)         /* size of one datum            */
 {
     unsigned int count      = *old_count;
-    void *old_handles = *old_ptrptr;
-    void *handle_tmp  = DT_Mdep_Malloc (count * 2 * size);
+    DAT_HANDLE  *old_handles = *old_ptrptr;
+    DAT_HANDLE  *handle_tmp  = DT_Mdep_Malloc (count * 2 * size);
 
     if (!handle_tmp)
     {
@@ -172,8 +172,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
        }
        OneOpen;
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc (count * sizeof(OneOpen));
-       OneOpen *hdlptr = (OneOpen *)hptr;
+       OneOpen      *hdlptr    = (OneOpen *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
 
        /* IA Exhaustion test loop */
        if (hdlptr)
@@ -186,13 +186,14 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles (phead, &hptr, &count, sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: IAs opened: %d\n", module, w);
                    retval = true;
                    break;
                }
-               hdlptr  = (OneOpen *)hptr;
                /* Specify that we want to get back an async EVD.  */
                hdlptr[w].ia_async_handle = DAT_HANDLE_NULL;
                ret = dat_ia_open (cmd->device_name,
@@ -270,8 +271,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many PZs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc (count * sizeof(DAT_PZ_HANDLE));
-       DAT_PZ_HANDLE *hdlptr = (DAT_PZ_HANDLE *)hptr;
+       DAT_PZ_HANDLE *hdlptr   = (DAT_PZ_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
 
        /* PZ Exhaustion test loop */
        if (hdlptr)
@@ -286,13 +287,14 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles(phead, &hptr, &count, sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: PZs created: %d\n", module, w);
                    retval = true;
                    break;
                }
-               hdlptr = (DAT_PZ_HANDLE *)hptr;
                ret = dat_pz_create (hdl_sets[w % cmd->width].ia_handle,
                                    &hdlptr[w]);
                if (ret != DAT_SUCCESS)
@@ -367,8 +369,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many CNOs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc (count * sizeof(DAT_CNO_HANDLE));
-       DAT_CNO_HANDLE *hdlptr = (DAT_CNO_HANDLE *)hptr;
+       DAT_CNO_HANDLE *hdlptr  = (DAT_CNO_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
                                    
        /* CNO Exhaustion test loop */
        if (hdlptr)
@@ -383,13 +385,14 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles(phead, &hptr, &count, sizeof (*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: CNOs created: %d\n", module, w);
                    retval = true;
                    break;
                }
-               hdlptr = (DAT_CNO_HANDLE *)hptr;
                ret = dat_cno_create (hdl_sets[w % cmd->width].ia_handle,
                                    DAT_OS_WAIT_PROXY_AGENT_NULL,
                                    &hdlptr[w]);
@@ -487,9 +490,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many EVDs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc(count * sizeof(DAT_EVD_HANDLE));
-       DAT_EVD_HANDLE *hdlptr = (DAT_EVD_HANDLE *)hptr;
-                                   
+       DAT_EVD_HANDLE *hdlptr  = (DAT_EVD_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
        DAT_EVD_FLAGS flags     = (   DAT_EVD_DTO_FLAG
                                    | DAT_EVD_RMR_BIND_FLAG
                                    | DAT_EVD_CR_FLAG);
@@ -522,13 +524,14 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles(phead, &hptr, &count, sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: EVDs created: %d\n", module, w);
                    retval = true;
                    break;
                }
-               hdlptr = (DAT_EVD_HANDLE *)hptr;
                ret = DT_Tdep_evd_create (hdl_sets[w % cmd->width].ia_handle,
                                    DFLT_QLEN,
                                    hdl_sets[w % cmd->width].cno_handle,
@@ -606,8 +609,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many EPs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc(count * sizeof(DAT_EP_HANDLE));
-       DAT_EP_HANDLE *hdlptr = (DAT_EP_HANDLE *)hptr;
+       DAT_EP_HANDLE *hdlptr   = (DAT_EP_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
 
        /* EP Exhaustion test loop */
        if (hdlptr)
@@ -620,13 +623,14 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles(phead, &hptr, &count, sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: EPs created: %d\n", module, w);
                    retval = true;
                    break;
                }
-               hdlptr = (DAT_EP_HANDLE *)hptr;
                ret = dat_ep_create (hdl_sets[w % cmd->width].ia_handle,
                                    hdl_sets[w % cmd->width].pz_handle,
                                    hdl_sets[w % cmd->width].evd_handle,
@@ -676,10 +680,10 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many RSPs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc(count * sizeof (DAT_RSP_HANDLE));
-       DAT_RSP_HANDLE *hdlptr  = (DAT_RSP_HANDLE *)hptr;
-       void *eptr = DT_Mdep_Malloc(count * sizeof (DAT_EP_HANDLE));                       
-       DAT_EP_HANDLE *epptr = (DAT_EP_HANDLE *)eptr;
+       DAT_RSP_HANDLE *hdlptr  = (DAT_RSP_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
+       DAT_EP_HANDLE *epptr    = (DAT_EP_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*epptr));
 
        /* RSP Exhaustion test loop */
        if (hdlptr)
@@ -696,21 +700,23 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    unsigned int count1 = count;
                    unsigned int count2 = count;
 
-                   if (!more_handles(phead, &hptr, &count1, sizeof(*hdlptr)))
+                   if (!more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                      &count1,
+                                      sizeof (*hdlptr)))
                    {
                        DT_Tdep_PT_Printf (phead, "%s: RSPs created: %d\n", module, w);
                        retval = true;
                        break;
                    }
-                   hdlptr = (DAT_RSP_HANDLE *)hptr;
-                   
-                   if (!more_handles (phead, &eptr, &count2, sizeof(*epptr)))
+                   if (!more_handles (phead, (DAT_HANDLE **) &epptr,
+                                      &count2,
+                                      sizeof (*epptr)))
                    {
                        DT_Tdep_PT_Printf (phead, "%s: RSPs created: %d\n", module, w);
                        retval = true;
                        break;
                    }
-                   epptr = (DAT_EP_HANDLE *)eptr;
+
                    if (count1 != count2)
                    {
                        DT_Tdep_PT_Printf (phead, "%s: Mismatch in allocation of handle arrays at point %d\n",
@@ -810,8 +816,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many PSPs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc (count * sizeof (DAT_PSP_HANDLE));
-       DAT_PSP_HANDLE *hdlptr  = (DAT_PSP_HANDLE *)hptr;
+       DAT_PSP_HANDLE *hdlptr  = (DAT_PSP_HANDLE *)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
 
        /* PSP Exhaustion test loop */
        if (hdlptr)
@@ -824,13 +830,14 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();    
                if (w == count
-                   && !more_handles (phead, &hptr, &count, sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: PSPs created: %d\n", module, w);
                    retval = true;
                    break;
                }
-               hdlptr = (DAT_PSP_HANDLE *)hptr;
                ret = dat_psp_create (hdl_sets[w % cmd->width].ia_handle,
                                    CONN_QUAL0 + w,
                                    hdl_sets[w % cmd->width].evd_handle,
@@ -935,8 +942,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * See how many LMRs we can create
         */
        unsigned int count = START_COUNT;
-       void *hptr = DT_Mdep_Malloc (count * sizeof(Bpool*)); 
-       Bpool **hdlptr = (Bpool **)hptr;
+       Bpool        **hdlptr   = (Bpool **)
+                                   DT_Mdep_Malloc (count * sizeof (*hdlptr));
                                    
        /* LMR Exhaustion test loop */
        if (hdlptr)
@@ -949,7 +956,9 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles (phead, &hptr, &count, sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: no memory for LMR handles\n",
                                        module);
@@ -957,7 +966,6 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    retval = true;
                    break;
                }
-               hdlptr = (Bpool **)hptr;
                /*
                 * Let BpoolAlloc do the hard work; this means that
                 * we're testing unique memory registrations rather
@@ -1010,9 +1018,8 @@ limit_test ( DT_Tdep_Print_Head *phead,
         * but that should be OK.
         */
        unsigned int count = START_COUNT;
-       void *hptr = 
-               DT_Mdep_Malloc(count * cmd->width * sizeof(DAT_LMR_TRIPLET));
-       DAT_LMR_TRIPLET *hdlptr = (DAT_LMR_TRIPLET *)hptr;
+       DAT_LMR_TRIPLET *hdlptr = (DAT_LMR_TRIPLET *)
+                       DT_Mdep_Malloc (count * cmd->width * sizeof (*hdlptr));
 
        /* Recv-Post Exhaustion test loop */
        if (hdlptr)
@@ -1026,8 +1033,9 @@ limit_test ( DT_Tdep_Print_Head *phead,
            {
                DT_Mdep_Schedule();
                if (w == count
-                   && !more_handles (phead, &hptr, &count,
-                                   cmd->width * sizeof(*hdlptr)))
+                   && !more_handles (phead, (DAT_HANDLE **) &hdlptr,
+                                   &count,
+                                   cmd->width * sizeof (*hdlptr)))
                {
                    DT_Tdep_PT_Printf (phead, "%s: no memory for IOVs \n",
                                        module);
@@ -1039,7 +1047,6 @@ limit_test ( DT_Tdep_Print_Head *phead,
                    done = retval = true;
                    break;
                }
-               hdlptr = (DAT_LMR_TRIPLET *)hptr;
                for (i = 0;  i < cmd->width;  i++)
                {
                    DAT_LMR_TRIPLET  *iovp = &hdlptr[w * cmd->width + i];
@@ -1344,7 +1351,7 @@ clean_up_now:
 /*********************************************************************
  * Framework to run through all of the limit tests
  */
-void
+DAT_RETURN
 DT_cs_Limit (Params_t *params, Limit_Cmd_t * cmd)
 {
     DT_Tdep_Print_Head *phead;
@@ -1537,11 +1544,11 @@ DT_cs_Limit (Params_t *params, Limit_Cmd_t * cmd)
 
     /* More tests TBS ... */
 
-    return;
+    return DAT_SUCCESS;
 
 error:
     DT_Tdep_PT_Printf (phead, "error occurs, can not continue with limit test\n");
     DT_Tdep_PT_Printf (phead, "%s\n", star);
-    return;
+    return DAT_INSUFFICIENT_RESOURCES;
 }
 
index d1dec899e3e5507814dc746456385467f7a64bbe..42e8257cba9834d3993e35067aac948bb48f22e4 100644 (file)
@@ -33,7 +33,7 @@
 #define MAX_CONN_RETRY 8
 
 /****************************************************************************/
-void
+DAT_RETURN
 DT_Performance_Test_Client (
     Params_t           *params_ptr,
     Per_Test_Data_t    *pt_ptr,
@@ -43,6 +43,7 @@ DT_Performance_Test_Client (
     Performance_Test_t                 *test_ptr = NULL;
     int                        connected = 1;
     DT_Tdep_Print_Head         *phead;
+    DAT_RETURN                 rc;
 
     phead = pt_ptr->Params.phead;
 
@@ -85,6 +86,8 @@ DT_Performance_Test_Client (
 #endif
 
     DT_Tdep_PT_Debug (1,(phead,"Client: Finished performance test\n"));
+
+    return (connected ? DAT_SUCCESS : DAT_INSUFFICIENT_RESOURCES);
 }
 
 
index 82ee6f9a340d18d740c182b66e3916e58121ddf4..4abda1ed88f553b7c1e06ee0afc7493416bf6d6c 100644 (file)
@@ -48,7 +48,7 @@
 #define MAX_CONN_RETRY 8
 
 /****************************************************************************/
-void
+DAT_RETURN
 DT_Transaction_Test_Client (Per_Test_Data_t * pt_ptr,
                        DAT_IA_HANDLE ia_handle,
                        DAT_IA_ADDRESS_PTR remote_ia_addr)
@@ -56,6 +56,7 @@ DT_Transaction_Test_Client (Per_Test_Data_t * pt_ptr,
     Transaction_Cmd_t *cmd = &pt_ptr->Params.u.Transaction_Cmd;
     unsigned int    i;
     DT_Tdep_Print_Head *phead;
+    DAT_RETURN rc = DAT_SUCCESS;
 
     phead = pt_ptr->Params.phead;
 
@@ -77,6 +78,7 @@ DT_Transaction_Test_Client (Per_Test_Data_t * pt_ptr,
                                     remote_ia_addr))
        {
            DT_Tdep_PT_Printf (phead, "Client: Cannot Create Test!\n");
+           rc = DAT_INSUFFICIENT_RESOURCES;
            break;
        }
 
@@ -97,6 +99,7 @@ DT_Transaction_Test_Client (Per_Test_Data_t * pt_ptr,
                                    &pt_ptr->Client_Stats,
                                    cmd->num_threads,
                                    cmd->eps_per_thread);
+    return rc;
 }
 
 
@@ -1108,9 +1111,6 @@ retry:
      */
     success = DT_Transaction_Run (phead, test_ptr);
 
-    /* no sync at end of transaction run, wait before cleanup */
-    sleep(1);
-
     /*
      * Now clean up and go home
      */
@@ -1202,21 +1202,8 @@ test_failure:
                        if ( test_ptr->ep_context[j].ep_handle == ep_handle )
                        {
                            test_ptr->ep_context[j].ep_handle = NULL;
-                           break;
-                       }
                    }
-                    if (j == test_ptr->cmd->eps_per_thread)
-                    {
-                        /* invalid ep_handle returned */
-                        DT_Tdep_PT_Printf(phead,
-                                          "Test[" F64x "]: disconnect"
-                                          " event with unknown EP=%p "
-                                          " possible duplicate\n",
-                                          test_ptr->base_port,
-                                          ep_handle);
-                        ep_handle = NULL;
                     }
-
                }
            }
            else /* !success - QP may be in error state */
index 9b3c93f51027ed83cc7892f48dd2ffe336641b2f..da1269b1521ab98e0791300d1fca23fb5a53c567 100644 (file)
@@ -42,10 +42,10 @@ DT_Tdep_End (void)
     DT_Mdep_LockDestroy (&g_PerfTestLock); /* For kDAPL, this is done in kdapl_module.c */
 }
 
-void
+DAT_RETURN
 DT_Tdep_Execute_Test (Params_t *params_ptr)
 {
-    DT_Execute_Test (params_ptr);
+    return DT_Execute_Test (params_ptr);
 }
 
 DAT_RETURN
diff --git a/test/dapltest/windows/SOURCES b/test/dapltest/windows/SOURCES
new file mode 100644 (file)
index 0000000..9aee05b
--- /dev/null
@@ -0,0 +1,33 @@
+!if $(FREEBUILD)
+TARGETNAME = dapl2test
+!else
+TARGETNAME = dapl2testd
+!endif
+
+TARGETPATH = ..\..\..\..\..\bin\user\obj$(BUILD_ALT_DIR)
+TARGETTYPE = PROGRAM
+UMTYPE = console
+USE_MSVCRT = 1
+
+SOURCES = \
+       dapltest.rc             \
+       ..\dt_cmd.c             \
+       ..\dt_test.c    \
+       ..\dt_common.c  \
+       ..\dt_udapl.c   \
+       ..\dt_mdep.c
+
+INCLUDES=..\include;..\mdep\windows;..\..\..\dat\include;%DDK_INC_PATH%
+
+RCOPTIONS=/I..\..\..\..\..\inc;
+
+!if $(FREEBUILD)
+DATLIB = dat2.lib
+!else
+DATLIB = dat2d.lib
+!endif
+
+TARGETLIBS = $(TARGETPATH)\*\$(DATLIB) $(SDK_LIB_PATH)\ws2_32.lib
+
+# XXX do this ASAP - MSC_WARNING_LEVEL= /W3
+MSC_WARNING_LEVEL= /W1
diff --git a/test/dapltest/windows/dapltest.rc b/test/dapltest/windows/dapltest.rc
new file mode 100644 (file)
index 0000000..09fef62
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2007 Intel Corporation.  All rights reserved.
+ *
+ * This software is available to you under the OpenIB.org BSD license
+ * below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * $Id$
+ */
+
+
+#include <oib_ver.h>
+
+#define VER_FILETYPE                           VFT_APP
+#define VER_FILESUBTYPE                                VFT2_UNKNOWN
+
+#if DBG
+#define VER_FILEDESCRIPTION_STR                "DAPL/DAT[2.0] test Application (Debug)"
+#define VER_INTERNALNAME_STR           "dapl2testd.exe"
+#define VER_ORIGINALFILENAME_STR       "dapl2testd.exe"
+
+#else
+#define VER_FILEDESCRIPTION_STR                "DAPL/DAT[2.0] test Application"
+#define VER_INTERNALNAME_STR           "dapl2test.exe"
+#define VER_ORIGINALFILENAME_STR       "dapl2test.exe"
+
+#endif
+
+#include <common.ver>
diff --git a/test/dapltest/windows/makefile b/test/dapltest/windows/makefile
new file mode 100644 (file)
index 0000000..b931d6c
--- /dev/null
@@ -0,0 +1,7 @@
+#
+# DO NOT EDIT THIS FILE!!!  Edit .\sources. if you want to add a new source
+# file to this component.  This file merely indirects to the real make file
+# that is shared by all the driver components of the OpenIB Windows project.
+#
+
+!INCLUDE ..\..\..\..\..\inc\openib.def