diff options
author | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2008-08-06 20:09:17 (GMT) |
---|---|---|
committer | Pedro Vicente Nunes <pvn@hdfgroup.org> | 2008-08-06 20:09:17 (GMT) |
commit | e85c6bd28cf27d8ab934c2b39ca57eb8dac7ba77 (patch) | |
tree | ef1e09fff4a9cbfdb4d03ff1f73e0cf4c15b7931 | |
parent | a537dee4f88bc4e5437ba662e16f72127cbe944b (diff) | |
download | hdf5-e85c6bd28cf27d8ab934c2b39ca57eb8dac7ba77.zip hdf5-e85c6bd28cf27d8ab934c2b39ca57eb8dac7ba77.tar.gz hdf5-e85c6bd28cf27d8ab934c2b39ca57eb8dac7ba77.tar.bz2 |
[svn-r15442] http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1170
Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below.
If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0)
Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q).
tested: windows, linux
-rw-r--r-- | tools/h5diff/h5diff_main.c | 106 | ||||
-rwxr-xr-x | tools/h5diff/testh5diff.sh | 6 | ||||
-rwxr-xr-x | tools/h5repack/h5repack.sh.in | 4 | ||||
-rw-r--r-- | tools/h5repack/h5repacktst.c | 4 | ||||
-rw-r--r-- | tools/lib/h5diff.c | 36 | ||||
-rw-r--r-- | tools/lib/h5diff.h | 26 | ||||
-rw-r--r-- | tools/testfiles/h5diff_10.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_19.txt | 26 | ||||
-rw-r--r-- | tools/testfiles/h5diff_600.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_602.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_603.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_604.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_605.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_606.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_611.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_612.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_613.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_614.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_615.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_620.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_621.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_622.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_623.txt | 19 | ||||
-rw-r--r-- | tools/testfiles/h5diff_624.txt | 19 |
24 files changed, 393 insertions, 138 deletions
diff --git a/tools/h5diff/h5diff_main.c b/tools/h5diff/h5diff_main.c index 82c5519..286ca2ba 100644 --- a/tools/h5diff/h5diff_main.c +++ b/tools/h5diff/h5diff_main.c @@ -30,10 +30,10 @@ void h5diff_exit(int status); const char *progname = "h5diff"; /* - * command-line options: The user can specify short or long-named + * Command-line options: The user can specify short or long-named * parameters. */ -static const char *s_opts = "hVrvqn:d:p:"; +static const char *s_opts = "hVrvqn:d:p:c"; static struct long_options l_opts[] = { { "help", no_arg, 'h' }, { "version", no_arg, 'V' }, @@ -43,6 +43,7 @@ static struct long_options l_opts[] = { { "count", require_arg, 'n' }, { "delta", require_arg, 'd' }, { "relative", require_arg, 'p' }, + { "contents", no_arg, 'c' }, { NULL, 0, '\0' } }; @@ -86,6 +87,12 @@ static struct long_options l_opts[] = { * February 20, 2008 * adopted the syntax h5diff [OPTIONS] file1 file2 [obj1[obj2]] * + * Aug 2008 + * Added a "contents" mode + * If this mode is present, objects in both files must match (must be exactly the same) + * If this does not happen, the tool returns an error code of 1 + * (instead of the success code of 0) + * * *------------------------------------------------------------------------- */ @@ -113,6 +120,10 @@ int main(int argc, const char *argv[]) */ ret = (nfound == 0 ? 0 : 1 ); + + if ( options.m_contents && options.contents == 0 ) + ret = 1; + if(options.err_stat) ret = -1; return ret; @@ -136,7 +147,7 @@ void parse_command_line(int argc, { int opt; - + /* process the command-line */ memset(options, 0, sizeof (diff_opt_t)); @@ -164,6 +175,9 @@ void parse_command_line(int argc, case 'r': options->m_report = 1; break; + case 'c': + options->m_contents = 1; + break; case 'd': options->d=1; @@ -175,7 +189,7 @@ void parse_command_line(int argc, } options->delta = atof( opt_arg ); break; - + case 'p': options->p=1; @@ -187,7 +201,7 @@ void parse_command_line(int argc, } options->percent = atof( opt_arg ); break; - + case 'n': options->n=1; @@ -210,17 +224,17 @@ void parse_command_line(int argc, usage(); h5diff_exit(EXIT_FAILURE); } - + *fname1 = argv[ opt_ind ]; *fname2 = argv[ opt_ind + 1 ]; *objname1 = argv[ opt_ind + 2 ]; - + if ( *objname1 == NULL ) { *objname2 = NULL; return; } - + if ( argv[ opt_ind + 3 ] != NULL) { *objname2 = argv[ opt_ind + 3 ]; @@ -229,13 +243,12 @@ void parse_command_line(int argc, { *objname2 = *objname1; } - - + + } - /*------------------------------------------------------------------------- * Function: print_info * @@ -244,28 +257,28 @@ void parse_command_line(int argc, *------------------------------------------------------------------------- */ - void print_info(diff_opt_t* options) - { - if (options->m_quiet || options->err_stat) - return; - - if (options->cmn_objs==0) - { - printf("No common objects found. Files are not comparable.\n"); - if (!options->m_verbose) - printf("Use -v for a list of objects.\n"); - } - - if (options->not_cmp==1) - { - printf("--------------------------------\n"); - printf("Some objects are not comparable\n"); - printf("--------------------------------\n"); - if (!options->m_verbose) - printf("Use -v for a list of objects.\n"); - } - - } +void print_info(diff_opt_t* options) +{ + if (options->m_quiet || options->err_stat || options->m_contents) + return; + + if (options->cmn_objs==0) + { + printf("No common objects found. Files are not comparable.\n"); + if (!options->m_verbose) + printf("Use -v for a list of objects.\n"); + } + + if (options->not_cmp==1) + { + printf("--------------------------------\n"); + printf("Some objects are not comparable\n"); + printf("--------------------------------\n"); + if (!options->m_verbose) + printf("Use -v for a list of objects.\n"); + } + +} /*------------------------------------------------------------------------- * Function: check_n_input @@ -394,8 +407,10 @@ void usage(void) printf(" -V, --version Print version number and exit\n"); 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(" -c, --contents Contents mode. Objects in both files must match\n"); + + printf(" -n C, --count=C Print differences up to C number\n"); printf(" -d D, --delta=D Print difference when greater than limit D\n"); printf(" -p R, --relative=R Print difference when greater than relative limit R\n"); @@ -415,6 +430,22 @@ void usage(void) printf(" -r Report mode: print the above plus the differences\n"); printf(" -v Verbose mode: print the above plus a list of objects and warnings\n"); printf(" -q Quiet mode: do not print output\n"); + printf(" -c Contents mode: objects in both files must match\n"); + + printf("\n"); + + printf(" Compare criteria\n"); + printf("\n"); + printf(" If no objects [obj1[obj2]] are specified, h5diff only compares objects\n"); + printf(" with the same absolute path in both files. However,\n"); + printf(" when the -c flag is present, (contents mode) the objects in file1\n"); + printf(" must match exactly the objects in file2\n"); + printf("\n"); + + printf(" The compare criteria is:\n"); + printf(" 1) datasets: numerical array differences 2) groups: name string difference\n"); + printf(" 3) datatypes: the return value of H5Tequal 2) links: name string difference\n"); + printf(" of the linked value\n"); printf("\n"); @@ -444,14 +475,11 @@ void usage(void) printf("\n"); printf(" to compare '/g1/dset1' and '/g1/dset2' in the same file\n"); printf("\n"); - printf(" If no objects [obj1[obj2]] are specified, h5diff only compares objects\n"); - printf(" with the same absolute path in both files. The compare criteria is:\n"); - printf(" 1) datasets: numerical array differences 2) groups: name string difference\n"); - printf(" 3) datatypes: the return value of H5Tequal 2) links: name string difference\n"); - printf(" of the linked value\n"); + } + /*------------------------------------------------------------------------- * Function: h5diff_exit * diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh index 3f51b07..890a33a 100755 --- a/tools/h5diff/testh5diff.sh +++ b/tools/h5diff/testh5diff.sh @@ -39,6 +39,8 @@ FILE7=h5diff_dset1.h5 FILE8=h5diff_dset2.h5 FILE9=h5diff_hyper1.h5 FILE10=h5diff_hyper2.h5 +FILE11=h5diff_empty.h5 + H5DIFF=h5diff # The tool name @@ -301,6 +303,10 @@ TOOLTEST h5diff_17.txt -v $FILE1 $FILE2 # 1.8 quiet mode TOOLTEST h5diff_18.txt -q $FILE1 $FILE2 +# 1.9 contents mode +TOOLTEST h5diff_19.txt -v -c $FILE1 $FILE11 + + # ############################################################################## # # not comparable types # ############################################################################## diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in index c8659d3..305e512 100755 --- a/tools/h5repack/h5repack.sh.in +++ b/tools/h5repack/h5repack.sh.in @@ -92,9 +92,9 @@ DIFFTEST() { VERIFY $@ if [ "`uname -s`" = "TFLOPS O/S" ]; then - $RUNSERIAL $H5DIFF_BIN -q $@ + $RUNSERIAL $H5DIFF_BIN -q -c $@ else - $RUNSERIAL $H5DIFF_BIN -q "$@" + $RUNSERIAL $H5DIFF_BIN -q -c "$@" fi RET=$? if [ $RET != 0 ] ; then diff --git a/tools/h5repack/h5repacktst.c b/tools/h5repack/h5repacktst.c index f5bc835..002fe76 100644 --- a/tools/h5repack/h5repacktst.c +++ b/tools/h5repack/h5repacktst.c @@ -137,6 +137,10 @@ int main (void) memset(&diff_options, 0, sizeof (diff_opt_t)); memset(&pack_options, 0, sizeof (pack_opt_t)); + + /* set h5diff "contents" mode */ + diff_options.m_contents = 1; + /* run tests */ puts("Testing h5repack:"); diff --git a/tools/lib/h5diff.c b/tools/lib/h5diff.c index a326916..10c8cb0 100644 --- a/tools/lib/h5diff.c +++ b/tools/lib/h5diff.c @@ -207,6 +207,14 @@ out: * * Date: May 9, 2003 * + * Modifications: + * + * Aug 2008 + * Added a "contents" mode check. + * If this mode is present, objects in both files must match (must be exactly the same) + * If this does not happen, the tool returns an error code of 1 + * (instead of the success code of 0) + * *------------------------------------------------------------------------- */ hsize_t diff_match(hid_t file1_id, @@ -302,6 +310,34 @@ hsize_t diff_match(hid_t file1_id, } /* end for */ printf ("\n"); } /* end if */ + + /*------------------------------------------------------------------------- + * contents mode. we do an "absolute" compare criteria, the number of objects + * in file1 must be the same as in file2 + *------------------------------------------------------------------------- + */ + if ( options->m_contents ) + { + /* assume equal contents initially */ + options->contents = 1; + + /* number of different objects */ + if ( nobjects1 != nobjects2 ) + { + options->contents = 0; + } + + + for( i = 0; i < table->nobjs; i++) + { + if( table->objs[i].flags[0] != table->objs[i].flags[1] ) + { + options->contents = 0; + } + } + + } + /*------------------------------------------------------------------------- diff --git a/tools/lib/h5diff.h b/tools/lib/h5diff.h index 6ff81b4..5193470 100644 --- a/tools/lib/h5diff.h +++ b/tools/lib/h5diff.h @@ -25,18 +25,20 @@ */ typedef struct { - int m_quiet; /* quiet mide: no output at all */ - int m_report; /* report mode: print the data */ - int m_verbose; /* verbose mode: print the data, list of objcets, warnings */ - int d; /* delta, absolute value to compare */ - double delta; /* delta value */ - int p; /* relative error to compare*/ - double percent; /* relative error value */ - int n; /* count, compare up to count */ - hsize_t count; /* count value */ - int err_stat; /* an error ocurred (1, error, 0, no error) */ - int cmn_objs; /* do we have comparable objects */ - int not_cmp; /* are the objects comparable */ + int m_quiet; /* quiet mide: no output at all */ + int m_report; /* report mode: print the data */ + int m_verbose; /* verbose mode: print the data, list of objcets, warnings */ + int d; /* delta, absolute value to compare */ + double delta; /* delta value */ + int p; /* relative error to compare*/ + double percent; /* relative error value */ + int n; /* count, compare up to count */ + hsize_t count; /* count value */ + int err_stat; /* an error ocurred (1, error, 0, no error) */ + int cmn_objs; /* do we have comparable objects */ + int not_cmp; /* are the objects comparable */ + int m_contents;/* contents mode */ + int contents; /* equal contents */ } diff_opt_t; diff --git a/tools/testfiles/h5diff_10.txt b/tools/testfiles/h5diff_10.txt index 6a6dbae..a96e00c 100644 --- a/tools/testfiles/h5diff_10.txt +++ b/tools/testfiles/h5diff_10.txt @@ -12,6 +12,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -26,6 +27,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -51,8 +65,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_19.txt b/tools/testfiles/h5diff_19.txt new file mode 100644 index 0000000..aebcd0b --- /dev/null +++ b/tools/testfiles/h5diff_19.txt @@ -0,0 +1,26 @@ +############################# +Expected output for 'h5diff -v -c h5diff_basic1.h5 h5diff_empty.h5' +############################# + +file1 file2 +--------------------------------------- + x /g1 + x /g1/d1 + x /g1/d2 + x /g1/dset1 + x /g1/dset10 + x /g1/dset3 + x /g1/dset5 + x /g1/dset6 + x /g1/dset7 + x /g1/dset8 + x /g1/dset9 + x /g1/fp1 + x /g1/fp15 + x /g1/fp16 + x /g1/fp17 + x /g1/fp18 + x /g1/fp2 + +group : </> and </> +0 differences found diff --git a/tools/testfiles/h5diff_600.txt b/tools/testfiles/h5diff_600.txt index 56cc052..abaf5e7 100644 --- a/tools/testfiles/h5diff_600.txt +++ b/tools/testfiles/h5diff_600.txt @@ -12,6 +12,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -26,6 +27,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -51,9 +65,4 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value h5diff error: missing file names diff --git a/tools/testfiles/h5diff_602.txt b/tools/testfiles/h5diff_602.txt index cc522bd..55cd0e0 100644 --- a/tools/testfiles/h5diff_602.txt +++ b/tools/testfiles/h5diff_602.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_603.txt b/tools/testfiles/h5diff_603.txt index 352e75e..e786d52 100644 --- a/tools/testfiles/h5diff_603.txt +++ b/tools/testfiles/h5diff_603.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_604.txt b/tools/testfiles/h5diff_604.txt index dde3f37..eef9847 100644 --- a/tools/testfiles/h5diff_604.txt +++ b/tools/testfiles/h5diff_604.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_605.txt b/tools/testfiles/h5diff_605.txt index 8047b46..1052312 100644 --- a/tools/testfiles/h5diff_605.txt +++ b/tools/testfiles/h5diff_605.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_606.txt b/tools/testfiles/h5diff_606.txt index d1d83a1..cdf291b 100644 --- a/tools/testfiles/h5diff_606.txt +++ b/tools/testfiles/h5diff_606.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_611.txt b/tools/testfiles/h5diff_611.txt index 0b148a0..07aa0cd 100644 --- a/tools/testfiles/h5diff_611.txt +++ b/tools/testfiles/h5diff_611.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_612.txt b/tools/testfiles/h5diff_612.txt index 2aa4804..1cc46c5 100644 --- a/tools/testfiles/h5diff_612.txt +++ b/tools/testfiles/h5diff_612.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_613.txt b/tools/testfiles/h5diff_613.txt index dff7f7c..194a02d 100644 --- a/tools/testfiles/h5diff_613.txt +++ b/tools/testfiles/h5diff_613.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_614.txt b/tools/testfiles/h5diff_614.txt index 6090f4a..1635e76 100644 --- a/tools/testfiles/h5diff_614.txt +++ b/tools/testfiles/h5diff_614.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_615.txt b/tools/testfiles/h5diff_615.txt index fe7f9a4..9948be5 100644 --- a/tools/testfiles/h5diff_615.txt +++ b/tools/testfiles/h5diff_615.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_620.txt b/tools/testfiles/h5diff_620.txt index 9221c76..03c3e53 100644 --- a/tools/testfiles/h5diff_620.txt +++ b/tools/testfiles/h5diff_620.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_621.txt b/tools/testfiles/h5diff_621.txt index e27b486..570a0cf 100644 --- a/tools/testfiles/h5diff_621.txt +++ b/tools/testfiles/h5diff_621.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_622.txt b/tools/testfiles/h5diff_622.txt index 4b6c1a1..e4afaef 100644 --- a/tools/testfiles/h5diff_622.txt +++ b/tools/testfiles/h5diff_622.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_623.txt b/tools/testfiles/h5diff_623.txt index f4edf37..c2e036f 100644 --- a/tools/testfiles/h5diff_623.txt +++ b/tools/testfiles/h5diff_623.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value diff --git a/tools/testfiles/h5diff_624.txt b/tools/testfiles/h5diff_624.txt index babc43f..e5c6431 100644 --- a/tools/testfiles/h5diff_624.txt +++ b/tools/testfiles/h5diff_624.txt @@ -13,6 +13,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 + -c, --contents Contents mode. Objects in both files must match -n C, --count=C Print differences up to C number -d D, --delta=D Print difference when greater than limit D -p R, --relative=R Print difference when greater than relative limit R @@ -27,6 +28,19 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] -r Report mode: print the above plus the differences -v Verbose mode: print the above plus a list of objects and warnings -q Quiet mode: do not print output + -c Contents mode: objects in both files must match + + Compare criteria + + If no objects [obj1[obj2]] are specified, h5diff only compares objects + with the same absolute path in both files. However, + when the -c flag is present, (contents mode) the objects in file1 + must match exactly the objects in file2 + + The compare criteria is: + 1) datasets: numerical array differences 2) groups: name string difference + 3) datatypes: the return value of H5Tequal 2) links: name string difference + of the linked value Return exit code: @@ -52,8 +66,3 @@ usage: h5diff [OPTIONS] file1 file2 [obj1[obj2]] to compare '/g1/dset1' and '/g1/dset2' in the same file - If no objects [obj1[obj2]] are specified, h5diff only compares objects - with the same absolute path in both files. The compare criteria is: - 1) datasets: numerical array differences 2) groups: name string difference - 3) datatypes: the return value of H5Tequal 2) links: name string difference - of the linked value |