7
7
#include <unistd.h>
8
8
#include <sys/time.h>
9
9
#include "pdc.h"
10
- #include "pdc_timing .h"
10
+ #include "test_helper .h"
11
11
12
12
void
13
13
print_usage ()
@@ -22,11 +22,11 @@ main(int argc, char **argv)
22
22
uint64_t size_MB , size_B ;
23
23
perr_t ret ;
24
24
int ndim = 1 ;
25
- int ret_value = 0 ;
25
+ int ret_value = TSUCCEED ;
26
26
#ifdef ENABLE_MPI
27
27
MPI_Comm comm ;
28
28
#else
29
- int comm = 1 ;
29
+ int comm = 1 ;
30
30
#endif
31
31
pdcid_t global_obj = 0 ;
32
32
pdcid_t local_region , global_region ;
@@ -35,7 +35,7 @@ main(int argc, char **argv)
35
35
uint64_t * offset , * local_offset ;
36
36
uint64_t * mysize ;
37
37
int i , j ;
38
- char * mydata ;
38
+ char * mydata ;
39
39
char obj_name [128 ], cont_name [128 ];
40
40
41
41
uint64_t my_data_size ;
@@ -55,15 +55,13 @@ main(int argc, char **argv)
55
55
56
56
if (argc != 4 ) {
57
57
print_usage ();
58
- ret_value = 1 ;
59
58
#ifdef ENABLE_MPI
60
59
MPI_Finalize ();
61
60
#endif
62
- return ret_value ;
61
+ TGOTO_DONE ( TFAIL ) ;
63
62
}
64
63
65
64
sprintf (obj_name , "%s" , argv [1 ]);
66
-
67
65
size_MB = atoi (argv [2 ]);
68
66
69
67
if (!strcmp (argv [3 ], "float" )) {
@@ -108,47 +106,45 @@ main(int argc, char **argv)
108
106
size_B = size_MB * 1048576 ;
109
107
110
108
// create a pdc
111
- pdc = PDCinit ("pdc" );
112
- LOG_INFO ("create a new pdc\n" );
109
+ TASSERT ((pdc = PDCinit ("pdc" )) != 0 , "Call to PDCinit succeeded" , "Call to PDCinit failed" );
113
110
114
111
// create a container property
115
- cont_prop = PDCprop_create (PDC_CONT_CREATE , pdc );
116
- if (cont_prop <= 0 ) {
117
- LOG_ERROR ("Failed to create container property" );
118
- ret_value = 1 ;
119
- }
112
+ TASSERT ((cont_prop = PDCprop_create (PDC_CONT_CREATE , pdc )) != 0 , "Call to PDCprop_create succeeded" ,
113
+ "Call to PDCprop_create failed" );
120
114
// create a container
121
115
/* sprintf(cont_name, "c%d", rank); */
122
116
sprintf (cont_name , "c" );
123
- cont = PDCcont_create_col (cont_name , cont_prop );
124
- if (cont <= 0 ) {
125
- LOG_ERROR ("Failed to create container" );
126
- ret_value = 1 ;
127
- }
117
+ TASSERT ((cont = PDCcont_create_col (cont_name , cont_prop )) != 0 , "Call to PDCcont_create_col succeeded" ,
118
+ "Call to PDCcont_create_col failed" );
128
119
// create an object property
129
- obj_prop = PDCprop_create (PDC_OBJ_CREATE , pdc );
130
- if (obj_prop <= 0 ) {
131
- LOG_ERROR ("Failed to create object property" );
132
- ret_value = 1 ;
133
- }
120
+ TASSERT ((obj_prop = PDCprop_create (PDC_OBJ_CREATE , pdc )) != 0 , "Call to PDCprop_create succeeded" ,
121
+ "Call to PDCprop_create failed" );
134
122
dims [0 ] = size_B ;
135
123
my_data_size = size_B / size ;
136
124
LOG_INFO ("my_data_size at rank %d is %llu\n" , rank , (long long unsigned )my_data_size );
137
125
138
126
mydata = (char * )malloc (my_data_size * type_size );
139
127
140
- PDCprop_set_obj_type (obj_prop , var_type );
141
- PDCprop_set_obj_dims (obj_prop , 1 , dims );
142
- PDCprop_set_obj_user_id (obj_prop , getuid ());
143
- PDCprop_set_obj_time_step (obj_prop , 0 );
144
- PDCprop_set_obj_app_name (obj_prop , "DataServerTest" );
145
- PDCprop_set_obj_tags (obj_prop , "tag0=1" );
128
+ TASSERT (PDCprop_set_obj_type (obj_prop , var_type ) >= 0 , "Call to PDCprop_set_obj_type succeeded" ,
129
+ "Call to PDCprop_set_obj_type failed" );
130
+ TASSERT (PDCprop_set_obj_dims (obj_prop , 1 , dims ) >= 0 , "Call to PDCprop_set_obj_dims succeeded" ,
131
+ "Call to PDCprop_set_obj_dims failed" );
132
+ TASSERT (PDCprop_set_obj_user_id (obj_prop , getuid ()) >= 0 , "Call to (PDCprop_set_obj_user_id succeeded" ,
133
+ "Call to (PDCprop_set_obj_user_id failed" );
134
+ TASSERT (PDCprop_set_obj_time_step (obj_prop , 0 ) >= 0 , "Call to PDCprop_set_obj_time_step succeeded" ,
135
+ "Call to PDCprop_set_obj_time_step failed" );
136
+ TASSERT (PDCprop_set_obj_app_name (obj_prop , "DataServerTest" ) >= 0 ,
137
+ "Call to (PDCprop_set_obj_user_id succeeded" , "Call to (PDCprop_set_obj_user_id failed" );
138
+ TASSERT (PDCprop_set_obj_tags (obj_prop , "tag0=1" ) >= 0 , "Call to (PDCprop_set_obj_tags succeeded" ,
139
+ "Call to (PDCprop_set_obj_tags failed" );
146
140
147
141
// Create a object
148
142
#ifdef ENABLE_MPI
149
- global_obj = PDCobj_create_mpi (cont , obj_name , obj_prop , 0 , comm );
143
+ TASSERT ((global_obj = PDCobj_create_mpi (cont , obj_name , obj_prop , 0 , comm )) != 0 ,
144
+ "Call to PDCobj_create succeeded" , "Call to PDCobj_create failed" );
150
145
#else
151
- global_obj = PDCobj_create (cont , obj_name , obj_prop );
146
+ TASSERT ((global_obj = PDCobj_create (cont , obj_name , obj_prop )) != 0 , "Call to PDCobj_create succeeded" ,
147
+ "Call to PDCobj_create failed" );
152
148
#endif
153
149
154
150
if (global_obj <= 0 ) {
@@ -163,56 +159,38 @@ main(int argc, char **argv)
163
159
offset [0 ] = rank * my_data_size ;
164
160
local_offset [0 ] = 0 ;
165
161
mysize [0 ] = my_data_size ;
166
- LOG_INFO ("rank %d offset = %llu, length = %llu, unit size = %ld\n" , rank , offset [0 ], mysize [0 ],
162
+ LOG_INFO ("Rank %d offset = %llu, length = %llu, unit size = %ld\n" , rank , offset [0 ], mysize [0 ],
167
163
type_size );
168
164
169
- local_region = PDCregion_create (ndim , local_offset , mysize );
170
- global_region = PDCregion_create (ndim , offset , mysize );
165
+ TASSERT ((local_region = PDCregion_create (ndim , local_offset , mysize )) != 0 ,
166
+ "Call to PDCregion_create succeeded" , "Call to PDCregion_create failed" );
167
+ TASSERT ((global_region = PDCregion_create (ndim , offset , mysize )) != 0 ,
168
+ "Call to PDCregion_create succeeded" , "Call to PDCregion_create failed" );
171
169
172
170
for (i = 0 ; i < (int )my_data_size ; i ++ ) {
173
171
for (j = 0 ; j < (int )type_size ; ++ j ) {
174
172
mydata [i * type_size + j ] = i ;
175
173
}
176
174
}
177
- transfer_request = PDCregion_transfer_create (mydata , PDC_WRITE , global_obj , local_region , global_region );
178
- if (transfer_request == 0 ) {
179
- LOG_ERROR ("PDCregion_transfer_create failed\n" );
180
- ret_value = 1 ;
181
- }
175
+
176
+ TASSERT ((transfer_request =
177
+ PDCregion_transfer_create (mydata , PDC_WRITE , global_obj , local_region , global_region )) != 0 ,
178
+ "Call to PDCregion_transfer_create succeeded" , "Call to PDCregion_transfer_create failed" );
182
179
#ifdef ENABLE_MPI
183
180
MPI_Barrier (MPI_COMM_WORLD );
184
181
#endif
185
-
186
- ret = PDCregion_transfer_start (transfer_request );
187
- if (ret != SUCCEED ) {
188
- LOG_ERROR ("Failed to PDCregion_transfer_start" );
189
- ret_value = 1 ;
190
- }
191
-
192
- ret = PDCregion_transfer_wait (transfer_request );
193
- if (ret != SUCCEED ) {
194
- LOG_ERROR ("PDCregion_transfer_wait failed" );
195
- ret_value = 1 ;
196
- }
197
- ret = PDCregion_transfer_close (transfer_request );
198
- if (ret != SUCCEED ) {
199
- LOG_ERROR ("Failed to region transfer close" );
200
- ret_value = 1 ;
201
- }
202
-
203
- if (PDCobj_close (global_obj ) < 0 ) {
204
- LOG_ERROR ("Failed to close global obj" );
205
- ret_value = 1 ;
206
- }
207
-
208
- if (PDCregion_close (local_region ) < 0 ) {
209
- LOG_ERROR ("Failed to close local region" );
210
- ret_value = 1 ;
211
- }
212
- if (PDCregion_close (global_region ) < 0 ) {
213
- LOG_ERROR ("Failed to close global region" );
214
- ret_value = 1 ;
215
- }
182
+ TASSERT (PDCregion_transfer_start (transfer_request ) >= 0 , "Call to PDCregion_transfer_start succeeded" ,
183
+ "Call to PDCregion_transfer_start failed" );
184
+ TASSERT (PDCregion_transfer_wait (transfer_request ) >= 0 , "Call to PDCregion_transfer_wait succeeded" ,
185
+ "Call to PDCregion_transfer_wait failed" );
186
+ TASSERT (PDCregion_transfer_close (transfer_request ) >= 0 , "Call to PDCregion_close succeeded" ,
187
+ "Call to PDCregion_close failed" );
188
+
189
+ TASSERT (PDCobj_close (global_obj ) >= 0 , "Call to PDCobj_close succeeded" , "Call to PDCobj_close failed" );
190
+ TASSERT (PDCregion_close (local_region ) >= 0 , "Call to PDCregion_close succeeded" ,
191
+ "Call to PDCregion_close failed" );
192
+ TASSERT (PDCregion_close (global_region ) >= 0 , "Call to PDCregion_close succeeded" ,
193
+ "Call to PDCregion_close failed" );
216
194
#ifdef ENABLE_MPI
217
195
MPI_Barrier (MPI_COMM_WORLD );
218
196
#endif
@@ -224,80 +202,51 @@ main(int argc, char **argv)
224
202
LOG_INFO ("rank %d offset = %llu, length = %llu, unit size = %ld\n" , rank , offset [0 ], mysize [0 ],
225
203
type_size );
226
204
227
- local_region = PDCregion_create (ndim , local_offset , mysize );
228
- global_region = PDCregion_create (ndim , offset , mysize );
205
+ TASSERT ((local_region = PDCregion_create (ndim , local_offset , mysize )) != 0 ,
206
+ "Call to PDCregion_create succeeded" , "Call to PDCregion_create failed" );
207
+ TASSERT ((global_region = PDCregion_create (ndim , offset , mysize )) != 0 ,
208
+ "Call to PDCregion_create succeeded" , "Call to PDCregion_create failed" );
229
209
230
- global_obj = PDCobj_open (obj_name , pdc );
210
+ TASSERT ((global_obj = PDCobj_open (obj_name , pdc )) != 0 , "Call to PDCobj_open succeeded" ,
211
+ "Call to PDCobj_open failed" );
231
212
memset (mydata , 0 , my_data_size * type_size );
232
213
233
- transfer_request = PDCregion_transfer_create (mydata , PDC_READ , global_obj , local_region , global_region );
234
- if (ret != SUCCEED ) {
235
- LOG_ERROR ("PDCregion_transfer_create failed\n" );
236
- ret_value = 1 ;
237
- }
214
+ TASSERT ((transfer_request =
215
+ PDCregion_transfer_create (mydata , PDC_READ , global_obj , local_region , global_region )) != 0 ,
216
+ "Call to PDCregion_transfer_create succeeded" , "Call to PDCregion_transfer_create failed" );
238
217
#ifdef ENABLE_MPI
239
218
MPI_Barrier (MPI_COMM_WORLD );
240
219
#endif
241
- ret = PDCregion_transfer_start (transfer_request );
242
- if (ret != SUCCEED ) {
243
- LOG_ERROR ("Failed to PDCregion_transfer_start" );
244
- ret_value = 1 ;
245
- }
246
-
247
- ret = PDCregion_transfer_wait (transfer_request );
248
- if (ret != SUCCEED ) {
249
- LOG_ERROR ("PDCregion_transfer_wait failed" );
250
- ret_value = 1 ;
251
- }
252
- ret = PDCregion_transfer_close (transfer_request );
253
- if (ret != SUCCEED ) {
254
- LOG_ERROR ("Failed to region transfer close" );
255
- ret_value = 1 ;
256
- }
220
+ TASSERT (PDCregion_transfer_start (transfer_request ) >= 0 , "Call to PDCregion_transfer_start succeeded" ,
221
+ "Call to PDCregion_transfer_start failed" );
222
+ TASSERT (PDCregion_transfer_wait (transfer_request ) >= 0 , "Call to PDCregion_transfer_wait succeeded" ,
223
+ "Call to PDCregion_transfer_wait failed" );
224
+ TASSERT (PDCregion_transfer_close (transfer_request ) >= 0 , "Call to PDCregion_close succeeded" ,
225
+ "Call to PDCregion_close failed" );
257
226
258
227
for (i = 0 ; i < (int )my_data_size ; i ++ ) {
259
-
260
228
for (j = 0 ; j < (int )type_size ; ++ j ) {
261
229
if (mydata [i * type_size + j ] != (char )i ) {
262
- LOG_ERROR ("Wrong value detected %d != %d!\n" , mydata [i * type_size + j ], i );
263
- ret_value = 1 ;
264
- i = my_data_size ;
265
- break ;
230
+ TGOTO_ERROR (TFAIL , "Wrong value detected %d != %d!\n" , mydata [i * type_size + j ], i );
266
231
}
267
232
}
268
233
}
269
234
270
- if (PDCobj_close (global_obj ) < 0 ) {
271
- LOG_ERROR ("Failed to close global obj\n" );
272
- ret_value = 1 ;
273
- }
274
-
275
- if (PDCregion_close (local_region ) < 0 ) {
276
- LOG_ERROR ("Failed to close local region\n" );
277
- ret_value = 1 ;
278
- }
279
- if (PDCregion_close (global_region ) < 0 ) {
280
- LOG_ERROR ("Failed to close global region\n" );
281
- ret_value = 1 ;
282
- }
235
+ TASSERT (PDCobj_close (global_obj ) >= 0 , "Call to PDCobj_close succeeded" , "Call to PDCobj_close failed" );
236
+ TASSERT (PDCregion_close (local_region ) >= 0 , "Call to PDCregion_close succeeded" ,
237
+ "Call to PDCregion_close failed" );
238
+ TASSERT (PDCregion_close (global_region ) >= 0 , "Call to PDCregion_close succeeded" ,
239
+ "Call to PDCregion_close failed" );
240
+ TASSERT (PDCcont_close (cont ) >= 0 , "Call to PDCcont_close succeeded" , "Call to PDCcont_close failed" );
241
+ TASSERT (PDCprop_close (cont_prop ) >= 0 , "Call to PDCprop_close succeeded" , "Call to PDCprop_close failed" );
242
+ TASSERT (PDCclose (pdc ) >= 0 , "Call to PDCclose succeeded" , "Call to PDCclose failed" );
283
243
284
- if (PDCcont_close (cont ) < 0 ) {
285
- LOG_ERROR ("Failed to close container\n" );
286
- ret_value = 1 ;
287
- }
288
- if (PDCprop_close (cont_prop ) < 0 ) {
289
- LOG_ERROR ("Failed to close property" );
290
- ret_value = 1 ;
291
- }
292
- if (PDCclose (pdc ) < 0 ) {
293
- LOG_ERROR ("Failed to close PDC\n" );
294
- ret_value = 1 ;
295
- }
296
244
free (mydata );
297
245
free (offset );
298
246
free (local_offset );
299
247
free (mysize );
300
248
249
+ done :
301
250
#ifdef ENABLE_MPI
302
251
MPI_Finalize ();
303
252
#endif
0 commit comments