diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-01-06 18:31:40 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-01-06 18:31:40 (GMT) |
commit | 8266f69f5eb1511e207d7956e70d65f9a00af917 (patch) | |
tree | be85f52da22c1eb122724fdf1ea31caca95e7d97 /testpar/testphdf5.c | |
parent | b3a2bd81a1c2d27ea9e34e833149401e340bdc92 (diff) | |
download | hdf5-8266f69f5eb1511e207d7956e70d65f9a00af917.zip hdf5-8266f69f5eb1511e207d7956e70d65f9a00af917.tar.gz hdf5-8266f69f5eb1511e207d7956e70d65f9a00af917.tar.bz2 |
[svn-r24614] Bring 24612 from trunk:
fix bugs in parallel tests exposed in corner cases when running with 1 or 2 processes.
First bug is in testpar/t_mdset.c, where the test reports an error in addition to skipping the test if there are less than three procs. Fix to just skip the test.
Second bug is in testpar/t_dset.c in actual_io_mode tests, where incorrect expected value for IO mode was set if the number of procs running the test is 1.
tested with h5committest.
Diffstat (limited to 'testpar/testphdf5.c')
-rw-r--r-- | testpar/testphdf5.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/testpar/testphdf5.c b/testpar/testphdf5.c index b594053..3c5f91d 100644 --- a/testpar/testphdf5.c +++ b/testpar/testphdf5.c @@ -342,7 +342,7 @@ int main(int argc, char **argv) * calls. By then, MPI calls may not work. */ if (H5dont_atexit() < 0){ - printf("Failed to turn off atexit processing. Continue.\n", mpi_rank); + printf("Failed to turn off atexit processing. Continue.\n"); }; H5open(); h5_show_hostname(); @@ -486,11 +486,17 @@ int main(int argc, char **argv) "I/O mode confusion test -- hangs quickly on failure", &io_mode_confusion_params); - rr_obj_flush_confusion_params.name = PARATESTFILE; - rr_obj_flush_confusion_params.count = 0; /* value not used */ - AddTest("rrobjflushconf", rr_obj_hdr_flush_confusion, NULL, - "round robin object header flush confusion test", - &rr_obj_flush_confusion_params); + if((mpi_size < 3) && MAINPROCESS) { + printf("rr_obj_hdr_flush_confusion test needs at least 3 processes.\n"); + printf("rr_obj_hdr_flush_confusion test will be skipped \n"); + } + if(mpi_size > 2) { + rr_obj_flush_confusion_params.name = PARATESTFILE; + rr_obj_flush_confusion_params.count = 0; /* value not used */ + AddTest("rrobjflushconf", rr_obj_hdr_flush_confusion, NULL, + "round robin object header flush confusion test", + &rr_obj_flush_confusion_params); + } AddTest("tldsc", lower_dim_size_comp_test, NULL, |