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" };
25 char value[MPI_MAX_INFO_VAL];
28 MTest_Init( &argc, &argv );
31 MPI_Info_create( &info );
32 /* Use only named keys incase the info implementation only supports
33 the predefined keys (e.g., IBM) */
34 for (i=0; i<NKEYS; i++) {
35 MPI_Info_set( info, keys1[i], values1[i] );
38 /* Check that all values are present */
39 for (i=0; i<NKEYS; i++) {
40 MPI_Info_get( info, keys1[i], MPI_MAX_INFO_VAL, value, &flag );
43 printf( "No value for key %s\n", keys1[i] );
45 if (strcmp( value, values1[i] )) {
47 printf( "Incorrect value for key %s\n", keys1[i] );
50 MPI_Info_free( &info );
53 MPI_Info_create( &info );
54 /* Use only named keys incase the info implementation only supports
55 the predefined keys (e.g., IBM) */
56 for (i=NKEYS-1; i>=0; i--) {
57 MPI_Info_set( info, keys1[i], values1[i] );
60 /* Check that all values are present */
61 for (i=0; i<NKEYS; i++) {
62 MPI_Info_get( info, keys1[i], MPI_MAX_INFO_VAL, value, &flag );
65 printf( "No value for key %s\n", keys1[i] );
67 if (strcmp( value, values1[i] )) {
69 printf( "Incorrect value for key %s\n", keys1[i] );
72 MPI_Info_free( &info );
75 MPI_Info_create( &info );
76 /* Use only named keys incase the info implementation only supports
77 the predefined keys (e.g., IBM) */
78 MPI_Info_set( info, keys1[0], values1[0] );
79 MPI_Info_set( info, keys1[2], values1[2] );
80 MPI_Info_set( info, keys1[1], values1[1] );
82 /* Check that all values are present */
83 for (i=0; i<NKEYS; i++) {
84 MPI_Info_get( info, keys1[i], MPI_MAX_INFO_VAL, value, &flag );
87 printf( "No value for key %s\n", keys1[i] );
89 if (strcmp( value, values1[i] )) {
91 printf( "Incorrect value for key %s\n", keys1[i] );
94 MPI_Info_free( &info );
97 MPI_Info_create( &info );
98 /* Use only named keys incase the info implementation only supports
99 the predefined keys (e.g., IBM) */
100 MPI_Info_set( info, keys1[1], values1[1] );
101 MPI_Info_set( info, keys1[0], values1[0] );
102 MPI_Info_set( info, keys1[2], values1[2] );
104 /* Check that all values are present */
105 for (i=0; i<NKEYS; i++) {
106 MPI_Info_get( info, keys1[i], MPI_MAX_INFO_VAL, value, &flag );
109 printf( "No value for key %s\n", keys1[i] );
111 if (strcmp( value, values1[i] )) {
113 printf( "Incorrect value for key %s\n", keys1[i] );
116 MPI_Info_free( &info );
119 MPI_Info_create( &info );
120 /* Use only named keys incase the info implementation only supports
121 the predefined keys (e.g., IBM) */
122 MPI_Info_set( info, keys1[1], values1[1] );
123 MPI_Info_set( info, keys1[2], values1[2] );
124 MPI_Info_set( info, keys1[0], values1[0] );
126 /* Check that all values are present */
127 for (i=0; i<NKEYS; i++) {
128 MPI_Info_get( info, keys1[i], MPI_MAX_INFO_VAL, value, &flag );
131 printf( "No value for key %s\n", keys1[i] );
133 if (strcmp( value, values1[i] )) {
135 printf( "Incorrect value for key %s\n", keys1[i] );
138 MPI_Info_free( &info );
141 MPI_Info_create( &info );
142 /* Use only named keys incase the info implementation only supports
143 the predefined keys (e.g., IBM) */
144 MPI_Info_set( info, keys1[2], values1[2] );
145 MPI_Info_set( info, keys1[0], values1[0] );
146 MPI_Info_set( info, keys1[1], values1[1] );
148 /* Check that all values are present */
149 for (i=0; i<NKEYS; i++) {
150 MPI_Info_get( info, keys1[i], MPI_MAX_INFO_VAL, value, &flag );
153 printf( "No value for key %s\n", keys1[i] );
155 if (strcmp( value, values1[i] )) {
157 printf( "Incorrect value for key %s\n", keys1[i] );
160 MPI_Info_free( &info );
162 MTest_Finalize( errs );