These tests originally had this logic:
1) start server
2) start client
3) check the exit code of rpc_svc_getargs (the server terminates)

This is not 100% suitable for the new wrapper, because
we only look for the client exit code, ignoring the server one.

This patch makes the client exit code to represent the entire test status.

Signed-off-by: Stanislav Kholmanskikh <[email protected]>
---
 runtest/rpc_tests                                  |    5 ++---
 .../rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs.c  |    1 -
 .../rpc_svc_getargs_client.c                       |   10 ++++++----
 .../rpc_stdcall_svc_sendreply/rpc_svc_sendreply.c  |    1 -
 .../rpc_svc_sendreply_client.c                     |    8 ++++++--
 5 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/runtest/rpc_tests b/runtest/rpc_tests
index dcb2bcb..84c2960 100644
--- a/runtest/rpc_tests
+++ b/runtest/rpc_tests
@@ -51,6 +51,5 @@ rpc_clnt_geterr rpc_test.sh -s rpc_svc_1 -c rpc_clnt_geterr
 rpc_clnt_control rpc_test.sh -s rpc_svc_1 -c rpc_clnt_control
 rpc_svc_getcaller rpc_test.sh -s rpc_svc_1 -c rpc_svc_getcaller
 rpc_svc_freeargs rpc_test.sh -s rpc_svc_1 -c rpc_svc_freeargs
-#TODO 
-#rpc_svc_getargs
-#rpc_svc_sendreply
+rpc_svc_getargs rpc_test.sh -s rpc_svc_getargs -c rpc_svc_getargs_client
+rpc_svc_sendreply rpc_test.sh -s rpc_svc_sendreply -c rpc_svc_sendreply_client
diff --git 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs.c
 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs.c
index 4743a1c..c5bbafb 100644
--- 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs.c
+++ 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs.c
@@ -134,5 +134,4 @@ void rcp_service(register struct svc_req *rqstp, register 
SVCXPRT * transp)
        //normally should be 0: test has passed or 1: test has failed
        printf("%d\n", test_status);
 
-       exit(test_status);
 }
diff --git 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs_client.c
 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs_client.c
index 9811ef2..df0a28c 100644
--- 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs_client.c
+++ 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_getargs/rpc_svc_getargs_client.c
@@ -48,6 +48,7 @@ int main(int argn, char *argc[])
        int progNum = atoi(argc[2]);
        enum clnt_stat cs;
        int varSnd = 1;
+       int varRcv = 0;
 
        //Initialization
        if (run_mode == 1) {
@@ -56,16 +57,17 @@ int main(int argn, char *argc[])
 
        cs = callrpc(argc[1], progNum, VERSNUM, PROCNUM,
                     (xdrproc_t) xdr_int, (char *)&varSnd,
-                    (xdrproc_t) xdr_int, (char *)&varSnd);
-
-       //test_status = varSnd;
+                    (xdrproc_t) xdr_int, (char *)&varRcv);
 
        if (cs != RPC_SUCCESS)
                clnt_perrno(cs);
 
+       if (varSnd == varRcv)
+               test_status = 0;
+
        //This last printf gives the result status to the tests suite
        //normally should be 0: test has passed or 1: test has failed
        //printf("%d\n", test_status);
 
-       return 0;               //test_status;
+       return test_status;
 }
diff --git 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply.c
 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply.c
index e827989..6e87e13 100644
--- 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply.c
+++ 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply.c
@@ -134,5 +134,4 @@ void rcp_service(register struct svc_req *rqstp, register 
SVCXPRT * transp)
        //normally should be 0: test has passed or 1: test has failed
        printf("%d\n", test_status);
 
-       exit(test_status);
 }
diff --git 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply_client.c
 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply_client.c
index 9811ef2..f94edcd 100644
--- 
a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply_client.c
+++ 
b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_stdcall_svc_sendreply/rpc_svc_sendreply_client.c
@@ -48,6 +48,7 @@ int main(int argn, char *argc[])
        int progNum = atoi(argc[2]);
        enum clnt_stat cs;
        int varSnd = 1;
+       int varRcv = 0;
 
        //Initialization
        if (run_mode == 1) {
@@ -56,16 +57,19 @@ int main(int argn, char *argc[])
 
        cs = callrpc(argc[1], progNum, VERSNUM, PROCNUM,
                     (xdrproc_t) xdr_int, (char *)&varSnd,
-                    (xdrproc_t) xdr_int, (char *)&varSnd);
+                    (xdrproc_t) xdr_int, (char *)&varRcv);
 
        //test_status = varSnd;
 
        if (cs != RPC_SUCCESS)
                clnt_perrno(cs);
 
+       if (varSnd == varRcv)
+               test_status = 0;
+
        //This last printf gives the result status to the tests suite
        //normally should be 0: test has passed or 1: test has failed
        //printf("%d\n", test_status);
 
-       return 0;               //test_status;
+       return test_status;
 }
-- 
1.7.1


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to