summaryrefslogtreecommitdiffstats
path: root/tools/h5diff
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2009-01-26 19:29:22 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2009-01-26 19:29:22 (GMT)
commit120350c39588d57d6b89bd99569a7fa34b4de59f (patch)
treedda9cdb9248d698832c0bd25425029634cfd2d7e /tools/h5diff
parent0682bfceb764bd4f4b4fb61695ca8d99440f39b1 (diff)
downloadhdf5-120350c39588d57d6b89bd99569a7fa34b4de59f.zip
hdf5-120350c39588d57d6b89bd99569a7fa34b4de59f.tar.gz
hdf5-120350c39588d57d6b89bd99569a7fa34b4de59f.tar.bz2
[svn-r16348] #1368 (E1) h5diff: implement "not comparable" messages. Implemented RFC. The new option is <-c, --compare List objects that are not comparable>
added some test cases tested: windows, linux
Diffstat (limited to 'tools/h5diff')
-rw-r--r--tools/h5diff/h5diff_common.c21
-rw-r--r--tools/h5diff/h5diffgentest.c19
-rw-r--r--tools/h5diff/testfiles/h5diff_10.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_16_1.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_16_2.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_16_3.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_17.txt6
-rw-r--r--tools/h5diff/testfiles/h5diff_20.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_200.txt4
-rw-r--r--tools/h5diff/testfiles/h5diff_201.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_202.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_203.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_204.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_205.txt2
-rw-r--r--tools/h5diff/testfiles/h5diff_21.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_22.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_57.txt3
-rw-r--r--tools/h5diff/testfiles/h5diff_600.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_603.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_604.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_605.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_606.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_612.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_613.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_614.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_615.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_621.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_622.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_623.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_624.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_70.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_80.txt1
-rw-r--r--tools/h5diff/testfiles/h5diff_90.txt23
-rw-r--r--tools/h5diff/testfiles/h5diff_basic2.h5bin5728 -> 7688 bytes
-rwxr-xr-xtools/h5diff/testh5diff.sh19
35 files changed, 119 insertions, 19 deletions
diff --git a/tools/h5diff/h5diff_common.c b/tools/h5diff/h5diff_common.c
index 8a49fa0..3f2b8cf 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:N";
+static const char *s_opts = "hVrvqn:d:p:Nc";
static struct long_options l_opts[] = {
{ "help", no_arg, 'h' },
{ "version", no_arg, 'V' },
@@ -42,6 +42,7 @@ static struct long_options l_opts[] = {
{ "delta", require_arg, 'd' },
{ "relative", require_arg, 'p' },
{ "nan", no_arg, 'N' },
+ { "compare", no_arg, 'c' },
{ NULL, 0, '\0' }
};
@@ -138,6 +139,9 @@ void parse_command_line(int argc,
case 'N':
options->do_nans = 0;
break;
+ case 'c':
+ options->m_list_not_cmp = 1;
+ break;
}
}
@@ -194,11 +198,15 @@ void parse_command_line(int argc,
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");
+ if ( options->m_list_not_cmp == 0 )
+ {
+ printf("--------------------------------\n");
+ printf("Some objects are not comparable\n");
+ printf("--------------------------------\n");
+ printf("Use -c for a list of objects.\n");
+ }
+
+
}
}
@@ -331,6 +339,7 @@ void usage(void)
printf(" -r, --report Report mode. Print differences\n");
printf(" -v, --verbose Verbose mode. Print differences, list of objects\n");
printf(" -q, --quiet Quiet mode. Do not do output\n");
+ printf(" -c, --compare List objects that are not comparable\n");
printf(" -N, --nan Avoid NaNs detection\n");
printf(" -n C, --count=C Print differences up to C number\n");
diff --git a/tools/h5diff/h5diffgentest.c b/tools/h5diff/h5diffgentest.c
index ca14501..ec379be 100644
--- a/tools/h5diff/h5diffgentest.c
+++ b/tools/h5diff/h5diffgentest.c
@@ -328,6 +328,25 @@ int test_basic(const char *fname1, const char *fname2, const char *fname3)
write_dset(gid1,1,dims1,"fp18",H5T_NATIVE_DOUBLE,data18);
}
+
+ /* not comparable objects */
+ {
+ double data2[6] = {0,0,0,0,0,0};
+ int data3[6] = {0,0,0,0,0,0};
+ int data4[3][2] = {{0,0},{0,0},{0,0}};
+ hsize_t dims3[2] = { 2,2 };
+ int data5[2][2] = {{0,0},{0,0}};
+ unsigned int data6[3][2] = {{0,0},{0,0},{0,0}};
+
+ write_dset(gid3,1,dims1,"dset1",H5T_NATIVE_DOUBLE,NULL);
+ write_dset(gid3,1,dims1,"dset2",H5T_NATIVE_DOUBLE,data2);
+ write_dset(gid3,1,dims1,"dset3",H5T_NATIVE_INT,data3);
+ write_dset(gid3,2,dims2,"dset4",H5T_NATIVE_INT,data4);
+ write_dset(gid3,2,dims3,"dset5",H5T_NATIVE_INT,data5);
+ write_dset(gid3,2,dims2,"dset6",H5T_NATIVE_UINT,data6);
+
+
+ }
/*-------------------------------------------------------------------------
diff --git a/tools/h5diff/testfiles/h5diff_10.txt b/tools/h5diff/testfiles/h5diff_10.txt
index 5480df1..316f06c 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_16_1.txt b/tools/h5diff/testfiles/h5diff_16_1.txt
index 6155ebf..519f695 100644
--- a/tools/h5diff/testfiles/h5diff_16_1.txt
+++ b/tools/h5diff/testfiles/h5diff_16_1.txt
@@ -8,6 +8,3 @@ position dset5 dset6 difference relative
[ 1 1 ] 0 100 100 not comparable
[ 2 1 ] 100 50 50 0.500000
5 differences found
---------------------------------
-Some objects are not comparable
---------------------------------
diff --git a/tools/h5diff/testfiles/h5diff_16_2.txt b/tools/h5diff/testfiles/h5diff_16_2.txt
index 43127bb..233b133 100644
--- a/tools/h5diff/testfiles/h5diff_16_2.txt
+++ b/tools/h5diff/testfiles/h5diff_16_2.txt
@@ -8,6 +8,3 @@ position dset7 dset8 difference relative
[ 1 1 ] 0 100 100 not comparable
[ 2 1 ] 100 50 50 0.500000
5 differences found
---------------------------------
-Some objects are not comparable
---------------------------------
diff --git a/tools/h5diff/testfiles/h5diff_16_3.txt b/tools/h5diff/testfiles/h5diff_16_3.txt
index 6da24cf..b96c8a4 100644
--- a/tools/h5diff/testfiles/h5diff_16_3.txt
+++ b/tools/h5diff/testfiles/h5diff_16_3.txt
@@ -8,6 +8,3 @@ position dset9 dset10 difference relative
[ 1 1 ] 0 100 100 not comparable
[ 2 1 ] 100 50 50 0.5
5 differences found
---------------------------------
-Some objects are not comparable
---------------------------------
diff --git a/tools/h5diff/testfiles/h5diff_17.txt b/tools/h5diff/testfiles/h5diff_17.txt
index 40ea563..2ffbda9 100644
--- a/tools/h5diff/testfiles/h5diff_17.txt
+++ b/tools/h5diff/testfiles/h5diff_17.txt
@@ -23,6 +23,12 @@ file1 file2
x /g1/fp2
x /g1/ld
x /g2
+ x /g2/dset1
+ x /g2/dset2
+ x /g2/dset3
+ x /g2/dset4
+ x /g2/dset5
+ x /g2/dset6
group : </> and </>
0 differences found
diff --git a/tools/h5diff/testfiles/h5diff_20.txt b/tools/h5diff/testfiles/h5diff_20.txt
index e383972..b2fda7c 100644
--- a/tools/h5diff/testfiles/h5diff_20.txt
+++ b/tools/h5diff/testfiles/h5diff_20.txt
@@ -1,4 +1,5 @@
-Comparison not possible: </dset> is of type H5G_DATASET and </g1> is of type H5G_GROUP
+</dset> is of type H5G_DATASET and </g1> is of type H5G_GROUP
--------------------------------
Some objects are not comparable
--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_200.txt b/tools/h5diff/testfiles/h5diff_200.txt
new file mode 100644
index 0000000..56d723d
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_200.txt
@@ -0,0 +1,4 @@
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_201.txt b/tools/h5diff/testfiles/h5diff_201.txt
new file mode 100644
index 0000000..599cc2b
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_201.txt
@@ -0,0 +1 @@
+</g2/dset1> or </g2/dset2> are empty datasets
diff --git a/tools/h5diff/testfiles/h5diff_202.txt b/tools/h5diff/testfiles/h5diff_202.txt
new file mode 100644
index 0000000..a881cf5
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_202.txt
@@ -0,0 +1,2 @@
+</g2/dset2> is of class H5T_FLOAT and </g2/dset3> is of class H5T_INTEGER
+</g2/dset2> has sign H5T_SGN_ERROR and </g2/dset3> has sign H5T_SGN_2
diff --git a/tools/h5diff/testfiles/h5diff_203.txt b/tools/h5diff/testfiles/h5diff_203.txt
new file mode 100644
index 0000000..ee87879
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_203.txt
@@ -0,0 +1,2 @@
+</g2/dset3> has rank 1, dimensions [6], max dimensions [6]
+</g2/dset4> has rank 2, dimensions [3x2], max dimensions [3x2] \ No newline at end of file
diff --git a/tools/h5diff/testfiles/h5diff_204.txt b/tools/h5diff/testfiles/h5diff_204.txt
new file mode 100644
index 0000000..8dcb2ce
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_204.txt
@@ -0,0 +1,2 @@
+</g2/dset4> has rank 2, dimensions [3x2], max dimensions [3x2]
+</g2/dset5> has rank 2, dimensions [2x2], max dimensions [2x2] \ No newline at end of file
diff --git a/tools/h5diff/testfiles/h5diff_205.txt b/tools/h5diff/testfiles/h5diff_205.txt
new file mode 100644
index 0000000..a934e7c
--- /dev/null
+++ b/tools/h5diff/testfiles/h5diff_205.txt
@@ -0,0 +1,2 @@
+</g2/dset5> has rank 2, dimensions [2x2], max dimensions [2x2]
+</g2/dset6> has rank 2, dimensions [3x2], max dimensions [3x2]</g2/dset5> has sign H5T_SGN_2 and </g2/dset6> has sign H5T_SGN_NONE
diff --git a/tools/h5diff/testfiles/h5diff_21.txt b/tools/h5diff/testfiles/h5diff_21.txt
index d5b0443..5518e0c 100644
--- a/tools/h5diff/testfiles/h5diff_21.txt
+++ b/tools/h5diff/testfiles/h5diff_21.txt
@@ -1,4 +1,5 @@
-Comparison not possible: </dset> is of type H5G_DATASET and </l1> is of type H5G_LINK
+</dset> is of type H5G_DATASET and </l1> is of type H5G_LINK
--------------------------------
Some objects are not comparable
--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_22.txt b/tools/h5diff/testfiles/h5diff_22.txt
index d8714a0..0f9493b 100644
--- a/tools/h5diff/testfiles/h5diff_22.txt
+++ b/tools/h5diff/testfiles/h5diff_22.txt
@@ -1,4 +1,5 @@
-Comparison not possible: </dset> is of type H5G_DATASET and </t1> is of type H5G_TYPE
+</dset> is of type H5G_DATASET and </t1> is of type H5G_TYPE
--------------------------------
Some objects are not comparable
--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_57.txt b/tools/h5diff/testfiles/h5diff_57.txt
index 590d355..c1a0d64 100644
--- a/tools/h5diff/testfiles/h5diff_57.txt
+++ b/tools/h5diff/testfiles/h5diff_57.txt
@@ -2,8 +2,9 @@ dataset: </dset7a> and </dset7b>
Warning: different storage datatype
</dset7a> has file datatype H5T_STD_I8LE
</dset7b> has file datatype H5T_STD_U8LE
-Comparison not supported: </dset7a> has sign H5T_SGN_2 and </dset7b> has sign H5T_SGN_NONE
+</dset7a> has sign H5T_SGN_2 and </dset7b> has sign H5T_SGN_NONE
0 differences found
--------------------------------
Some objects are not comparable
--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_600.txt b/tools/h5diff/testfiles/h5diff_600.txt
index 22a3155..f6492cd 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_603.txt b/tools/h5diff/testfiles/h5diff_603.txt
index 80ee102..b3a2d91 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_604.txt b/tools/h5diff/testfiles/h5diff_604.txt
index acb12b9..f76be67 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_605.txt b/tools/h5diff/testfiles/h5diff_605.txt
index 94f016d..6a5d5cb 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_606.txt b/tools/h5diff/testfiles/h5diff_606.txt
index f181030..8338959 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_612.txt b/tools/h5diff/testfiles/h5diff_612.txt
index 840058d..ae42501 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_613.txt b/tools/h5diff/testfiles/h5diff_613.txt
index 5c18686..a5fbeff 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_614.txt b/tools/h5diff/testfiles/h5diff_614.txt
index a630e02..d5716f6 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_615.txt b/tools/h5diff/testfiles/h5diff_615.txt
index 8fdc0ce..be344bb 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_621.txt b/tools/h5diff/testfiles/h5diff_621.txt
index 746977e..082598e 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_622.txt b/tools/h5diff/testfiles/h5diff_622.txt
index 4ead1fb..986b196 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_623.txt b/tools/h5diff/testfiles/h5diff_623.txt
index fb94e0d..cba630e 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_624.txt b/tools/h5diff/testfiles/h5diff_624.txt
index bb4b133..3a5554f 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, --compare List objects that are not comparable
-N, --nan Avoid NaNs detection
-n C, --count=C Print differences up to C number
-d D, --delta=D Print difference when greater than limit D
diff --git a/tools/h5diff/testfiles/h5diff_70.txt b/tools/h5diff/testfiles/h5diff_70.txt
index 87f9beb..42fe6fc 100644
--- a/tools/h5diff/testfiles/h5diff_70.txt
+++ b/tools/h5diff/testfiles/h5diff_70.txt
@@ -2028,3 +2028,4 @@ position float3D of </g1> float3D of </g1> difference
--------------------------------
Some objects are not comparable
--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_80.txt b/tools/h5diff/testfiles/h5diff_80.txt
index 9e7af5d..dcabf10 100644
--- a/tools/h5diff/testfiles/h5diff_80.txt
+++ b/tools/h5diff/testfiles/h5diff_80.txt
@@ -873,3 +873,4 @@ point #4 (2,8) (1,7)
--------------------------------
Some objects are not comparable
--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_90.txt b/tools/h5diff/testfiles/h5diff_90.txt
index 7007d88..cfef527 100644
--- a/tools/h5diff/testfiles/h5diff_90.txt
+++ b/tools/h5diff/testfiles/h5diff_90.txt
@@ -7,6 +7,12 @@ file1 file2
x x /g1/dset2
x x /g1/dset4
x x /g2
+ x x /g2/dset1
+ x x /g2/dset2
+ x x /g2/dset3
+ x x /g2/dset4
+ x x /g2/dset5
+ x x /g2/dset6
group : </> and </>
0 differences found
@@ -20,3 +26,20 @@ dataset: </g1/dset4> and </g1/dset4>
0 differences found
group : </g2> and </g2>
0 differences found
+dataset: </g2/dset1> and </g2/dset1>
+</g2/dset1> or </g2/dset1> are empty datasets
+0 differences found
+dataset: </g2/dset2> and </g2/dset2>
+0 differences found
+dataset: </g2/dset3> and </g2/dset3>
+0 differences found
+dataset: </g2/dset4> and </g2/dset4>
+0 differences found
+dataset: </g2/dset5> and </g2/dset5>
+0 differences found
+dataset: </g2/dset6> and </g2/dset6>
+0 differences found
+--------------------------------
+Some objects are not comparable
+--------------------------------
+Use -c for a list of objects.
diff --git a/tools/h5diff/testfiles/h5diff_basic2.h5 b/tools/h5diff/testfiles/h5diff_basic2.h5
index ad45cc0..edb0c65 100644
--- a/tools/h5diff/testfiles/h5diff_basic2.h5
+++ b/tools/h5diff/testfiles/h5diff_basic2.h5
Binary files differ
diff --git a/tools/h5diff/testh5diff.sh b/tools/h5diff/testh5diff.sh
index 811b9d8..e37a047 100755
--- a/tools/h5diff/testh5diff.sh
+++ b/tools/h5diff/testh5diff.sh
@@ -578,6 +578,25 @@ TESTING $H5DIFF -v $SRCFILE1 $SRCFILE1 g1/fp1 g1/fp2
TOOLTEST h5diff_102.txt -v $FILE1 $FILE1 g1/fp1 g1/fp2
+# not comparable -c flag
+TESTING $H5DIFF $SRCFILE2 $SRCFILE2 g2/dset1 g2/dset2
+TOOLTEST h5diff_200.txt $FILE2 $FILE2 g2/dset1 g2/dset2
+
+TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset1 g2/dset2
+TOOLTEST h5diff_201.txt -c $FILE2 $FILE2 g2/dset1 g2/dset2
+
+TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset2 g2/dset3
+TOOLTEST h5diff_202.txt -c $FILE2 $FILE2 g2/dset2 g2/dset3
+
+TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset3 g2/dset4
+TOOLTEST h5diff_203.txt -c $FILE2 $FILE2 g2/dset3 g2/dset4
+
+TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset4 g2/dset5
+TOOLTEST h5diff_204.txt -c $FILE2 $FILE2 g2/dset4 g2/dset5
+
+TESTING $H5DIFF -c $SRCFILE2 $SRCFILE2 g2/dset5 g2/dset6
+TOOLTEST h5diff_205.txt -c $FILE2 $FILE2 g2/dset5 g2/dset6
+
# ##############################################################################
# # END