diff options
Diffstat (limited to 'tools/h5diff')
58 files changed, 568 insertions, 138 deletions
diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in index 04a64da..e11ee1f 100644 --- a/tools/h5diff/Makefile.in +++ b/tools/h5diff/Makefile.in @@ -329,12 +329,12 @@ CP = cp # Some machines need a command to run executables; this is that command # so that our tests will run. -# We use RUNTESTS instead of RUNSERIAL directly because it may be that +# We use RUNEXEC instead of RUNSERIAL directly because it may be that # some tests need to be run with a different command. Older versions # of the makefiles used the command # $(LIBTOOL) --mode=execute # in some directories, for instance. -RUNTESTS = $(RUNSERIAL) +RUNEXEC = $(RUNSERIAL) # Libraries to link to while building LIBHDF5 = $(top_builddir)/src/libhdf5.la @@ -860,7 +860,7 @@ $(TEST_PROG_CHKEXE) $(TEST_PROG_PARA_CHKEXE) dummy.chkexe_: fi; \ echo "============================" >> $${log}; \ srcdir="$(srcdir)" \ - $(TIME) $(RUNTESTS) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \ + $(TIME) $(RUNEXEC) ./$${tname} $(TEST_FLAGS) >> $${log} 2>&1 \ && touch $(@:.chkexe_=.chkexe) || \ (test $$HDF5_Make_Ignore && echo "*** Error ignored") || \ (cat $${log} && false) || exit 1; \ @@ -931,7 +931,7 @@ build-check-p: $(LIB) $(PROGS) $(TESTS) @for test in $(TEST_PROG_PARA) dummy; do \ if test $$test != dummy; then \ $(MAKE) $(AM_MAKEFLAGS) $$test.chkexe_ \ - RUNTESTS="$(RUNPARALLEL)" || exit 1; \ + RUNEXEC="$(RUNPARALLEL)" || exit 1; \ fi; \ done @for test in $(TEST_SCRIPT_PARA) dummy; do \ diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c index 3403935..64b0097 100644 --- a/tools/h5diff/h5diff_common.c +++ b/tools/h5diff/h5diff_common.c @@ -31,7 +31,7 @@ const char *progname = "h5diff"; * Command-line options: The user can specify short or long-named * parameters. */ -static const char *s_opts = "hVrvqn:d:p:Nc"; +static const char *s_opts = "hVrvqn:d:p:Ncl"; static struct long_options l_opts[] = { { "help", no_arg, 'h' }, { "version", no_arg, 'V' }, @@ -44,6 +44,7 @@ static struct long_options l_opts[] = { { "nan", no_arg, 'N' }, { "compare", no_arg, 'c' }, { "use-system-epsilon", no_arg, 'e' }, + { "link-follow", no_arg, 'l' }, { NULL, 0, '\0' } }; @@ -100,6 +101,9 @@ void parse_command_line(int argc, case 'r': options->m_report = 1; break; + case 'l': + options->linkfollow = 1; + break; case 'd': options->d=1; @@ -360,6 +364,7 @@ void usage(void) printf(" -r, --report Report mode. Print differences\n"); printf(" -v, --verbose Verbose mode. Print differences, list of objects\n"); printf(" -q, --quiet Quiet mode. Do not do output\n"); + printf(" -l, --link-follow Follow link(s)\n"); printf(" -c, --compare List objects that are not comparable\n"); printf(" -N, --nan Avoid NaNs detection\n"); printf(" -n C, --count=C Print differences up to C number, C is a positive integer.\n"); diff --git a/tools/h5diff/testfiles/h5diff_10.txt b/tools/h5diff/testfiles/h5diff_10.txt index 4788a79..a6b637a 100644 --- a/tools/h5diff/testfiles/h5diff_10.txt +++ b/tools/h5diff/testfiles/h5diff_10.txt @@ -9,6 +9,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_200.txt b/tools/h5diff/testfiles/h5diff_200.txt index 5a4d02e..56d723d 100644 --- a/tools/h5diff/testfiles/h5diff_200.txt +++ b/tools/h5diff/testfiles/h5diff_200.txt @@ -1,4 +1,3 @@ -dataset: </g2/dset1> and </g2/dset2> -------------------------------- Some objects are not comparable -------------------------------- diff --git a/tools/h5diff/testfiles/h5diff_201.txt b/tools/h5diff/testfiles/h5diff_201.txt index da916ea..84d6766 100644 --- a/tools/h5diff/testfiles/h5diff_201.txt +++ b/tools/h5diff/testfiles/h5diff_201.txt @@ -1,2 +1 @@ -dataset: </g2/dset1> and </g2/dset2> Not comparable: </g2/dset1> or </g2/dset2> is an empty dataset diff --git a/tools/h5diff/testfiles/h5diff_202.txt b/tools/h5diff/testfiles/h5diff_202.txt index 8e3c7ac..fd4a191 100644 --- a/tools/h5diff/testfiles/h5diff_202.txt +++ b/tools/h5diff/testfiles/h5diff_202.txt @@ -1,3 +1,2 @@ -dataset: </g2/dset2> and </g2/dset3> Not comparable: </g2/dset2> is of class H5T_FLOAT and </g2/dset3> is of class H5T_INTEGER Not comparable: </g2/dset2> has sign H5T_SGN_ERROR and </g2/dset3> has sign H5T_SGN_2 diff --git a/tools/h5diff/testfiles/h5diff_203.txt b/tools/h5diff/testfiles/h5diff_203.txt index 90294e3..496523c 100644 --- a/tools/h5diff/testfiles/h5diff_203.txt +++ b/tools/h5diff/testfiles/h5diff_203.txt @@ -1,3 +1,2 @@ -dataset: </g2/dset3> and </g2/dset4> Not comparable: </g2/dset3> has rank 1, dimensions [6], max dimensions [6] and </g2/dset4> has rank 2, dimensions [3x2], max dimensions [3x2] diff --git a/tools/h5diff/testfiles/h5diff_204.txt b/tools/h5diff/testfiles/h5diff_204.txt index a94091d..098a203 100644 --- a/tools/h5diff/testfiles/h5diff_204.txt +++ b/tools/h5diff/testfiles/h5diff_204.txt @@ -1,3 +1,2 @@ -dataset: </g2/dset4> and </g2/dset5> Not comparable: </g2/dset4> has rank 2, dimensions [3x2], max dimensions [3x2] and </g2/dset5> has rank 2, dimensions [2x2], max dimensions [2x2] diff --git a/tools/h5diff/testfiles/h5diff_205.txt b/tools/h5diff/testfiles/h5diff_205.txt index c3708cb..3e2d1f2 100644 --- a/tools/h5diff/testfiles/h5diff_205.txt +++ b/tools/h5diff/testfiles/h5diff_205.txt @@ -1,4 +1,3 @@ -dataset: </g2/dset5> and </g2/dset6> Not comparable: </g2/dset5> has rank 2, dimensions [2x2], max dimensions [2x2] and </g2/dset6> has rank 2, dimensions [3x2], max dimensions [3x2] Not comparable: </g2/dset5> has sign H5T_SGN_2 and </g2/dset6> has sign H5T_SGN_NONE diff --git a/tools/h5diff/testfiles/h5diff_206.txt b/tools/h5diff/testfiles/h5diff_206.txt index 3557b1e..164aed9 100644 --- a/tools/h5diff/testfiles/h5diff_206.txt +++ b/tools/h5diff/testfiles/h5diff_206.txt @@ -1,2 +1 @@ -dataset: </g2/dset7> and </g2/dset8> Not comparable: </g2/dset7> has a class H5T_FLOAT and </g2/dset8> has a class H5T_INTEGER diff --git a/tools/h5diff/testfiles/h5diff_207.txt b/tools/h5diff/testfiles/h5diff_207.txt index 4dfcbb7..bb8e23f 100644 --- a/tools/h5diff/testfiles/h5diff_207.txt +++ b/tools/h5diff/testfiles/h5diff_207.txt @@ -1,3 +1,2 @@ -dataset: </g2/dset8> and </g2/dset9> Not comparable: </g2/dset8> or </g2/dset9> is an empty dataset Not comparable: </g2/dset8> has 2 members </g2/dset9> has 1 members diff --git a/tools/h5diff/testfiles/h5diff_300.txt b/tools/h5diff/testfiles/h5diff_300.txt new file mode 100755 index 0000000..0cfc01b --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_300.txt @@ -0,0 +1,2 @@ +link : </link_g1> and </link_g2> +1 differences found diff --git a/tools/h5diff/testfiles/h5diff_400.txt b/tools/h5diff/testfiles/h5diff_400.txt new file mode 100644 index 0000000..4b910f5 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_400.txt @@ -0,0 +1,54 @@ + +file1 file2 +--------------------------------------- + x x / + x x /softlink_dset1_1 + x x /softlink_dset1_2 + x x /softlink_dset2 + x x /softlink_group1 + x x /softlink_group2 + x x /softlink_noexist + x x /target_dset1 + x x /target_dset2 + x x /target_group + x x /target_group/dset + +group : </> and </> +0 differences found +link : </softlink_dset1_1> and </softlink_dset1_1> +dataset: </target_dset1> and </target_dset1> +0 differences found +0 differences found +link : </softlink_dset1_2> and </softlink_dset1_2> +dataset: </target_dset1> and </target_dset1> +0 differences found +0 differences found +link : </softlink_dset2> and </softlink_dset2> +dataset: </target_dset2> and </target_dset2> +0 differences found +0 differences found +link : </softlink_group1> and </softlink_group1> +group : </target_group> and </target_group> +0 differences found +0 differences found +link : </softlink_group2> and </softlink_group2> +group : </target_group> and </target_group> +0 differences found +0 differences found +warn: link target "/no_obj" doesn't exist +warn: link target "/no_obj" doesn't exist +link : </softlink_noexist> and </softlink_noexist> +Comparison not supported: </no_obj> and </no_obj> are of type unknown type +0 differences found +dataset: </target_dset1> and </target_dset1> +0 differences found +dataset: </target_dset2> and </target_dset2> +0 differences found +group : </target_group> and </target_group> +0 differences found +dataset: </target_group/dset> and </target_group/dset> +0 differences found +-------------------------------- +Some objects are not comparable +-------------------------------- +Use -c for a list of objects. diff --git a/tools/h5diff/testfiles/h5diff_401.txt b/tools/h5diff/testfiles/h5diff_401.txt new file mode 100644 index 0000000..5c599e3 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_401.txt @@ -0,0 +1,12 @@ +dataset: </target_dset1> and </target_dset2> +size: [2x4] [2x4] +position target_dset1 target_dset2 difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_402.txt b/tools/h5diff/testfiles/h5diff_402.txt new file mode 100644 index 0000000..228c8cc --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_402.txt @@ -0,0 +1,12 @@ +dataset: </target_dset2> and </target_dset1> +size: [2x4] [2x4] +position target_dset2 target_dset1 difference +------------------------------------------------------------ +[ 0 1 ] 0 1 1 +[ 0 2 ] 0 2 2 +[ 0 3 ] 0 3 3 +[ 1 0 ] 0 1 1 +[ 1 1 ] 0 2 2 +[ 1 2 ] 0 3 3 +[ 1 3 ] 0 4 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_403.txt b/tools/h5diff/testfiles/h5diff_403.txt new file mode 100644 index 0000000..5c599e3 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_403.txt @@ -0,0 +1,12 @@ +dataset: </target_dset1> and </target_dset2> +size: [2x4] [2x4] +position target_dset1 target_dset2 difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_404.txt b/tools/h5diff/testfiles/h5diff_404.txt new file mode 100644 index 0000000..2a0b856 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_404.txt @@ -0,0 +1,36 @@ + +file1 file2 +--------------------------------------- + x x / + x x /ext_link_dset1 + x x /ext_link_dset2 + x x /ext_link_grp1 + x x /ext_link_grp2 + x x /ext_link_noexist1 + x x /ext_link_noexist2 + +group : </> and </> +0 differences found +external link: </ext_link_dset1> and </ext_link_dset1> +dataset: </target_group/x_dset> and </target_group/x_dset> +0 differences found +0 differences found +external link: </ext_link_dset2> and </ext_link_dset2> +dataset: </target_group2/x_dset> and </target_group2/x_dset> +0 differences found +0 differences found +external link: </ext_link_grp1> and </ext_link_grp1> +group : </target_group> and </target_group> +0 differences found +0 differences found +external link: </ext_link_grp2> and </ext_link_grp2> +group : </target_group2> and </target_group2> +0 differences found +0 differences found +external link: </ext_link_noexist1> and </ext_link_noexist1> +Object </no_obj> could not be found in <h5diff_extlink_trg.h5> +Object </no_obj> could not be found in <h5diff_extlink_trg.h5> +0 differences found +external link: </ext_link_noexist2> and </ext_link_noexist2> +h5diff: <no_file.h5>: unable to open file +0 differences found diff --git a/tools/h5diff/testfiles/h5diff_405.txt b/tools/h5diff/testfiles/h5diff_405.txt new file mode 100644 index 0000000..edbf22a --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_405.txt @@ -0,0 +1,12 @@ +dataset: </target_group/x_dset> and </target_group2/x_dset> +size: [2x4] [2x4] +position x_dset x_dset difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_406.txt b/tools/h5diff/testfiles/h5diff_406.txt new file mode 100644 index 0000000..7c5eb3e --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_406.txt @@ -0,0 +1,12 @@ +dataset: </target_group2/x_dset> and </target_group/x_dset> +size: [2x4] [2x4] +position x_dset x_dset difference +------------------------------------------------------------ +[ 0 1 ] 0 1 1 +[ 0 2 ] 0 2 2 +[ 0 3 ] 0 3 3 +[ 1 0 ] 0 1 1 +[ 1 1 ] 0 2 2 +[ 1 2 ] 0 3 3 +[ 1 3 ] 0 4 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_407.txt b/tools/h5diff/testfiles/h5diff_407.txt new file mode 100644 index 0000000..edbf22a --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_407.txt @@ -0,0 +1,12 @@ +dataset: </target_group/x_dset> and </target_group2/x_dset> +size: [2x4] [2x4] +position x_dset x_dset difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_408.txt b/tools/h5diff/testfiles/h5diff_408.txt new file mode 100644 index 0000000..11a928a --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_408.txt @@ -0,0 +1,12 @@ +dataset: </target_dset1> and </target_group2/x_dset> +size: [2x4] [2x4] +position target_dset1 x_dset difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_409.txt b/tools/h5diff/testfiles/h5diff_409.txt new file mode 100644 index 0000000..3b95e7c --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_409.txt @@ -0,0 +1,12 @@ +dataset: </target_group2/x_dset> and </target_dset1> +size: [2x4] [2x4] +position x_dset target_dset1 difference +------------------------------------------------------------ +[ 0 1 ] 0 1 1 +[ 0 2 ] 0 2 2 +[ 0 3 ] 0 3 3 +[ 1 0 ] 0 1 1 +[ 1 1 ] 0 2 2 +[ 1 2 ] 0 3 3 +[ 1 3 ] 0 4 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_410.txt b/tools/h5diff/testfiles/h5diff_410.txt new file mode 100644 index 0000000..8c645d2 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_410.txt @@ -0,0 +1,85 @@ + +file1 file2 +--------------------------------------- + x x / + x x /softlink1_to_dset1 + x x /softlink1_to_slink1 + x x /softlink1_to_slink2 + x x /softlink2_to_dset2 + x x /softlink2_to_slink1 + x x /softlink2_to_slink2 + x x /softlink3_to_group1 + x x /softlink3_to_slink1 + x x /softlink3_to_slink2 + x x /softlink4_to_group2 + x x /softlink4_to_slink1 + x x /softlink4_to_slink2 + x x /target_dset1 + x x /target_dset2 + x x /target_group + x x /target_group/dset + x x /target_group1 + x x /target_group2 + +group : </> and </> +0 differences found +link : </softlink1_to_dset1> and </softlink1_to_dset1> +dataset: </target_dset1> and </target_dset1> +0 differences found +0 differences found +link : </softlink1_to_slink1> and </softlink1_to_slink1> +dataset: <softlink1_to_dset1> and <softlink1_to_dset1> +0 differences found +0 differences found +link : </softlink1_to_slink2> and </softlink1_to_slink2> +dataset: <softlink1_to_slink1> and <softlink1_to_slink1> +0 differences found +0 differences found +link : </softlink2_to_dset2> and </softlink2_to_dset2> +dataset: </target_dset2> and </target_dset2> +0 differences found +0 differences found +link : </softlink2_to_slink1> and </softlink2_to_slink1> +dataset: <softlink2_to_dset2> and <softlink2_to_dset2> +0 differences found +0 differences found +link : </softlink2_to_slink2> and </softlink2_to_slink2> +dataset: <softlink2_to_slink1> and <softlink2_to_slink1> +0 differences found +0 differences found +link : </softlink3_to_group1> and </softlink3_to_group1> +group : <target_group1> and <target_group1> +0 differences found +0 differences found +link : </softlink3_to_slink1> and </softlink3_to_slink1> +group : <softlink3_to_group1> and <softlink3_to_group1> +0 differences found +0 differences found +link : </softlink3_to_slink2> and </softlink3_to_slink2> +group : <softlink3_to_slink1> and <softlink3_to_slink1> +0 differences found +0 differences found +link : </softlink4_to_group2> and </softlink4_to_group2> +group : <target_group2> and <target_group2> +0 differences found +0 differences found +link : </softlink4_to_slink1> and </softlink4_to_slink1> +group : <softlink4_to_group2> and <softlink4_to_group2> +0 differences found +0 differences found +link : </softlink4_to_slink2> and </softlink4_to_slink2> +group : <softlink4_to_slink1> and <softlink4_to_slink1> +0 differences found +0 differences found +dataset: </target_dset1> and </target_dset1> +0 differences found +dataset: </target_dset2> and </target_dset2> +0 differences found +group : </target_group> and </target_group> +0 differences found +dataset: </target_group/dset> and </target_group/dset> +0 differences found +group : </target_group1> and </target_group1> +0 differences found +group : </target_group2> and </target_group2> +0 differences found diff --git a/tools/h5diff/testfiles/h5diff_411.txt b/tools/h5diff/testfiles/h5diff_411.txt new file mode 100644 index 0000000..2775677 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_411.txt @@ -0,0 +1,12 @@ +dataset: </target_dset2> and <softlink1_to_slink1> +size: [2x4] [2x4] +position target_dset2 softlink1_to_slink1 difference +------------------------------------------------------------ +[ 0 1 ] 0 1 1 +[ 0 2 ] 0 2 2 +[ 0 3 ] 0 3 3 +[ 1 0 ] 0 1 1 +[ 1 1 ] 0 2 2 +[ 1 2 ] 0 3 3 +[ 1 3 ] 0 4 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_412.txt b/tools/h5diff/testfiles/h5diff_412.txt new file mode 100644 index 0000000..0924099 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_412.txt @@ -0,0 +1,12 @@ +dataset: <softlink1_to_slink1> and </target_dset2> +size: [2x4] [2x4] +position softlink1_to_slink1 target_dset2 difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_413.txt b/tools/h5diff/testfiles/h5diff_413.txt new file mode 100644 index 0000000..ae6cfea --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_413.txt @@ -0,0 +1,12 @@ +dataset: <softlink1_to_slink1> and <softlink2_to_slink1> +size: [2x4] [2x4] +position softlink1_to_slink1 softlink2_to_slink1 difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_414.txt b/tools/h5diff/testfiles/h5diff_414.txt new file mode 100644 index 0000000..0f07a14 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_414.txt @@ -0,0 +1,2 @@ +group : </target_group> and <softlink3_to_slink1> +1 differences found diff --git a/tools/h5diff/testfiles/h5diff_415.txt b/tools/h5diff/testfiles/h5diff_415.txt new file mode 100644 index 0000000..3a9d863 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_415.txt @@ -0,0 +1,2 @@ +group : <softlink3_to_slink1> and </target_group> +1 differences found diff --git a/tools/h5diff/testfiles/h5diff_416.txt b/tools/h5diff/testfiles/h5diff_416.txt new file mode 100644 index 0000000..39d88bc --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_416.txt @@ -0,0 +1,2 @@ +group : <softlink3_to_slink1> and <softlink4_to_slink1> +1 differences found diff --git a/tools/h5diff/testfiles/h5diff_417.txt b/tools/h5diff/testfiles/h5diff_417.txt new file mode 100644 index 0000000..56031e9 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_417.txt @@ -0,0 +1,6 @@ +warn: link target "/no_obj" doesn't exist +</no_obj> is of type unknown type and </target_dset2> is of type H5G_DATASET +-------------------------------- +Some objects are not comparable +-------------------------------- +Use -c for a list of objects. diff --git a/tools/h5diff/testfiles/h5diff_418.txt b/tools/h5diff/testfiles/h5diff_418.txt new file mode 100644 index 0000000..0222174 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_418.txt @@ -0,0 +1,6 @@ +warn: link target "/no_obj" doesn't exist +</target_dset2> is of type H5G_DATASET and </no_obj> is of type unknown type +-------------------------------- +Some objects are not comparable +-------------------------------- +Use -c for a list of objects. diff --git a/tools/h5diff/testfiles/h5diff_419.txt b/tools/h5diff/testfiles/h5diff_419.txt new file mode 100644 index 0000000..836e95f --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_419.txt @@ -0,0 +1,2 @@ +error: <no_file.h5>: unable to open file +error: unable to get external link info from "/ext_link_noexist2" diff --git a/tools/h5diff/testfiles/h5diff_420.txt b/tools/h5diff/testfiles/h5diff_420.txt new file mode 100644 index 0000000..836e95f --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_420.txt @@ -0,0 +1,2 @@ +error: <no_file.h5>: unable to open file +error: unable to get external link info from "/ext_link_noexist2" diff --git a/tools/h5diff/testfiles/h5diff_421.txt b/tools/h5diff/testfiles/h5diff_421.txt new file mode 100644 index 0000000..c686b69 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_421.txt @@ -0,0 +1,2 @@ +error: "/no_obj" doesn't exist +error: unable to get external link info from "/ext_link_noexist1" diff --git a/tools/h5diff/testfiles/h5diff_422.txt b/tools/h5diff/testfiles/h5diff_422.txt new file mode 100644 index 0000000..c686b69 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_422.txt @@ -0,0 +1,2 @@ +error: "/no_obj" doesn't exist +error: unable to get external link info from "/ext_link_noexist1" diff --git a/tools/h5diff/testfiles/h5diff_423.txt b/tools/h5diff/testfiles/h5diff_423.txt new file mode 100644 index 0000000..5eb6766 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_423.txt @@ -0,0 +1,12 @@ +dataset: </dset1> and </dset2> +size: [2x4] [2x4] +position dset1 dset2 difference +------------------------------------------------------------ +[ 0 1 ] 0 1 1 +[ 0 2 ] 0 2 2 +[ 0 3 ] 0 3 3 +[ 1 0 ] 0 1 1 +[ 1 1 ] 0 2 2 +[ 1 2 ] 0 3 3 +[ 1 3 ] 0 4 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_424.txt b/tools/h5diff/testfiles/h5diff_424.txt new file mode 100644 index 0000000..cd240cf --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_424.txt @@ -0,0 +1,12 @@ +dataset: </dset2> and </dset1> +size: [2x4] [2x4] +position dset2 dset1 difference +------------------------------------------------------------ +[ 0 1 ] 1 0 1 +[ 0 2 ] 2 0 2 +[ 0 3 ] 3 0 3 +[ 1 0 ] 1 0 1 +[ 1 1 ] 2 0 2 +[ 1 2 ] 3 0 3 +[ 1 3 ] 4 0 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_425.txt b/tools/h5diff/testfiles/h5diff_425.txt new file mode 100644 index 0000000..5eb6766 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_425.txt @@ -0,0 +1,12 @@ +dataset: </dset1> and </dset2> +size: [2x4] [2x4] +position dset1 dset2 difference +------------------------------------------------------------ +[ 0 1 ] 0 1 1 +[ 0 2 ] 0 2 2 +[ 0 3 ] 0 3 3 +[ 1 0 ] 0 1 1 +[ 1 1 ] 0 2 2 +[ 1 2 ] 0 3 3 +[ 1 3 ] 0 4 4 +7 differences found diff --git a/tools/h5diff/testfiles/h5diff_600.txt b/tools/h5diff/testfiles/h5diff_600.txt index 82c5240..376e530 100644 --- a/tools/h5diff/testfiles/h5diff_600.txt +++ b/tools/h5diff/testfiles/h5diff_600.txt @@ -9,6 +9,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_603.txt b/tools/h5diff/testfiles/h5diff_603.txt index e115114..f8a858d 100644 --- a/tools/h5diff/testfiles/h5diff_603.txt +++ b/tools/h5diff/testfiles/h5diff_603.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_606.txt b/tools/h5diff/testfiles/h5diff_606.txt index db361fd..ab317bd 100644 --- a/tools/h5diff/testfiles/h5diff_606.txt +++ b/tools/h5diff/testfiles/h5diff_606.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_609.txt b/tools/h5diff/testfiles/h5diff_609.txt index 9369dd9..e69de29 100644 --- a/tools/h5diff/testfiles/h5diff_609.txt +++ b/tools/h5diff/testfiles/h5diff_609.txt @@ -1,2 +0,0 @@ -dataset: </g1/dset3> and </g1/dset4> -0 differences found diff --git a/tools/h5diff/testfiles/h5diff_612.txt b/tools/h5diff/testfiles/h5diff_612.txt index bbd6b00..875e17e 100644 --- a/tools/h5diff/testfiles/h5diff_612.txt +++ b/tools/h5diff/testfiles/h5diff_612.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_615.txt b/tools/h5diff/testfiles/h5diff_615.txt index 9c8f0c7..258124a 100644 --- a/tools/h5diff/testfiles/h5diff_615.txt +++ b/tools/h5diff/testfiles/h5diff_615.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_618.txt b/tools/h5diff/testfiles/h5diff_618.txt index 9369dd9..e69de29 100644 --- a/tools/h5diff/testfiles/h5diff_618.txt +++ b/tools/h5diff/testfiles/h5diff_618.txt @@ -1,2 +0,0 @@ -dataset: </g1/dset3> and </g1/dset4> -0 differences found diff --git a/tools/h5diff/testfiles/h5diff_621.txt b/tools/h5diff/testfiles/h5diff_621.txt index 79eebed..1fd7f08 100644 --- a/tools/h5diff/testfiles/h5diff_621.txt +++ b/tools/h5diff/testfiles/h5diff_621.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_622.txt b/tools/h5diff/testfiles/h5diff_622.txt index 09de51d..bf15c2a 100644 --- a/tools/h5diff/testfiles/h5diff_622.txt +++ b/tools/h5diff/testfiles/h5diff_622.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_623.txt b/tools/h5diff/testfiles/h5diff_623.txt index dc60b94..5186dcc 100644 --- a/tools/h5diff/testfiles/h5diff_623.txt +++ b/tools/h5diff/testfiles/h5diff_623.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_624.txt b/tools/h5diff/testfiles/h5diff_624.txt index 016ab77..d646a25 100644 --- a/tools/h5diff/testfiles/h5diff_624.txt +++ b/tools/h5diff/testfiles/h5diff_624.txt @@ -10,6 +10,7 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r, --report Report mode. Print differences -v, --verbose Verbose mode. Print differences, list of objects -q, --quiet Quiet mode. Do not do output + -l, --link-follow Follow link(s) -c, --compare List objects that are not comparable -N, --nan Avoid NaNs detection -n C, --count=C Print differences up to C number, C is a positive integer. diff --git a/tools/h5diff/testfiles/h5diff_ext2softlink_src.h5 b/tools/h5diff/testfiles/h5diff_ext2softlink_src.h5 Binary files differnew file mode 100644 index 0000000..50b7d2b --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_ext2softlink_src.h5 diff --git a/tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5 b/tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5 Binary files differnew file mode 100644 index 0000000..610e890 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5 diff --git a/tools/h5diff/testfiles/h5diff_extlink_src.h5 b/tools/h5diff/testfiles/h5diff_extlink_src.h5 Binary files differnew file mode 100644 index 0000000..cfc1066 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_extlink_src.h5 diff --git a/tools/h5diff/testfiles/h5diff_extlink_trg.h5 b/tools/h5diff/testfiles/h5diff_extlink_trg.h5 Binary files differnew file mode 100644 index 0000000..3a322c9 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_extlink_trg.h5 diff --git a/tools/h5diff/testfiles/h5diff_linked_softlink.h5 b/tools/h5diff/testfiles/h5diff_linked_softlink.h5 Binary files differnew file mode 100644 index 0000000..03c5dee --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_linked_softlink.h5 diff --git a/tools/h5diff/testfiles/h5diff_links.h5 b/tools/h5diff/testfiles/h5diff_links.h5 Binary files differnew file mode 100755 index 0000000..8af66a6 --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_links.h5 diff --git a/tools/h5diff/testfiles/h5diff_softlinks.h5 b/tools/h5diff/testfiles/h5diff_softlinks.h5 Binary files differnew file mode 100644 index 0000000..67a843d --- /dev/null +++ b/tools/h5diff/testfiles/h5diff_softlinks.h5 diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh index f316d7c..247e3e1 100755 --- a/tools/h5diff/testh5diff.sh +++ b/tools/h5diff/testh5diff.sh @@ -29,36 +29,30 @@ ## test file names ############################################################################### -INDIR=$srcdir/testfiles - -SRCFILE1=h5diff_basic1.h5 -SRCFILE2=h5diff_basic2.h5 -SRCFILE3=h5diff_types.h5 -SRCFILE4=h5diff_dtypes.h5 -SRCFILE5=h5diff_attr1.h5 -SRCFILE6=h5diff_attr2.h5 -SRCFILE7=h5diff_dset1.h5 -SRCFILE8=h5diff_dset2.h5 -SRCFILE9=h5diff_hyper1.h5 -SRCFILE10=h5diff_hyper2.h5 -SRCFILE11=h5diff_empty.h5 -SRCFILE12=h5diff_dset_idx1.h5 -SRCFILE13=h5diff_dset_idx2.h5 - -FILE1="$INDIR/$SRCFILE1" -FILE2="$INDIR/$SRCFILE2" -FILE3="$INDIR/$SRCFILE3" -FILE4="$INDIR/$SRCFILE4" -FILE5="$INDIR/$SRCFILE5" -FILE6="$INDIR/$SRCFILE6" -FILE7="$INDIR/$SRCFILE7" -FILE8="$INDIR/$SRCFILE8" -FILE9="$INDIR/$SRCFILE9" -FILE10="$INDIR/$SRCFILE10" -FILE11="$INDIR/$SRCFILE11" -FILE12="$INDIR/$SRCFILE12" -FILE13="$INDIR/$SRCFILE13" - +FILE1=h5diff_basic1.h5 +FILE2=h5diff_basic2.h5 +FILE3=h5diff_types.h5 +FILE4=h5diff_dtypes.h5 +FILE5=h5diff_attr1.h5 +FILE6=h5diff_attr2.h5 +FILE7=h5diff_dset1.h5 +FILE8=h5diff_dset2.h5 +FILE9=h5diff_hyper1.h5 +FILE10=h5diff_hyper2.h5 +FILE11=h5diff_empty.h5 +FILE12=h5diff_links.h5 +FILE13=h5diff_softlinks.h5 +FILE14=h5diff_linked_softlink.h5 +FILE15=h5diff_extlink_src.h5 +FILE16=h5diff_extlink_trg.h5 +FILE17=h5diff_ext2softlink_src.h5 +FILE18=h5diff_ext2softlink_trg.h5 +FILE19=h5diff_dset_idx1.h5 +FILE20=h5diff_dset_idx2.h5 + +TESTNAME=h5diff +EXIT_SUCCESS=0 +EXIT_FAILURE=1 H5DIFF=h5diff # The tool name H5DIFF_BIN=`pwd`/$H5DIFF # The path of the tool binary @@ -84,6 +78,7 @@ test -d ./testfiles || mkdir ./testfiles while [ $# -gt 0 ]; do case "$1" in -p) # reset the tool name and bin to run ph5diff tests + TESTNAME=ph5diff H5DIFF=ph5diff # The tool name H5DIFF_BIN=`pwd`/$H5DIFF pmode=yes @@ -205,11 +200,12 @@ TOOLTEST() { fi # Run test. + TESTING $H5DIFF $@ ( #echo "#############################" #echo "Expected output for '$H5DIFF $@'" #echo "#############################" - #cd $srcdir/testfiles + cd $srcdir/testfiles eval $RUNCMD $H5DIFF_BIN "$@" ) >$actual 2>$actual_err # save actual and actual_err in case they are needed later. @@ -258,8 +254,8 @@ TOOLTEST() { # Clean up output file if test -z "$HDF5_NOCLEANUP"; then - rm -f $actual $actual_err $actual_sav $actual_err_sav - rm -f $actual_sorted $expect_sorted + rm -f $actual $actual_err $actual_sav $actual_err_sav + rm -f $actual_sorted $expect_sorted fi } @@ -285,55 +281,42 @@ SKIP() { # 1.0 -TESTING $H5DIFF -h TOOLTEST h5diff_10.txt -h # 1.1 normal mode -TESTING $H5DIFF $SRCFILE1 $SRCFILE2 TOOLTEST h5diff_11.txt $FILE1 $FILE2 # 1.2 normal mode with objects -TESTING $H5DIFF $SRCFILE1 $SRCFILE2 g1/dset1 g1/dset2 TOOLTEST h5diff_12.txt $FILE1 $FILE2 g1/dset1 g1/dset2 # 1.3 report mode -TESTING $H5DIFF -r $SRCFILE1 $SRCFILE2 TOOLTEST h5diff_13.txt -r $FILE1 $FILE2 # 1.4 report mode with objects -TESTING $H5DIFF -r $SRCFILE1 $SRCFILE2 g1/dset1 g1/dset2 TOOLTEST h5diff_14.txt -r $FILE1 $FILE2 g1/dset1 g1/dset2 # 1.5 with -d -TESTING $H5DIFF --report --delta=5 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_15.txt --report --delta=5 $FILE1 $FILE2 g1/dset3 g1/dset4 # 1.6.1 with -p (int) -TESTING $H5DIFF -v -p 0.02 $SRCFILE1 $SRCFILE1 g1/dset5 g1/dset6 TOOLTEST h5diff_16_1.txt -v -p 0.02 $FILE1 $FILE1 g1/dset5 g1/dset6 # 1.6.2 with -p (unsigned long_long) -TESTING $H5DIFF --verbose --relative=0.02 $SRCFILE1 $SRCFILE1 g1/dset7 g1/dset8 TOOLTEST h5diff_16_2.txt --verbose --relative=0.02 $FILE1 $FILE1 g1/dset7 g1/dset8 # 1.6.3 with -p (double) -TESTING $H5DIFF -v -p 0.02 $SRCFILE1 $SRCFILE1 g1/dset9 g1/dset10 TOOLTEST h5diff_16_3.txt -v -p 0.02 $FILE1 $FILE1 g1/dset9 g1/dset10 # 1.7 verbose mode -TESTING $H5DIFF -v $SRCFILE1 $SRCFILE2 TOOLTEST h5diff_17.txt -v $FILE1 $FILE2 # 1.8 test 32-bit INFINITY -TESTING $H5DIFF $SRCFILE1 $SRCFILE1 /g1/fp19 -TOOLTEST h5diff_171.txt -v $SRCFILE1 $SRCFILE1 /g1/fp19 +TOOLTEST h5diff_171.txt -v $FILE1 $FILE1 /g1/fp19 # 1.8 test 64-bit INFINITY -TESTING $H5DIFF $SRCFILE1 $SRCFILE1 /g1/fp20 -TOOLTEST h5diff_172.txt -v $SRCFILE1 $SRCFILE1 /g1/fp20 +TOOLTEST h5diff_172.txt -v $FILE1 $FILE1 /g1/fp20 # 1.8 quiet mode -TESTING $H5DIFF -q $SRCFILE1 $SRCFILE2 TOOLTEST h5diff_18.txt -q $FILE1 $FILE2 @@ -343,15 +326,12 @@ TOOLTEST h5diff_18.txt -q $FILE1 $FILE2 # ############################################################################## # 2.0 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 dset g1 TOOLTEST h5diff_20.txt -v $FILE3 $FILE3 dset g1 # 2.1 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 dset l1 TOOLTEST h5diff_21.txt -v $FILE3 $FILE3 dset l1 # 2.2 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 dset t1 TOOLTEST h5diff_22.txt -v $FILE3 $FILE3 dset t1 # ############################################################################## @@ -359,27 +339,21 @@ TOOLTEST h5diff_22.txt -v $FILE3 $FILE3 dset t1 # ############################################################################## # 2.3 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 g1 g1 TOOLTEST h5diff_23.txt -v $FILE3 $FILE3 g1 g1 # 2.4 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 t1 t1 TOOLTEST h5diff_24.txt -v $FILE3 $FILE3 t1 t1 # 2.5 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 l1 l1 TOOLTEST h5diff_25.txt -v $FILE3 $FILE3 l1 l1 # 2.6 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 g1 g2 TOOLTEST h5diff_26.txt -v $FILE3 $FILE3 g1 g2 # 2.7 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 t1 t2 TOOLTEST h5diff_27.txt -v $FILE3 $FILE3 t1 t2 # 2.8 -TESTING $H5DIFF -v $SRCFILE3 $SRCFILE3 l1 l2 TOOLTEST h5diff_28.txt -v $FILE3 $FILE3 l1 l2 @@ -389,39 +363,30 @@ TOOLTEST h5diff_28.txt -v $FILE3 $FILE3 l1 l2 # ############################################################################## # 5.0 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset0a dset0b TOOLTEST h5diff_50.txt -v $FILE4 $FILE4 dset0a dset0b # 5.1 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset1a dset1b TOOLTEST h5diff_51.txt -v $FILE4 $FILE4 dset1a dset1b # 5.2 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset2a dset2b TOOLTEST h5diff_52.txt -v $FILE4 $FILE4 dset2a dset2b # 5.3 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset3a dset4b TOOLTEST h5diff_53.txt -v $FILE4 $FILE4 dset3a dset4b # 5.4 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset4a dset4b TOOLTEST h5diff_54.txt -v $FILE4 $FILE4 dset4a dset4b # 5.5 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset5a dset5b TOOLTEST h5diff_55.txt -v $FILE4 $FILE4 dset5a dset5b # 5.6 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset6a dset6b TOOLTEST h5diff_56.txt -v $FILE4 $FILE4 dset6a dset6b # 5.7 -TESTING $H5DIFF -v $SRCFILE4 $SRCFILE4 dset7a dset7b TOOLTEST h5diff_57.txt -v $FILE4 $FILE4 dset7a dset7b # 5.8 (region reference) -TESTING $H5DIFF -v $SRCFILE7 $SRCFILE8 refreg TOOLTEST h5diff_58.txt -v $FILE7 $FILE8 refreg # ############################################################################## @@ -430,7 +395,6 @@ TOOLTEST h5diff_58.txt -v $FILE7 $FILE8 refreg # 6.0: Check if the command line number of arguments is less than 3 -TESTING $H5DIFF $SRCFILE1 TOOLTEST h5diff_600.txt $FILE1 @@ -440,35 +404,27 @@ TOOLTEST h5diff_600.txt $FILE1 # 6.3: negative value -TESTING $H5DIFF -d -4 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_603.txt -d -4 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.4: zero -TESTING $H5DIFF -d 0 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_604.txt -d 0 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.5: non number -TESTING $H5DIFF -d u $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_605.txt -d u $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.6: hexadecimal -TESTING $H5DIFF -d 0x1 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_606.txt -d 0x1 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.7: string -TESTING $H5DIFF -d "1" $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_607.txt -d "1" $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.8: use system epsilon -TESTING $H5DIFF --use-system-epsilon $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_608.txt --use-system-epsilon $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.9: number larger than biggest difference -TESTING $H5DIFF -d 200 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_609.txt -d 200 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.10: number smaller than smallest difference -TESTING $H5DIFF -d 1 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_610.txt -d 1 $FILE1 $FILE2 g1/dset3 g1/dset4 @@ -478,35 +434,27 @@ TOOLTEST h5diff_610.txt -d 1 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.12: negative value -TESTING $H5DIFF -p -4 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_612.txt -p -4 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.13: zero -TESTING $H5DIFF -p 0 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_613.txt -p 0 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.14: non number -TESTING $H5DIFF -p u $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_614.txt -p u $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.15: hexadecimal -TESTING $H5DIFF -p 0x1 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_615.txt -p 0x1 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.16: string -TESTING $H5DIFF -p "0.21" $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_616.txt -p "0.21" $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.17: repeated option -TESTING $H5DIFF -p 0.21 -p 0.22 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_617.txt -p 0.21 -p 0.22 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.18: number larger than biggest difference -TESTING $H5DIFF -p 2 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_618.txt -p 2 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.19: number smaller than smallest difference -TESTING $H5DIFF -p 0.005 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_619.txt -p 0.005 $FILE1 $FILE2 g1/dset3 g1/dset4 @@ -516,110 +464,214 @@ TOOLTEST h5diff_619.txt -p 0.005 $FILE1 $FILE2 g1/dset3 g1/dset4 # ############################################################################## # 6.21: negative value -TESTING $H5DIFF -n -4 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_621.txt -n -4 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.22: zero -TESTING $H5DIFF -n 0 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_622.txt -n 0 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.23: non number -TESTING $H5DIFF -n u $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_623.txt -n u $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.24: hexadecimal -TESTING $H5DIFF -n 0x1 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_624.txt -n 0x1 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.25: string -TESTING $H5DIFF -n "2" $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_625.txt -n "2" $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.26: repeated option -TESTING $H5DIFF -n 2 -n 3 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_626.txt -n 2 -n 3 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.27: number larger than biggest difference -TESTING $H5DIFF --count=200 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_627.txt --count=200 $FILE1 $FILE2 g1/dset3 g1/dset4 # 6.28: number smaller than smallest difference -TESTING $H5DIFF -n 1 $SRCFILE1 $SRCFILE2 g1/dset3 g1/dset4 TOOLTEST h5diff_628.txt -n 1 $FILE1 $FILE2 g1/dset3 g1/dset4 # Disabling this test as it hangs - LRK 20090618 # 6.29 non valid files -#TESTING $H5DIFF file1.h6 file2.h6 #TOOLTEST h5diff_629.txt file1.h6 file2.h6 # ############################################################################## # 7. attributes # ############################################################################## -TESTING $H5DIFF -v $SRCFILE5 $SRCFILE6 TOOLTEST h5diff_70.txt -v $FILE5 $FILE6 # ############################################################################## # 8. all dataset datatypes # ############################################################################## -TESTING $H5DIFF -v $SRCFILE7 $SRCFILE8 TOOLTEST h5diff_80.txt -v $FILE7 $FILE8 # 9. compare a file with itself -TESTING $H5DIFF -v $SRCFILE2 $SRCFILE2 TOOLTEST h5diff_90.txt -v $FILE2 $FILE2 # 10. read by hyperslab, print indexes if test -n "$pmode" -a "$mydomainname" = hdfgroup.uiuc.edu; then # skip this test which sometimes hangs in some THG machines - SKIP -v $SRCFILE9 $SRCFILE10 + SKIP -v $FILE9 $FILE10 else - TESTING $H5DIFF -v $SRCFILE9 $SRCFILE10 TOOLTEST h5diff_100.txt -v $FILE9 $FILE10 fi # 11. floating point comparison -TESTING $H5DIFF -v $SRCFILE1 $SRCFILE1 g1/d1 g1/d2 TOOLTEST h5diff_101.txt -v $FILE1 $FILE1 g1/d1 g1/d2 -TESTING $H5DIFF -v $SRCFILE1 $SRCFILE1 g1/fp1 g1/fp2 TOOLTEST h5diff_102.txt -v $FILE1 $FILE1 g1/fp1 g1/fp2 # not comparable -c flag -TESTING $H5DIFF $SRCFILE2 $SRCFILE2 g2/dset1 g2/dset2 TOOLTEST h5diff_200.txt $FILE2 $FILE2 g2/dset1 g2/dset2 -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset1 g2/dset2 TOOLTEST h5diff_201.txt -c $FILE2 $FILE2 g2/dset1 g2/dset2 -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset2 g2/dset3 TOOLTEST h5diff_202.txt -c $FILE2 $FILE2 g2/dset2 g2/dset3 -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset3 g2/dset4 TOOLTEST h5diff_203.txt -c $FILE2 $FILE2 g2/dset3 g2/dset4 -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset4 g2/dset5 TOOLTEST h5diff_204.txt -c $FILE2 $FILE2 g2/dset4 g2/dset5 -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset5 g2/dset6 TOOLTEST h5diff_205.txt -c $FILE2 $FILE2 g2/dset5 g2/dset6 # not comparable in compound -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset7 g2/dset8 TOOLTEST h5diff_206.txt -c $FILE2 $FILE2 g2/dset7 g2/dset8 -TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset8 g2/dset9 TOOLTEST h5diff_207.txt -c $FILE2 $FILE2 g2/dset8 g2/dset9 +# ############################################################################## +# # Links compare without -l (link follow) +# ############################################################################## +# test for bug1749 +TOOLTEST h5diff_300.txt -v $FILE12 $FILE12 /link_g1 /link_g2 # ############################################################################## -# 12. The comparision for the two datasets between the 2 files should be the same -# SRCFILE12: B-tree indexing is used for the datasets -# SRCFILE13: Fixed Array indexing is used for the datasets +# # Links compare with -l (link follow) # ############################################################################## -TESTING $H5DIFF -v $SRCFILE12 $SRCFILE13 -TOOLTEST h5diff_idx.txt -v $FILE12 $FILE13 +# soft links file to file +TOOLTEST h5diff_400.txt -l -v $FILE13 $FILE13 + +# softlink vs dset" +TOOLTEST h5diff_401.txt -l -v $FILE13 $FILE13 /softlink_dset1_1 /target_dset2 + + +# dset vs softlink" +TOOLTEST h5diff_402.txt -l -v $FILE13 $FILE13 /target_dset2 /softlink_dset1_1 + + +# softlink vs softlink" +TOOLTEST h5diff_403.txt -l -v $FILE13 $FILE13 /softlink_dset1_1 /softlink_dset2 + + +# extlink vs extlink (FILE)" +if test -n "$pmode"; then + # TODO: Skip below test due to hang in prarllel mode + echo "Skip below test due to hang in prarllel mode" + SKIP -l -v $FILE15 $FILE15 +else + TOOLTEST h5diff_404.txt -l -v $FILE15 $FILE15 +fi + + +# extlink vs dset" +TOOLTEST h5diff_405.txt -l -v $FILE15 $FILE16 /ext_link_dset1 /target_group2/x_dset + + +# dset vs extlink" +TOOLTEST h5diff_406.txt -l -v $FILE16 $FILE15 /target_group2/x_dset /ext_link_dset1 + + +# extlink vs extlink" +TOOLTEST h5diff_407.txt -l -v $FILE15 $FILE15 /ext_link_dset1 /ext_link_dset2 + + +# softlink vs extlink" +TOOLTEST h5diff_408.txt -l -v $FILE13 $FILE15 /softlink_dset1_1 /ext_link_dset2 + + +# extlink vs softlink " +TOOLTEST h5diff_409.txt -l -v $FILE15 $FILE13 /ext_link_dset2 /softlink_dset1_1 + + +# linked_softlink vs linked_softlink (FILE)" +TOOLTEST h5diff_410.txt -l -v $FILE14 $FILE14 + + +# dset2 vs linked_softlink_dset1" +TOOLTEST h5diff_411.txt -l -v $FILE14 $FILE14 /target_dset2 /softlink1_to_slink2 + + +# linked_softlink_dset1 vs dset2" +TOOLTEST h5diff_412.txt -l -v $FILE14 $FILE14 /softlink1_to_slink2 /target_dset2 + + +# linked_softlink_to_dset1 vs linked_softlink_to_dset2" +TOOLTEST h5diff_413.txt -l -v $FILE14 $FILE14 /softlink1_to_slink2 /softlink2_to_slink2 + + +# group vs linked_softlink_group1" +TOOLTEST h5diff_414.txt -l -v $FILE14 $FILE14 /target_group /softlink3_to_slink2 + + +# linked_softlink_group1 vs group" +TOOLTEST h5diff_415.txt -l -v $FILE14 $FILE14 /softlink3_to_slink2 /target_group + + +# linked_softlink_to_group1 vs linked_softlink_to_group2" +TOOLTEST h5diff_416.txt -l -v $FILE14 $FILE14 /softlink3_to_slink2 /softlink4_to_slink2 + + +# non-exist-softlink vs softlink" +TOOLTEST h5diff_417.txt -l -v $FILE13 $FILE13 /softlink_noexist /softlink_dset2 + + +# softlink vs non-exist-softlink" +TOOLTEST h5diff_418.txt -l -v $FILE13 $FILE13 /softlink_dset2 /softlink_noexist + + +# non-exist-extlink_file vs extlink" +if test -n "$pmode"; then + # TODO: Skip below test due to hang in prarllel mode + echo "Skip below test due to hang in prarllel mode" + SKIP -l -v $FILE15 $FILE15 /ext_link_noexist2 /ext_link_dset2 +else + TOOLTEST h5diff_419.txt -l -v $FILE15 $FILE15 /ext_link_noexist2 /ext_link_dset2 +fi + + +# exlink vs non-exist-extlink_file" +if test -n "$pmode"; then + # TODO: Skip below test due to hang in prarllel mode + echo "Skip below test due to hang in prarllel mode" + SKIP -l -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist2 +else + TOOLTEST h5diff_420.txt -l -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist2 +fi + + +# extlink vs non-exist-extlink_obj" +TOOLTEST h5diff_421.txt -l -v $FILE15 $FILE15 /ext_link_dset2 /ext_link_noexist1 + + +# non-exist-extlink_obj vs extlink" +TOOLTEST h5diff_422.txt -l -v $FILE15 $FILE15 /ext_link_noexist1 /ext_link_dset2 + + +# extlink_to_softlink_to_dset1 vs dset2" +TOOLTEST h5diff_423.txt -l -v $FILE17 $FILE18 /ext_link_to_slink1 /dset2 + + +# dset2 vs extlink_to_softlink_to_dset1" +TOOLTEST h5diff_424.txt -l -v $FILE18 $FILE17 /dset2 /ext_link_to_slink1 + + +# extlink_to_softlink_to_dset1 vs extlink_to_softlink_to_dset2" +TOOLTEST h5diff_425.txt -l -v $FILE17 $FILE17 /ext_link_to_slink1 /ext_link_to_slink2 + +# ############################################################################## +# 19. The comparision for the two datasets between the 2 files should be the same +# FILE19: B-tree indexing is used for the datasets +# FILE20: Fixed Array indexing is used for the datasets +# ############################################################################## +TOOLTEST h5diff_idx.txt -v $FILE19 $FILE20 # ############################################################################## @@ -627,7 +679,9 @@ TOOLTEST h5diff_idx.txt -v $FILE12 $FILE13 # ############################################################################## if test $nerrors -eq 0 ; then - echo "All $H5DIFF tests passed." + echo "All $TESTNAME tests passed." + exit $EXIT_SUCCESS +else + echo "$TESTNAME tests failed with $nerrors errors." + exit $EXIT_FAILURE fi - -exit $nerrors diff --git a/tools/h5diff/testph5diff.sh b/tools/h5diff/testph5diff.sh index 1375756..0734d21 100755 --- a/tools/h5diff/testph5diff.sh +++ b/tools/h5diff/testph5diff.sh @@ -19,6 +19,10 @@ if test -z "$srcdir"; then srcdir=. fi +TESTNAME=ph5diff +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + TOOL=${srcdir}/testh5diff.sh nerrors=0 @@ -53,12 +57,10 @@ TOOLTEST() { # testphdf5 test using the MPI-POSIX VFL driver TOOLTEST -p -# Emit message about testing status +# no need to print any message since this is just a shell to invoke +# testh5diff.sh which has already printed the result. Just exit. if test $nerrors -eq 0 ; then - echo "All $TEST_APP tests passed." + exit $EXIT_SUCCESS else - echo "ERROR! One or more $TOOL tests failed." + exit $EXIT_FAILURE fi - -# Propagate a useful exit code -exit $nerrors |