This source file includes following definitions.
- main
- test1
- test2
- test3
- test4
- test5
- test6
- test7
- test8
- test9
- test11
- test12
- test13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include "opal_config.h"
22
23
24 #include <stdio.h>
25 #include <string.h>
26 #include <stdlib.h>
27 #ifdef HAVE_SYS_PARAM_H
28 #include <sys/param.h>
29 #endif
30 #ifdef HAVE_NETINET_IN_H
31 #include <netinet/in.h>
32 #endif
33
34 #include "opal/runtime/opal.h"
35
36 #include "opal/dss/dss.h"
37
38 #define NUM_ITERS 3
39 #define NUM_ELEMS 10
40
41 static bool test1(void);
42 static bool test2(void);
43 static bool test3(void);
44 static bool test4(void);
45 static bool test5(void);
46 static bool test6(void);
47 static bool test7(void);
48 static bool test8(void);
49 static bool test9(void);
50 static bool test11(void);
51 static bool test12(void);
52 static bool test13(void);
53
54 static FILE *test_out;
55
56
57 int main (int argc, char* argv[])
58 {
59 int ret = 0;
60
61 opal_init(&argc, &argv);
62
63 test_out = stderr;
64
65
66
67 fprintf(test_out, "executing test1\n");
68 if (test1()) {
69 fprintf(test_out, "Test1 succeeded\n");
70 } else {
71 fprintf(test_out, "Test1 failed\n");
72 ret = 1;
73 }
74
75 fprintf(test_out, "executing test2\n");
76 if (test2()) {
77 fprintf(test_out, "Test2 succeeded\n");
78 } else {
79 fprintf(test_out, "Test2 failed\n");
80 ret = 2;
81 }
82
83 fprintf(test_out, "executing test3\n");
84 if (test3()) {
85 fprintf(test_out, "Test3 succeeded\n");
86 } else {
87 fprintf(test_out, "Test3 failed\n");
88 ret = 3;
89 }
90
91 fprintf(test_out, "executing test4\n");
92 if (test4()) {
93 fprintf(test_out, "Test4 succeeded\n");
94 } else {
95 fprintf(test_out, "Test4 failed\n");
96 ret = 4;
97 }
98
99 fprintf(test_out, "executing test5\n");
100 if (test5()) {
101 fprintf(test_out, "Test5 succeeded\n");
102 } else {
103 fprintf(test_out, "Test5 failed\n");
104 ret = 5;
105 }
106
107 fprintf(test_out, "executing test6\n");
108 if (test6()) {
109 fprintf(test_out, "Test6 succeeded\n");
110 } else {
111 fprintf(test_out, "Test6 failed\n");
112 ret = 6;
113 }
114
115 fprintf(test_out, "executing test7\n");
116 if (test7()) {
117 fprintf(test_out, "Test7 succeeded\n");
118 } else {
119 fprintf(test_out, "Test7 failed\n");
120 ret = 7;
121 }
122
123 fprintf(test_out, "executing test8\n");
124 if (test8()) {
125 fprintf(test_out, "Test8 succeeded\n");
126 } else {
127 fprintf(test_out, "Test8 failed\n");
128 ret = 8;
129 }
130
131 fprintf(test_out, "executing test9\n");
132 if (test9()) {
133 fprintf(test_out, "Test9 succeeded\n");
134 } else {
135 fprintf(test_out, "opal_dss test9 failed\n");
136 ret = 9;
137 }
138
139 fprintf(test_out, "executing test11\n");
140 if (test11()) {
141 fprintf(test_out, "Test11 succeeded\n");
142 } else {
143 fprintf(test_out, "opal_dss test11 failed\n");
144 ret = 11;
145 }
146
147 fprintf(test_out, "executing test12\n");
148 if (test12()) {
149 fprintf(test_out, "Test12 succeeded\n");
150 } else {
151 fprintf(test_out, "opal_dss test12 failed\n");
152 ret = 12;
153 }
154
155 fprintf(test_out, "executing test13\n");
156 if (test13()) {
157 fprintf(test_out, "Test13 succeeded\n");
158 } else {
159 fprintf(test_out, "opal_dss test13 failed\n");
160 ret = 13;
161 }
162
163 fclose(test_out);
164
165 opal_finalize();
166
167 return ret;
168 }
169
170
171
172
173 static bool test1(void)
174 {
175 int8_t v1, v2=100;
176 uint8_t u1, u2=150;
177 opal_data_type_t type=OPAL_INT8, utype=OPAL_UINT8;
178
179 v1 = v2;
180 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
181 fprintf(test_out, "opal_dss.compare failed for signed equality\n");
182 return(false);
183 }
184
185 v1 = v2 + 1;
186 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
187 fprintf(test_out, "opal_dss.compare failed for signed value1 greater\n");
188 return(false);
189 }
190
191 v1 = v2 - 1;
192 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
193 fprintf(test_out, "opal_dss.compare failed for signed value2 greater\n");
194 return(false);
195 }
196
197 u1 = u2;
198 if (OPAL_EQUAL != opal_dss.compare(&u1, &u2, utype)) {
199 fprintf(test_out, "opal_dss.compare failed for unsigned equality\n");
200 return(false);
201 }
202
203 u1 = u2 + 1;
204 if (OPAL_VALUE1_GREATER != opal_dss.compare(&u1, &u2, utype)) {
205 fprintf(test_out, "opal_dss.compare failed for unsigned value1 greater\n");
206 return(false);
207 }
208
209 u1 = u2 - 1;
210 if (OPAL_VALUE2_GREATER != opal_dss.compare(&u1, &u2, utype)) {
211 fprintf(test_out, "opal_dss.compare failed for unsigned value2 greater\n");
212 return(false);
213 }
214
215 return (true);
216 }
217
218
219
220
221 static bool test2(void)
222 {
223 int16_t v1, v2=100;
224 uint16_t u1, u2=150;
225 opal_data_type_t type=OPAL_INT16, utype=OPAL_UINT16;
226
227 v1 = v2;
228 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
229 fprintf(test_out, "opal_dss.compare failed for signed equality\n");
230 return(false);
231 }
232
233 v1 = v2 + 1;
234 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
235 fprintf(test_out, "opal_dss.compare failed for signed value1 greater\n");
236 return(false);
237 }
238
239 v1 = v2 - 1;
240 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
241 fprintf(test_out, "opal_dss.compare failed for signed value2 greater\n");
242 return(false);
243 }
244
245 u1 = u2;
246 if (OPAL_EQUAL != opal_dss.compare(&u1, &u2, utype)) {
247 fprintf(test_out, "opal_dss.compare failed for unsigned equality\n");
248 return(false);
249 }
250
251 u1 = u2 + 1;
252 if (OPAL_VALUE1_GREATER != opal_dss.compare(&u1, &u2, utype)) {
253 fprintf(test_out, "opal_dss.compare failed for unsigned value1 greater\n");
254 return(false);
255 }
256
257 u1 = u2 - 1;
258 if (OPAL_VALUE2_GREATER != opal_dss.compare(&u1, &u2, utype)) {
259 fprintf(test_out, "opal_dss.compare failed for unsigned value2 greater\n");
260 return(false);
261 }
262
263 return (true);
264 }
265
266
267
268
269 static bool test3(void)
270 {
271 int32_t v1, v2=100;
272 uint32_t u1, u2=150;
273 opal_data_type_t type=OPAL_INT32, utype=OPAL_UINT32;
274
275 v1 = v2;
276 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
277 fprintf(test_out, "opal_dss.compare failed for signed equality\n");
278 return(false);
279 }
280
281 v1 = v2 + 1;
282 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
283 fprintf(test_out, "opal_dss.compare failed for signed value1 greater\n");
284 return(false);
285 }
286
287 v1 = v2 - 1;
288 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
289 fprintf(test_out, "opal_dss.compare failed for signed value2 greater\n");
290 return(false);
291 }
292
293 u1 = u2;
294 if (OPAL_EQUAL != opal_dss.compare(&u1, &u2, utype)) {
295 fprintf(test_out, "opal_dss.compare failed for unsigned equality\n");
296 return(false);
297 }
298
299 u1 = u2 + 1;
300 if (OPAL_VALUE1_GREATER != opal_dss.compare(&u1, &u2, utype)) {
301 fprintf(test_out, "opal_dss.compare failed for unsigned value1 greater\n");
302 return(false);
303 }
304
305 u1 = u2 - 1;
306 if (OPAL_VALUE2_GREATER != opal_dss.compare(&u1, &u2, utype)) {
307 fprintf(test_out, "opal_dss.compare failed for unsigned value2 greater\n");
308 return(false);
309 }
310
311 return (true);
312 }
313
314
315
316
317 static bool test4(void)
318 {
319 int64_t v1, v2=100;
320 uint64_t u1, u2=150;
321 opal_data_type_t type=OPAL_INT64, utype=OPAL_UINT64;
322
323 v1 = v2;
324 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
325 fprintf(test_out, "opal_dss.compare failed for signed equality\n");
326 return(false);
327 }
328
329 v1 = v2 + 1;
330 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
331 fprintf(test_out, "opal_dss.compare failed for signed value1 greater\n");
332 return(false);
333 }
334
335 v1 = v2 - 1;
336 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
337 fprintf(test_out, "opal_dss.compare failed for signed value2 greater\n");
338 return(false);
339 }
340
341 u1 = u2;
342 if (OPAL_EQUAL != opal_dss.compare(&u1, &u2, utype)) {
343 fprintf(test_out, "opal_dss.compare failed for unsigned equality\n");
344 return(false);
345 }
346
347 u1 = u2 + 1;
348 if (OPAL_VALUE1_GREATER != opal_dss.compare(&u1, &u2, utype)) {
349 fprintf(test_out, "opal_dss.compare failed for unsigned value1 greater\n");
350 return(false);
351 }
352
353 u1 = u2 - 1;
354 if (OPAL_VALUE2_GREATER != opal_dss.compare(&u1, &u2, utype)) {
355 fprintf(test_out, "opal_dss.compare failed for unsigned value2 greater\n");
356 return(false);
357 }
358
359 return (true);
360 }
361
362
363
364
365 static bool test5(void)
366 {
367 int v1, v2=100;
368 uint u1, u2=150;
369 opal_data_type_t type=OPAL_INT, utype=OPAL_UINT;
370
371 v1 = v2;
372 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
373 fprintf(test_out, "opal_dss.compare failed for signed equality\n");
374 return(false);
375 }
376
377 v1 = v2 + 1;
378 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
379 fprintf(test_out, "opal_dss.compare failed for signed value1 greater\n");
380 return(false);
381 }
382
383 v1 = v2 - 1;
384 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
385 fprintf(test_out, "opal_dss.compare failed for signed value2 greater\n");
386 return(false);
387 }
388
389 u1 = u2;
390 if (OPAL_EQUAL != opal_dss.compare(&u1, &u2, utype)) {
391 fprintf(test_out, "opal_dss.compare failed for unsigned equality\n");
392 return(false);
393 }
394
395 u1 = u2 + 1;
396 if (OPAL_VALUE1_GREATER != opal_dss.compare(&u1, &u2, utype)) {
397 fprintf(test_out, "opal_dss.compare failed for unsigned value1 greater\n");
398 return(false);
399 }
400
401 u1 = u2 - 1;
402 if (OPAL_VALUE2_GREATER != opal_dss.compare(&u1, &u2, utype)) {
403 fprintf(test_out, "opal_dss.compare failed for unsigned value2 greater\n");
404 return(false);
405 }
406
407 return (true);
408 }
409
410
411
412
413 static bool test6(void)
414 {
415 char *string1="This is a short string";
416 char *string2="This is a longer string";
417
418 if (OPAL_EQUAL != opal_dss.compare(string1, string1, OPAL_STRING)) {
419 fprintf(test_out, "opal_dss.compare failed for equality\n");
420 return(false);
421 }
422
423 if (OPAL_VALUE2_GREATER != opal_dss.compare(string1, string2, OPAL_STRING)) {
424 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
425 return(false);
426 }
427
428 if (OPAL_VALUE1_GREATER != opal_dss.compare(string2, string1, OPAL_STRING)) {
429 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
430 return(false);
431 }
432
433 return (true);
434 }
435
436
437
438
439 static bool test7(void)
440 {
441 bool v1, v2=true;
442
443 v1 = v2;
444 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, OPAL_BOOL)) {
445 fprintf(test_out, "opal_dss.compare failed for equality\n");
446 return(false);
447 }
448
449 v1 = true;
450 v2 = false;
451 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, OPAL_BOOL)) {
452 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
453 return(false);
454 }
455
456 v1 = false;
457 v2 = true;
458 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, OPAL_BOOL)) {
459 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
460 return(false);
461 }
462
463 return (true);
464 }
465
466
467
468
469
470 static bool test8(void)
471 {
472 size_t v1, v2=100;
473 opal_data_type_t type=OPAL_SIZE;
474
475 v1 = v2;
476 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
477 fprintf(test_out, "opal_dss.compare failed for equality\n");
478 return(false);
479 }
480
481 v1 = v2 + 1;
482 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
483 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
484 return(false);
485 }
486
487 v1 = v2 - 1;
488 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
489 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
490 return(false);
491 }
492
493 return (true);
494 }
495
496
497
498
499 static bool test9(void)
500 {
501 pid_t v1, v2=100;
502 opal_data_type_t type=OPAL_PID;
503
504 v1 = v2;
505 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
506 fprintf(test_out, "opal_dss.compare failed for equality\n");
507 return(false);
508 }
509
510 v1 = v2 + 1;
511 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
512 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
513 return(false);
514 }
515
516 v1 = v2 - 1;
517 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
518 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
519 return(false);
520 }
521
522 return (true);
523 }
524
525
526
527
528 static bool test11(void)
529 {
530 opal_data_type_t v1, v2=100;
531 opal_data_type_t type=OPAL_DATA_TYPE;
532
533 v1 = v2;
534 if (OPAL_EQUAL != opal_dss.compare(&v1, &v2, type)) {
535 fprintf(test_out, "opal_dss.compare failed for equality\n");
536 return(false);
537 }
538
539 v1 = v2 + 1;
540 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v1, &v2, type)) {
541 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
542 return(false);
543 }
544
545 v1 = v2 - 1;
546 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
547 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
548 return(false);
549 }
550
551 return (true);
552 }
553
554
555
556
557
558 static bool test12(void)
559 {
560 int i;
561 opal_byte_object_t v1, v2;
562 opal_data_type_t type=OPAL_BYTE_OBJECT;
563
564 v1.size = 20;
565 v1.bytes = (uint8_t*)malloc(v1.size);
566 for (i=0; i<v1.size; i++) v1.bytes[i] = i;
567
568 v2.size = v1.size;
569 v2.bytes = (uint8_t*)malloc(v2.size);
570 for (i=0; i<v2.size; i++) v2.bytes[i] = v1.bytes[i];
571 v2.bytes[(v2.size)/2] += 1;
572
573
574 if (OPAL_EQUAL != opal_dss.compare(&v1, &v1, type)) {
575 fprintf(test_out, "opal_dss.compare failed for equality\n");
576 return(false);
577 }
578
579 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v2, &v1, type)) {
580 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
581 return(false);
582 }
583
584 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
585 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
586 return(false);
587 }
588
589 return (true);
590 }
591
592 static bool test13(void)
593 {
594 int dat1=100, dat2=200;
595 opal_value_t v1, v2;
596 opal_data_type_t type=OPAL_VALUE;
597
598 v1.type = OPAL_INT;
599 v1.data.integer = dat1;
600
601 v2.type = OPAL_INT;
602 v2.data.integer = dat2;
603
604 if (OPAL_EQUAL != opal_dss.compare(&v1, &v1, type)) {
605 fprintf(test_out, "opal_dss.compare failed for equality\n");
606 return(false);
607 }
608
609 if (OPAL_VALUE1_GREATER != opal_dss.compare(&v2, &v1, type)) {
610 fprintf(test_out, "opal_dss.compare failed for value1 greater\n");
611 return(false);
612 }
613
614 if (OPAL_VALUE2_GREATER != opal_dss.compare(&v1, &v2, type)) {
615 fprintf(test_out, "opal_dss.compare failed for value2 greater\n");
616 return(false);
617 }
618
619 return (true);
620 }
621