1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
4 * (C) 2003 by Argonne National Laboratory.
5 * See COPYRIGHT in top-level directory.
11 #include "mpitestconf.h"
17 int main(int argc, char *argv[])
21 char *keys1[NKEYS] = { (char *) "file", (char *) "soft", (char *) "host" };
22 char *values1[NKEYS] = { (char *) "runfile.txt", (char *) "2:1000:4,3:1000:7",
23 (char *) "myhost.myorg.org"
26 char value[MPI_MAX_INFO_VAL];
29 MTest_Init(&argc, &argv);
32 MPI_Info_create(&info);
33 /* Use only named keys incase the info implementation only supports
34 * the predefined keys (e.g., IBM) */
35 for (i = 0; i < NKEYS; i++) {
36 MPI_Info_set(info, keys1[i], values1[i]);
39 /* Check that all values are present */
40 for (i = 0; i < NKEYS; i++) {
41 MPI_Info_get(info, keys1[i], MPI_MAX_INFO_VAL, value, &flag);
44 printf("No value for key %s\n", keys1[i]);
46 if (strcmp(value, values1[i])) {
48 printf("Incorrect value for key %s\n", keys1[i]);
54 MPI_Info_create(&info);
55 /* Use only named keys incase the info implementation only supports
56 * the predefined keys (e.g., IBM) */
57 for (i = NKEYS - 1; i >= 0; i--) {
58 MPI_Info_set(info, keys1[i], values1[i]);
61 /* Check that all values are present */
62 for (i = 0; i < NKEYS; i++) {
63 MPI_Info_get(info, keys1[i], MPI_MAX_INFO_VAL, value, &flag);
66 printf("No value for key %s\n", keys1[i]);
68 if (strcmp(value, values1[i])) {
70 printf("Incorrect value for key %s\n", keys1[i]);
76 MPI_Info_create(&info);
77 /* Use only named keys incase the info implementation only supports
78 * the predefined keys (e.g., IBM) */
79 MPI_Info_set(info, keys1[0], values1[0]);
80 MPI_Info_set(info, keys1[2], values1[2]);
81 MPI_Info_set(info, keys1[1], values1[1]);
83 /* Check that all values are present */
84 for (i = 0; i < NKEYS; i++) {
85 MPI_Info_get(info, keys1[i], MPI_MAX_INFO_VAL, value, &flag);
88 printf("No value for key %s\n", keys1[i]);
90 if (strcmp(value, values1[i])) {
92 printf("Incorrect value for key %s\n", keys1[i]);
98 MPI_Info_create(&info);
99 /* Use only named keys incase the info implementation only supports
100 * the predefined keys (e.g., IBM) */
101 MPI_Info_set(info, keys1[1], values1[1]);
102 MPI_Info_set(info, keys1[0], values1[0]);
103 MPI_Info_set(info, keys1[2], values1[2]);
105 /* Check that all values are present */
106 for (i = 0; i < NKEYS; i++) {
107 MPI_Info_get(info, keys1[i], MPI_MAX_INFO_VAL, value, &flag);
110 printf("No value for key %s\n", keys1[i]);
112 if (strcmp(value, values1[i])) {
114 printf("Incorrect value for key %s\n", keys1[i]);
117 MPI_Info_free(&info);
120 MPI_Info_create(&info);
121 /* Use only named keys incase the info implementation only supports
122 * the predefined keys (e.g., IBM) */
123 MPI_Info_set(info, keys1[1], values1[1]);
124 MPI_Info_set(info, keys1[2], values1[2]);
125 MPI_Info_set(info, keys1[0], values1[0]);
127 /* Check that all values are present */
128 for (i = 0; i < NKEYS; i++) {
129 MPI_Info_get(info, keys1[i], MPI_MAX_INFO_VAL, value, &flag);
132 printf("No value for key %s\n", keys1[i]);
134 if (strcmp(value, values1[i])) {
136 printf("Incorrect value for key %s\n", keys1[i]);
139 MPI_Info_free(&info);
142 MPI_Info_create(&info);
143 /* Use only named keys incase the info implementation only supports
144 * the predefined keys (e.g., IBM) */
145 MPI_Info_set(info, keys1[2], values1[2]);
146 MPI_Info_set(info, keys1[0], values1[0]);
147 MPI_Info_set(info, keys1[1], values1[1]);
149 /* Check that all values are present */
150 for (i = 0; i < NKEYS; i++) {
151 MPI_Info_get(info, keys1[i], MPI_MAX_INFO_VAL, value, &flag);
154 printf("No value for key %s\n", keys1[i]);
156 if (strcmp(value, values1[i])) {
158 printf("Incorrect value for key %s\n", keys1[i]);
161 MPI_Info_free(&info);
163 MTest_Finalize(errs);