summaryrefslogtreecommitdiffstats
path: root/tools/h5diff
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2008-08-04 21:13:16 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2008-08-04 21:13:16 (GMT)
commit6787ef71a27109c7fe291472afc790b4045a220e (patch)
tree7cb601f2480537e66ca097765b610a967ff85dde /tools/h5diff
parent2fa8102745450c455150efeec1da41c4a4cbccb7 (diff)
downloadhdf5-6787ef71a27109c7fe291472afc790b4045a220e.zip
hdf5-6787ef71a27109c7fe291472afc790b4045a220e.tar.gz
hdf5-6787ef71a27109c7fe291472afc790b4045a220e.tar.bz2
[svn-r15428] 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, solaris
Diffstat (limited to 'tools/h5diff')
-rw-r--r--tools/h5diff/h5diff_common.c34
-rw-r--r--tools/h5diff/h5diff_main.c4
-rw-r--r--tools/h5diff/testfiles/h5diff_10.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_19.txt24
-rw-r--r--tools/h5diff/testfiles/h5diff_600.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_603.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_604.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_605.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_606.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_612.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_613.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_614.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_615.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_621.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_622.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_623.txt19
-rw-r--r--tools/h5diff/testfiles/h5diff_624.txt19
-rwxr-xr-xtools/h5diff/testh5diff.sh6
18 files changed, 256 insertions, 78 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index 357bb32..05111a9 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:";
+static const char *s_opts = "hVrvqn:d:p:c";
static struct long_options l_opts[] = {
{ "help", no_arg, 'h' },
{ "version", no_arg, 'V' },
@@ -41,6 +41,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' }
};
@@ -91,6 +92,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;
@@ -170,7 +174,7 @@ void parse_command_line(int argc,
void print_info(diff_opt_t* options)
{
- if (options->m_quiet || options->err_stat)
+ if (options->m_quiet || options->err_stat || options->m_contents)
return;
if (options->cmn_objs==0)
@@ -318,8 +322,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");
@@ -339,6 +345,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");
@@ -368,11 +390,7 @@ 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");
+
}
diff --git a/tools/h5diff/h5diff_main.c b/tools/h5diff/h5diff_main.c
index 54a075f..17fe275 100644
--- a/tools/h5diff/h5diff_main.c
+++ b/tools/h5diff/h5diff_main.c
@@ -89,6 +89,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;
diff --git a/tools/h5diff/testfiles/h5diff_10.txt b/tools/h5diff/testfiles/h5diff_10.txt
index 887ee9e..8877a75 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
+ -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
@@ -23,6 +24,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:
@@ -48,8 +62,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/h5diff/testfiles/h5diff_19.txt b/tools/h5diff/testfiles/h5diff_19.txt
new file mode 100644
index 0000000..cda2f73
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_19.txt
@@ -0,0 +1,24 @@
+
+file1 file2
+---------------------------------------
+ x x /
+ 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/h5diff/testfiles/h5diff_600.txt b/tools/h5diff/testfiles/h5diff_600.txt
index 82b69d9..3697279 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
+ -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
@@ -23,6 +24,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:
@@ -48,9 +62,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/h5diff/testfiles/h5diff_603.txt b/tools/h5diff/testfiles/h5diff_603.txt
index 9ddf674..a2f07f2 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_604.txt b/tools/h5diff/testfiles/h5diff_604.txt
index 763999d..90d9bdb 100644
--- a/tools/h5diff/testfiles/h5diff_604.txt
+++ b/tools/h5diff/testfiles/h5diff_604.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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_605.txt b/tools/h5diff/testfiles/h5diff_605.txt
index e00bf5b..9e45341 100644
--- a/tools/h5diff/testfiles/h5diff_605.txt
+++ b/tools/h5diff/testfiles/h5diff_605.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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_606.txt b/tools/h5diff/testfiles/h5diff_606.txt
index 3d77495..31053d5 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_612.txt b/tools/h5diff/testfiles/h5diff_612.txt
index 8f665b8..0a05b7f 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_613.txt b/tools/h5diff/testfiles/h5diff_613.txt
index f3f16fd..155d7f6 100644
--- a/tools/h5diff/testfiles/h5diff_613.txt
+++ b/tools/h5diff/testfiles/h5diff_613.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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_614.txt b/tools/h5diff/testfiles/h5diff_614.txt
index c78fc8c..fac1c6a 100644
--- a/tools/h5diff/testfiles/h5diff_614.txt
+++ b/tools/h5diff/testfiles/h5diff_614.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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_615.txt b/tools/h5diff/testfiles/h5diff_615.txt
index d25b847..f40ac2a 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_621.txt b/tools/h5diff/testfiles/h5diff_621.txt
index 21dac0b..93f1714 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_622.txt b/tools/h5diff/testfiles/h5diff_622.txt
index c46356a..0cdc67c 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_623.txt b/tools/h5diff/testfiles/h5diff_623.txt
index 7ae15e8..b821511 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testfiles/h5diff_624.txt b/tools/h5diff/testfiles/h5diff_624.txt
index caf4e62..d9ce5e6 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
+ -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
@@ -24,6 +25,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:
@@ -49,8 +63,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/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh
index a2a9ecc..d2fd6f8 100755
--- a/tools/h5diff/testh5diff.sh
+++ b/tools/h5diff/testh5diff.sh
@@ -41,6 +41,7 @@ SRCFILE7=h5diff_dset1.h5
SRCFILE8=h5diff_dset2.h5
SRCFILE9=h5diff_hyper1.h5
SRCFILE10=h5diff_hyper2.h5
+SRCFILE11=h5diff_empty.h5
FILE1="$INDIR/$SRCFILE1"
FILE2="$INDIR/$SRCFILE2"
@@ -52,6 +53,7 @@ FILE7="$INDIR/$SRCFILE7"
FILE8="$INDIR/$SRCFILE8"
FILE9="$INDIR/$SRCFILE9"
FILE10="$INDIR/$SRCFILE10"
+FILE11="$INDIR/$SRCFILE11"
H5DIFF=h5diff # The tool name
@@ -327,6 +329,10 @@ TOOLTEST h5diff_17.txt -v $FILE1 $FILE2
TESTING $H5DIFF -q $SRCFILE1 $SRCFILE2
TOOLTEST h5diff_18.txt -q $FILE1 $FILE2
+# 1.9 contents mode
+TESTING $H5DIFF -v -c $SRCFILE1 $SRCFILE11
+TOOLTEST h5diff_19.txt -v -c $FILE1 $FILE11
+
# ##############################################################################
# # not comparable types
# ##############################################################################