summaryrefslogtreecommitdiffstats
path: root/tools/h5diff
diff options
context:
space:
mode:
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
# ##############################################################################