0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035 #include <stdio.h>
0036 #include <stdlib.h>
0037 #include <ndebug.h>
0038 #include <atmi.h>
0039 #include <ndrstandard.h>
0040 #include <ubf.h>
0041 #include <test.fd.h>
0042 #include <string.h>
0043 #include <unistd.h>
0044 #include "test50.h"
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 void TESTSV (TPSVCINFO *p_svc)
0058 {
0059 int ret=EXSUCCEED;
0060 char testbuf[1024];
0061 UBFH *p_ub = (UBFH *)p_svc->data;
0062 static long l=0;
0063 long ll;
0064 short s;
0065 char c;
0066 NDRX_LOG(log_debug, "%s got call", __func__);
0067
0068
0069 Bprint(p_ub);
0070
0071
0072 if (EXSUCCEED!=Bget(p_ub, Bfldid("T_HELLO_STR"), 0, testbuf, 0L))
0073 {
0074 NDRX_LOG(log_error, "TESTERROR: Failed to get T_HELLO_STR: %s",
0075 Bstrerror(Berror));
0076 EXFAIL_OUT(ret);
0077 }
0078
0079 if (0!=strcmp(testbuf, "HELLO WORLD"))
0080 {
0081 NDRX_LOG(log_error, "TESTERROR: expected [HELLO WORLD] got [%s]",
0082 testbuf);
0083 EXFAIL_OUT(ret);
0084 }
0085
0086
0087 if (EXSUCCEED!=Bget(p_ub, Bfldid("T_HELLO_SHORT"), 0, (char *)&s, 0L))
0088 {
0089 NDRX_LOG(log_error, "TESTERROR: Failed to get T_HELLO_SHORT: %s",
0090 Bstrerror(Berror));
0091 EXFAIL_OUT(ret);
0092 }
0093
0094 if (56!=s)
0095 {
0096 NDRX_LOG(log_error, "TESTERROR: expected [56] got [%hd]", s);
0097 EXFAIL_OUT(ret);
0098 }
0099
0100
0101 if (EXSUCCEED!=Bget(p_ub, Bfldid("T_HELLO_CHAR"), 0, (char *)&c, 0L))
0102 {
0103 NDRX_LOG(log_error, "TESTERROR: Failed to get T_HELLO_CHAR: %s",
0104 Bstrerror(Berror));
0105 EXFAIL_OUT(ret);
0106 }
0107
0108 if ('A'!=c)
0109 {
0110 NDRX_LOG(log_error, "TESTERROR: expected [A] got [%c]", c);
0111 EXFAIL_OUT(ret);
0112 }
0113
0114
0115 if (EXSUCCEED!=Bget(p_ub, Bfldid("T_HELLO_LONG"), 0, (char *)&ll, 0L))
0116 {
0117 NDRX_LOG(log_error, "TESTERROR: Failed to get T_HELLO_LONG: %s",
0118 Bstrerror(Berror));
0119 EXFAIL_OUT(ret);
0120 }
0121
0122 if (ll!=l)
0123 {
0124 NDRX_LOG(log_error, "TESTERROR: expected [%ld] got [%ld]",
0125 l, ll);
0126 EXFAIL_OUT(ret);
0127 }
0128
0129
0130 if (EXSUCCEED!=Bget(p_ub, Bfldid("T_STRING_FLD"), 0, testbuf, 0L))
0131 {
0132 NDRX_LOG(log_error, "TESTERROR: Failed to get T_STRING_FLD: %s",
0133 Bstrerror(Berror));
0134 EXFAIL_OUT(ret);
0135 }
0136
0137 if (0!=strcmp(testbuf, "ABC"))
0138 {
0139 NDRX_LOG(log_error, "TESTERROR: expected [ABC] got [%s]",
0140 testbuf);
0141 EXFAIL_OUT(ret);
0142 }
0143
0144
0145 if (0!=strcmp(Bfname(Bfldid("T_HELLO_STR")), "T_HELLO_STR"))
0146 {
0147 NDRX_LOG(log_error, "TESTERROR: Reverse testing T_HELLO_STR failed");
0148 EXFAIL_OUT(ret);
0149 }
0150
0151 if (0!=strcmp(Bfname(Bfldid("T_HELLO_CHAR")), "T_HELLO_CHAR"))
0152 {
0153 NDRX_LOG(log_error, "TESTERROR: Reverse testing T_HELLO_CHAR failed");
0154 EXFAIL_OUT(ret);
0155 }
0156
0157 if (0!=strcmp(Bfname(Bfldid("T_HELLO_LONG")), "T_HELLO_LONG"))
0158 {
0159 NDRX_LOG(log_error, "TESTERROR: Reverse testing T_HELLO_LONG failed");
0160 EXFAIL_OUT(ret);
0161 }
0162
0163 if (0!=strcmp(Bfname(Bfldid("T_STRING_FLD")), "T_STRING_FLD"))
0164 {
0165 NDRX_LOG(log_error, "TESTERROR: Reverse testing T_STRING_FLD failed");
0166 EXFAIL_OUT(ret);
0167 }
0168
0169 out:
0170 l++;
0171 tpreturn( ret==EXSUCCEED?TPSUCCESS:TPFAIL,
0172 0L,
0173 (char *)p_ub,
0174 0L,
0175 0L);
0176 }
0177
0178
0179
0180
0181 int NDRX_INTEGRA(tpsvrinit)(int argc, char **argv)
0182 {
0183 NDRX_LOG(log_debug, "tpsvrinit called");
0184
0185 if (EXSUCCEED!=tpadvertise("TESTSV", TESTSV))
0186 {
0187 NDRX_LOG(log_error, "Failed to initialize TESTSV!");
0188 }
0189
0190 return EXSUCCEED;
0191 }
0192
0193
0194
0195
0196 void NDRX_INTEGRA(tpsvrdone)(void)
0197 {
0198 NDRX_LOG(log_debug, "tpsvrdone called");
0199 }
0200
0201