summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Harten <pharten@ncsa.uiuc.edu>1998-11-21 20:04:53 (GMT)
committerPaul Harten <pharten@ncsa.uiuc.edu>1998-11-21 20:04:53 (GMT)
commit4445745e5194f642e427d237790424c26599c476 (patch)
tree4b5d7b96ff86ebf61f8c9d6261354c3b4f538daf
parent6987a7dee5bf9407b81427de4c95c5c2f3083bda (diff)
downloadhdf5-4445745e5194f642e427d237790424c26599c476.zip
hdf5-4445745e5194f642e427d237790424c26599c476.tar.gz
hdf5-4445745e5194f642e427d237790424c26599c476.tar.bz2
[svn-r940] Purpose:
New Feature Solution: These files are the expected results of the HDF4 hdp dumper, which has been executed in the following order: hdp dumpvg file.hdf > file.dmp hdp dumpvd file.hdf >> file.dmp hdp dumpsds file.hdf >> file.dmp Platform tested: Solaris2.5, HP10.20
-rw-r--r--tools/testfiles/tall.dmp654
-rw-r--r--tools/testfiles/tattr.dmp64
-rw-r--r--tools/testfiles/tcompound.dmp114
-rw-r--r--tools/testfiles/tdset.dmp373
-rw-r--r--tools/testfiles/tgroup.dmp239
-rw-r--r--tools/testfiles/thlink.dmp420
-rw-r--r--tools/testfiles/tslink.dmp20
7 files changed, 1884 insertions, 0 deletions
diff --git a/tools/testfiles/tall.dmp b/tools/testfiles/tall.dmp
new file mode 100644
index 0000000..6c53f3b
--- /dev/null
+++ b/tools/testfiles/tall.dmp
@@ -0,0 +1,654 @@
+File name: testfiles/tall.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 2;
+ number of attributes = 2
+ attr0: name=attr1 type=20 count=10 size=10
+ 97 98 99 100 101 102 103 104 105 0
+ attr1: name=attr2 type=24 count=4 size=16
+ 0 1 2 3
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 5;
+ number of entries = 2;
+ name = g1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 13;
+ number of entries = 0;
+ name = g2; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:1
+ tag = 1965; reference = 5;
+ name = g1; class = HDF5;
+ number of entries = 2;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 6;
+ number of entries = 0;
+ name = g1.1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 11;
+ number of entries = 1;
+ name = g1.2; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:2
+ tag = 1965; reference = 6;
+ name = g1.1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:3
+ tag = 1965; reference = 11;
+ name = g1.2; class = HDF5;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 12;
+ number of entries = 0;
+ name = g1.2.1; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:4
+ tag = 1965; reference = 12;
+ name = g1.2.1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:5
+ tag = 1965; reference = 13;
+ name = g2; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:6
+ tag = 1965; reference = 19;
+ name = fakeDim0; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 18;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim0; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:7
+ tag = 1965; reference = 21;
+ name = fakeDim1; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 20;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim1; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:8
+ tag = 1965; reference = 23;
+ name = fakeDim2; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 22;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim2; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:9
+ tag = 1965; reference = 25;
+ name = fakeDim3; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 24;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim3; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:10
+ tag = 1965; reference = 27;
+ name = fakeDim4; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 26;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim4; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:11
+ tag = 1965; reference = 29;
+ name = fakeDim5; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 28;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim5; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:12
+ tag = 1965; reference = 33;
+ name = dset1.1.1; class = Var0.0;
+ number of entries = 8;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 19;
+ number of entries = 1;
+ name = fakeDim0; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 21;
+ number of entries = 1;
+ name = fakeDim1; class = Dim0.0
+ number of attributes = 0
+ #2 (Vdata)
+ tag = 1962; reference = 30;
+ number of records = 27; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 1;
+ name = attr1; class = Attr0.0;
+ total number of attributes = 0.
+ #3 (Vdata)
+ tag = 1962; reference = 31;
+ number of records = 27; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 1;
+ name = attr2; class = Attr0.0;
+ total number of attributes = 0.
+ #4 (Scientific Data)
+ tag = 702; reference = 8;
+ #5 (Number type)
+ tag = 106; reference = 32;
+ #6 (SciData dimension record)
+ tag = 701; reference = 32;
+ #7 (Numeric Data Group)
+ tag = 720; reference = 7;
+
+
+Vgroup:13
+ tag = 1965; reference = 35;
+ name = dset1.1.2; class = Var0.0;
+ number of entries = 5;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 23;
+ number of entries = 1;
+ name = fakeDim2; class = Dim0.0
+ number of attributes = 0
+ #1 (Scientific Data)
+ tag = 702; reference = 10;
+ #2 (Number type)
+ tag = 106; reference = 34;
+ #3 (SciData dimension record)
+ tag = 701; reference = 34;
+ #4 (Numeric Data Group)
+ tag = 720; reference = 9;
+
+
+Vgroup:14
+ tag = 1965; reference = 37;
+ name = dset2.1; class = Var0.0;
+ number of entries = 5;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 25;
+ number of entries = 1;
+ name = fakeDim3; class = Dim0.0
+ number of attributes = 0
+ #1 (Scientific Data)
+ tag = 702; reference = 15;
+ #2 (Number type)
+ tag = 106; reference = 36;
+ #3 (SciData dimension record)
+ tag = 701; reference = 36;
+ #4 (Numeric Data Group)
+ tag = 720; reference = 14;
+
+
+Vgroup:15
+ tag = 1965; reference = 39;
+ name = dset2.2; class = Var0.0;
+ number of entries = 6;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 27;
+ number of entries = 1;
+ name = fakeDim4; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 29;
+ number of entries = 1;
+ name = fakeDim5; class = Dim0.0
+ number of attributes = 0
+ #2 (Scientific Data)
+ tag = 702; reference = 17;
+ #3 (Number type)
+ tag = 106; reference = 38;
+ #4 (SciData dimension record)
+ tag = 701; reference = 38;
+ #5 (Numeric Data Group)
+ tag = 720; reference = 16;
+
+
+Vgroup:16
+ tag = 1965; reference = 40;
+ name = tall.hdf; class = CDF0.0;
+ number of entries = 10;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 19;
+ number of entries = 1;
+ name = fakeDim0; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 21;
+ number of entries = 1;
+ name = fakeDim1; class = Dim0.0
+ number of attributes = 0
+ #2 (Vgroup)
+ tag = 1965;reference = 23;
+ number of entries = 1;
+ name = fakeDim2; class = Dim0.0
+ number of attributes = 0
+ #3 (Vgroup)
+ tag = 1965;reference = 25;
+ number of entries = 1;
+ name = fakeDim3; class = Dim0.0
+ number of attributes = 0
+ #4 (Vgroup)
+ tag = 1965;reference = 27;
+ number of entries = 1;
+ name = fakeDim4; class = Dim0.0
+ number of attributes = 0
+ #5 (Vgroup)
+ tag = 1965;reference = 29;
+ number of entries = 1;
+ name = fakeDim5; class = Dim0.0
+ number of attributes = 0
+ #6 (Vgroup)
+ tag = 1965;reference = 33;
+ number of entries = 8;
+ name = dset1.1.1; class = Var0.0
+ number of attributes = 0
+ #7 (Vgroup)
+ tag = 1965;reference = 35;
+ number of entries = 5;
+ name = dset1.1.2; class = Var0.0
+ number of attributes = 0
+ #8 (Vgroup)
+ tag = 1965;reference = 37;
+ number of entries = 5;
+ name = dset2.1; class = Var0.0
+ number of attributes = 0
+ #9 (Vgroup)
+ tag = 1965;reference = 39;
+ number of entries = 6;
+ name = dset2.2; class = Var0.0
+ number of attributes = 0
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0 -- vg1 -- vg2
+ -- vg3 -- vg4
+ -- vg5
+
+ vg1 -- vg2
+ -- vg3 -- vg4
+
+ vg2
+
+ vg3 -- vg4
+
+ vg4
+
+ vg5
+
+ vg6 -- vd
+
+ vg7 -- vd
+
+ vg8 -- vd
+
+ vg9 -- vd
+
+ vg10 -- vd
+
+ vg11 -- vd
+
+ vg12 -- vg6 -- vd
+ -- vg7 -- vd
+ -- vd
+ -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg13 -- vg8 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg14 -- vg9 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg15 -- vg10 -- vd
+ -- vg11 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg16 -- vg6 -- vd
+ -- vg7 -- vd
+ -- vg8 -- vd
+ -- vg9 -- vd
+ -- vg10 -- vd
+ -- vg11 -- vd
+ -- vg12 -- vg6 -- vd
+ -- vg7 -- vd
+ -- vd
+ -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg13 -- vg8 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg14 -- vg9 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg15 -- vg10 -- vd
+ -- vg11 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+File name: testfiles/tall.hdf
+
+Vdata: 0
+ tag = 1962; reference = 3;
+ number of records = 1; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 10;
+ name = attr1; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=20, order=10
+ number of attributes = 0
+Loc. Data
+0 97 98 99 100 101 102 103 104 105 0 ;
+
+Vdata: 1
+ tag = 1962; reference = 4;
+ number of records = 1; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 16;
+ name = attr2; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=24, order=4
+ number of attributes = 0
+Loc. Data
+0 0 1 2 3 ;
+
+Vdata: 2
+ tag = 1962; reference = 18;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim0; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 10 ;
+
+Vdata: 3
+ tag = 1962; reference = 20;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim1; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 10 ;
+
+Vdata: 4
+ tag = 1962; reference = 22;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim2; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 20 ;
+
+Vdata: 5
+ tag = 1962; reference = 24;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim3; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 10 ;
+
+Vdata: 6
+ tag = 1962; reference = 26;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim4; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 3 ;
+
+Vdata: 7
+ tag = 1962; reference = 28;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim5; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 5 ;
+
+Vdata: 8
+ tag = 1962; reference = 30;
+ number of records = 27; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 1;
+ name = attr1; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=20, order=1
+ number of attributes = 0
+Loc. Data
+00 49 ; 115 ; 116 ; 32 ;
+04 97 ; 116 ; 116 ; 114 ;
+08 105 ; 98 ; 117 ; 116 ;
+12 101 ; 32 ; 111 ; 102 ;
+16 32 ; 100 ; 115 ; 101 ;
+20 116 ; 49 ; 46 ; 49 ;
+24 46 ; 49 ; 0 ;
+
+Vdata: 9
+ tag = 1962; reference = 31;
+ number of records = 27; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 1;
+ name = attr2; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=20, order=1
+ number of attributes = 0
+Loc. Data
+00 50 ; 110 ; 100 ; 32 ;
+04 97 ; 116 ; 116 ; 114 ;
+08 105 ; 98 ; 117 ; 116 ;
+12 101 ; 32 ; 111 ; 102 ;
+16 32 ; 100 ; 115 ; 101 ;
+20 116 ; 49 ; 46 ; 49 ;
+24 46 ; 49 ; 0 ;
+
+File name: testfiles/tall.hdf
+
+Variable Name = dset1.1.1
+ Index = 0
+ Type= 32-bit signed integer
+ Ref. = 7
+ Rank = 2
+ Number of attributes = 2
+ Dim0: Name=fakeDim0
+ Size = 10
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Dim1: Name=fakeDim1
+ Size = 10
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Attr0: Name = attr1
+ Type = 8-bit signed integer
+ Count= 27
+ Value = 49 115 116 32 97 116 116 114 105 98 117 116 101
+ 32 111 102 32 100 115 101 116 49 46 49 46 49 0
+
+ Attr1: Name = attr2
+ Type = 8-bit signed integer
+ Count= 27
+ Value = 50 110 100 32 97 116 116 114 105 98 117 116 101
+ 32 111 102 32 100 115 101 116 49 46 49 46 49 0
+
+ Data :
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+ 0 1 2 3 4 5 6 7 8 9
+
+
+
+Variable Name = dset1.1.2
+ Index = 1
+ Type= 32-bit signed integer
+ Ref. = 9
+ Rank = 1
+ Number of attributes = 0
+ Dim0: Name=fakeDim2
+ Size = 20
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+
+
+Variable Name = dset2.1
+ Index = 2
+ Type= 32-bit floating point
+ Ref. = 14
+ Rank = 1
+ Number of attributes = 0
+ Dim0: Name=fakeDim3
+ Size = 10
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 1.000000 1.100000 1.200000 1.300000 1.400000 1.500000
+ 1.600000 1.700000 1.800000 1.900000
+
+
+Variable Name = dset2.2
+ Index = 3
+ Type= 32-bit floating point
+ Ref. = 16
+ Rank = 2
+ Number of attributes = 0
+ Dim0: Name=fakeDim4
+ Size = 3
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Dim1: Name=fakeDim5
+ Size = 5
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0.000000 0.000000 0.000000 0.000000 0.000000
+ 0.100000 0.100000 0.100000 0.100000 0.100000
+ 0.200000 0.200000 0.200000 0.200000 0.200000
+
+
diff --git a/tools/testfiles/tattr.dmp b/tools/testfiles/tattr.dmp
new file mode 100644
index 0000000..277c0b6
--- /dev/null
+++ b/tools/testfiles/tattr.dmp
@@ -0,0 +1,64 @@
+File name: testfiles/tattr.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 0;
+ number of attributes = 3
+ attr0: name=attr1 type=20 count=24 size=24
+ 97 116 116 114 105 98 117 116 101 32 111 102 32 114 111
+ 111 116 32 103 114 111 117 112 0
+ attr1: name=attr2 type=24 count=10 size=40
+ 1 2 3 4 5 6 7 8 9 10
+ attr2: name=attr3 type=6 count=10 size=80
+ 0.000000 0.100000 0.200000 0.300000 0.400000 0.500000 0.600000
+ 0.700000 0.800000 0.900000
+Entries:-
+ None.
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0
+
+File name: testfiles/tattr.hdf
+
+Vdata: 0
+ tag = 1962; reference = 3;
+ number of records = 1; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 24;
+ name = attr1; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=20, order=24
+ number of attributes = 0
+Loc. Data
+0 97 116 116 114 105 98 117 116 101 32 111 102 32 114 111 111 116 32 103 114 111 117 112 0 ;
+
+Vdata: 1
+ tag = 1962; reference = 4;
+ number of records = 1; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 40;
+ name = attr2; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=24, order=10
+ number of attributes = 0
+Loc. Data
+0 1 2 3 4 5 6 7 8 9 10 ;
+
+Vdata: 2
+ tag = 1962; reference = 5;
+ number of records = 1; interlace = 0;
+ fields = [VALUES];
+ record size (in bytes) = 80;
+ name = attr3; class = Attr0.0;
+ number of attributes = 0
+- field index 0: [VALUES], type=6, order=10
+ number of attributes = 0
+Loc. Data
+0 0.000000 0.100000 0.200000 0.300000 0.400000 0.500000 0.600000 0.700000 0.800000 0.900000 ;
+
+File name: testfiles/tattr.hdf
diff --git a/tools/testfiles/tcompound.dmp b/tools/testfiles/tcompound.dmp
new file mode 100644
index 0000000..d513cf1
--- /dev/null
+++ b/tools/testfiles/tcompound.dmp
@@ -0,0 +1,114 @@
+File name: testfiles/tcompound.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 2;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 4;
+ number of entries = 0;
+ name = group1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 10;
+ number of entries = 0;
+ name = group2; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:1
+ tag = 1965; reference = 4;
+ name = group1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:2
+ tag = 1965; reference = 10;
+ name = group2; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0 -- vg1
+ -- vg2
+
+ vg1
+
+ vg2
+
+File name: testfiles/tcompound.hdf
+
+Vdata: 0
+ tag = 1962; reference = 3;
+ number of records = 5; interlace = 0;
+ fields = [a_name, b_name, c_name];
+ record size (in bytes) = 16;
+ name = dset1; class = HDF5;
+ number of attributes = 0
+- field index 0: [a_name], type=24, order=1
+ number of attributes = 0
+- field index 1: [b_name], type=5, order=1
+ number of attributes = 0
+- field index 2: [c_name], type=6, order=1
+ number of attributes = 0
+Loc. Data
+0 0 0.000000 1.000000 ; 1 1.000000 0.500000 ; 2 4.000000 0.333333 ;
+3 3 9.000000 0.250000 ; 4 16.000000 0.200000 ;
+
+Vdata: 1
+ tag = 1962; reference = 5;
+ number of records = 5; interlace = 0;
+ fields = [int_name, float_name];
+ record size (in bytes) = 8;
+ name = dset2; class = HDF5;
+ number of attributes = 0
+- field index 0: [int_name], type=24, order=1
+ number of attributes = 0
+- field index 1: [float_name], type=5, order=1
+ number of attributes = 0
+Loc. Data
+0 0 0.000000 ; 1 1.100000 ; 2 2.200000 ;
+3 3 3.300000 ; 4 4.400000 ;
+
+Vdata: 2
+ tag = 1962; reference = 7;
+ number of records = 5; interlace = 0;
+ fields = [int, float];
+ record size (in bytes) = 8;
+ name = dset4; class = HDF5;
+ number of attributes = 0
+- field index 0: [int], type=24, order=1
+ number of attributes = 0
+- field index 1: [float], type=5, order=1
+ number of attributes = 0
+Loc. Data
+0 0 0.000000 ; 1 1.000000 ; 2 2.000000 ;
+3 3 3.000000 ; 4 4.000000 ;
+
+Vdata: 3
+ tag = 1962; reference = 11;
+ number of records = 5; interlace = 0;
+ fields = [int, float];
+ record size (in bytes) = 8;
+ name = dset5; class = HDF5;
+ number of attributes = 0
+- field index 0: [int], type=24, order=1
+ number of attributes = 0
+- field index 1: [float], type=5, order=1
+ number of attributes = 0
+Loc. Data
+0 0 0.000000 ; 1 1.000000 ; 2 2.000000 ;
+3 3 3.000000 ; 4 4.000000 ;
+
+File name: testfiles/tcompound.hdf
diff --git a/tools/testfiles/tdset.dmp b/tools/testfiles/tdset.dmp
new file mode 100644
index 0000000..2bad835
--- /dev/null
+++ b/tools/testfiles/tdset.dmp
@@ -0,0 +1,373 @@
+File name: testfiles/tdset.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:1
+ tag = 1965; reference = 8;
+ name = fakeDim0; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 7;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim0; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:2
+ tag = 1965; reference = 10;
+ name = fakeDim1; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 9;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim1; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:3
+ tag = 1965; reference = 12;
+ name = fakeDim2; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 11;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim2; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:4
+ tag = 1965; reference = 14;
+ name = fakeDim3; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 13;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim3; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:5
+ tag = 1965; reference = 16;
+ name = dset1; class = Var0.0;
+ number of entries = 6;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 8;
+ number of entries = 1;
+ name = fakeDim0; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 10;
+ number of entries = 1;
+ name = fakeDim1; class = Dim0.0
+ number of attributes = 0
+ #2 (Scientific Data)
+ tag = 702; reference = 4;
+ #3 (Number type)
+ tag = 106; reference = 15;
+ #4 (SciData dimension record)
+ tag = 701; reference = 15;
+ #5 (Numeric Data Group)
+ tag = 720; reference = 3;
+
+
+Vgroup:6
+ tag = 1965; reference = 18;
+ name = dset2; class = Var0.0;
+ number of entries = 6;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 12;
+ number of entries = 1;
+ name = fakeDim2; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 14;
+ number of entries = 1;
+ name = fakeDim3; class = Dim0.0
+ number of attributes = 0
+ #2 (Scientific Data)
+ tag = 702; reference = 6;
+ #3 (Number type)
+ tag = 106; reference = 17;
+ #4 (SciData dimension record)
+ tag = 701; reference = 17;
+ #5 (Numeric Data Group)
+ tag = 720; reference = 5;
+
+
+Vgroup:7
+ tag = 1965; reference = 19;
+ name = tdset.hdf; class = CDF0.0;
+ number of entries = 6;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 8;
+ number of entries = 1;
+ name = fakeDim0; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 10;
+ number of entries = 1;
+ name = fakeDim1; class = Dim0.0
+ number of attributes = 0
+ #2 (Vgroup)
+ tag = 1965;reference = 12;
+ number of entries = 1;
+ name = fakeDim2; class = Dim0.0
+ number of attributes = 0
+ #3 (Vgroup)
+ tag = 1965;reference = 14;
+ number of entries = 1;
+ name = fakeDim3; class = Dim0.0
+ number of attributes = 0
+ #4 (Vgroup)
+ tag = 1965;reference = 16;
+ number of entries = 6;
+ name = dset1; class = Var0.0
+ number of attributes = 0
+ #5 (Vgroup)
+ tag = 1965;reference = 18;
+ number of entries = 6;
+ name = dset2; class = Var0.0
+ number of attributes = 0
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0
+
+ vg1 -- vd
+
+ vg2 -- vd
+
+ vg3 -- vd
+
+ vg4 -- vd
+
+ vg5 -- vg1 -- vd
+ -- vg2 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg6 -- vg3 -- vd
+ -- vg4 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg7 -- vg1 -- vd
+ -- vg2 -- vd
+ -- vg3 -- vd
+ -- vg4 -- vd
+ -- vg5 -- vg1 -- vd
+ -- vg2 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg6 -- vg3 -- vd
+ -- vg4 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+File name: testfiles/tdset.hdf
+
+Vdata: 0
+ tag = 1962; reference = 7;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim0; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 10 ;
+
+Vdata: 1
+ tag = 1962; reference = 9;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim1; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 20 ;
+
+Vdata: 2
+ tag = 1962; reference = 11;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim2; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 30 ;
+
+Vdata: 3
+ tag = 1962; reference = 13;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim3; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 10 ;
+
+File name: testfiles/tdset.hdf
+
+Variable Name = dset1
+ Index = 0
+ Type= 32-bit signed integer
+ Ref. = 3
+ Rank = 2
+ Number of attributes = 0
+ Dim0: Name=fakeDim0
+ Size = 10
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Dim1: Name=fakeDim1
+ Size = 20
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
+
+
+
+
+Variable Name = dset2
+ Index = 1
+ Type= 64-bit floating point
+ Ref. = 5
+ Rank = 2
+ Number of attributes = 0
+ Dim0: Name=fakeDim2
+ Size = 30
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Dim1: Name=fakeDim3
+ Size = 10
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+ 0.000000 1.000000 2.000000 3.000000 4.000000 5.000000
+ 6.000000 7.000000 8.000000 9.000000
+
+
diff --git a/tools/testfiles/tgroup.dmp b/tools/testfiles/tgroup.dmp
new file mode 100644
index 0000000..04228c5
--- /dev/null
+++ b/tools/testfiles/tgroup.dmp
@@ -0,0 +1,239 @@
+File name: testfiles/tgroup.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 3;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 3;
+ number of entries = 2;
+ name = g1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 6;
+ number of entries = 1;
+ name = g2; class = HDF5
+ number of attributes = 0
+ #2 (Vgroup)
+ tag = 1965;reference = 11;
+ number of entries = 4;
+ name = g3; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:1
+ tag = 1965; reference = 3;
+ name = g1; class = HDF5;
+ number of entries = 2;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 4;
+ number of entries = 0;
+ name = g1.1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 5;
+ number of entries = 0;
+ name = g1.2; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:2
+ tag = 1965; reference = 4;
+ name = g1.1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:3
+ tag = 1965; reference = 5;
+ name = g1.2; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:4
+ tag = 1965; reference = 6;
+ name = g2; class = HDF5;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 7;
+ number of entries = 3;
+ name = g2.1; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:5
+ tag = 1965; reference = 7;
+ name = g2.1; class = HDF5;
+ number of entries = 3;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 8;
+ number of entries = 0;
+ name = g2.1.1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 9;
+ number of entries = 0;
+ name = g2.1.2; class = HDF5
+ number of attributes = 0
+ #2 (Vgroup)
+ tag = 1965;reference = 10;
+ number of entries = 0;
+ name = g2.1.3; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:6
+ tag = 1965; reference = 8;
+ name = g2.1.1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:7
+ tag = 1965; reference = 9;
+ name = g2.1.2; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:8
+ tag = 1965; reference = 10;
+ name = g2.1.3; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:9
+ tag = 1965; reference = 11;
+ name = g3; class = HDF5;
+ number of entries = 4;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 12;
+ number of entries = 0;
+ name = g3.1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 13;
+ number of entries = 0;
+ name = g3.2; class = HDF5
+ number of attributes = 0
+ #2 (Vgroup)
+ tag = 1965;reference = 14;
+ number of entries = 0;
+ name = g3.3; class = HDF5
+ number of attributes = 0
+ #3 (Vgroup)
+ tag = 1965;reference = 15;
+ number of entries = 0;
+ name = g3.4; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:10
+ tag = 1965; reference = 12;
+ name = g3.1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:11
+ tag = 1965; reference = 13;
+ name = g3.2; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:12
+ tag = 1965; reference = 14;
+ name = g3.3; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:13
+ tag = 1965; reference = 15;
+ name = g3.4; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0 -- vg1 -- vg2
+ -- vg3
+ -- vg4 -- vg5 -- vg6
+ -- vg7
+ -- vg8
+ -- vg9 -- vg10
+ -- vg11
+ -- vg12
+ -- vg13
+
+ vg1 -- vg2
+ -- vg3
+
+ vg2
+
+ vg3
+
+ vg4 -- vg5 -- vg6
+ -- vg7
+ -- vg8
+
+ vg5 -- vg6
+ -- vg7
+ -- vg8
+
+ vg6
+
+ vg7
+
+ vg8
+
+ vg9 -- vg10
+ -- vg11
+ -- vg12
+ -- vg13
+
+ vg10
+
+ vg11
+
+ vg12
+
+ vg13
+
+File name: testfiles/tgroup.hdf
+
+File name: testfiles/tgroup.hdf
diff --git a/tools/testfiles/thlink.dmp b/tools/testfiles/thlink.dmp
new file mode 100644
index 0000000..74063b1
--- /dev/null
+++ b/tools/testfiles/thlink.dmp
@@ -0,0 +1,420 @@
+File name: testfiles/thlink.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 2;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 5;
+ number of entries = 1;
+ name = g1; class = HDF5
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 11;
+ number of entries = 0;
+ name = g2; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:1
+ tag = 1965; reference = 5;
+ name = g1; class = HDF5;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 6;
+ number of entries = 0;
+ name = link1; class = HDF5
+ number of attributes = 0
+
+
+Vgroup:2
+ tag = 1965; reference = 6;
+ name = link1; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:3
+ tag = 1965; reference = 11;
+ name = g2; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Vgroup:4
+ tag = 1965; reference = 15;
+ name = fakeDim0; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 14;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim0; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:5
+ tag = 1965; reference = 17;
+ name = fakeDim1; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 16;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim1; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:6
+ tag = 1965; reference = 19;
+ name = fakeDim2; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 18;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim2; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:7
+ tag = 1965; reference = 21;
+ name = fakeDim3; class = Dim0.0;
+ number of entries = 1;
+ number of attributes = 0
+Entries:-
+ #0 (Vdata)
+ tag = 1962; reference = 20;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim3; class = DimVal0.1;
+ total number of attributes = 0.
+
+
+Vgroup:8
+ tag = 1965; reference = 23;
+ name = dset; class = Var0.0;
+ number of entries = 5;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 15;
+ number of entries = 1;
+ name = fakeDim0; class = Dim0.0
+ number of attributes = 0
+ #1 (Scientific Data)
+ tag = 702; reference = 4;
+ #2 (Number type)
+ tag = 106; reference = 22;
+ #3 (SciData dimension record)
+ tag = 701; reference = 22;
+ #4 (Numeric Data Group)
+ tag = 720; reference = 3;
+
+
+Vgroup:9
+ tag = 1965; reference = 25;
+ name = link3; class = Var0.0;
+ number of entries = 5;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 17;
+ number of entries = 1;
+ name = fakeDim1; class = Dim0.0
+ number of attributes = 0
+ #1 (Scientific Data)
+ tag = 702; reference = 8;
+ #2 (Number type)
+ tag = 106; reference = 24;
+ #3 (SciData dimension record)
+ tag = 701; reference = 24;
+ #4 (Numeric Data Group)
+ tag = 720; reference = 7;
+
+
+Vgroup:10
+ tag = 1965; reference = 27;
+ name = link2; class = Var0.0;
+ number of entries = 5;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 19;
+ number of entries = 1;
+ name = fakeDim2; class = Dim0.0
+ number of attributes = 0
+ #1 (Scientific Data)
+ tag = 702; reference = 10;
+ #2 (Number type)
+ tag = 106; reference = 26;
+ #3 (SciData dimension record)
+ tag = 701; reference = 26;
+ #4 (Numeric Data Group)
+ tag = 720; reference = 9;
+
+
+Vgroup:11
+ tag = 1965; reference = 29;
+ name = link3; class = Var0.0;
+ number of entries = 5;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 21;
+ number of entries = 1;
+ name = fakeDim3; class = Dim0.0
+ number of attributes = 0
+ #1 (Scientific Data)
+ tag = 702; reference = 13;
+ #2 (Number type)
+ tag = 106; reference = 28;
+ #3 (SciData dimension record)
+ tag = 701; reference = 28;
+ #4 (Numeric Data Group)
+ tag = 720; reference = 12;
+
+
+Vgroup:12
+ tag = 1965; reference = 30;
+ name = thlink.hdf; class = CDF0.0;
+ number of entries = 8;
+ number of attributes = 0
+Entries:-
+ #0 (Vgroup)
+ tag = 1965;reference = 15;
+ number of entries = 1;
+ name = fakeDim0; class = Dim0.0
+ number of attributes = 0
+ #1 (Vgroup)
+ tag = 1965;reference = 17;
+ number of entries = 1;
+ name = fakeDim1; class = Dim0.0
+ number of attributes = 0
+ #2 (Vgroup)
+ tag = 1965;reference = 19;
+ number of entries = 1;
+ name = fakeDim2; class = Dim0.0
+ number of attributes = 0
+ #3 (Vgroup)
+ tag = 1965;reference = 21;
+ number of entries = 1;
+ name = fakeDim3; class = Dim0.0
+ number of attributes = 0
+ #4 (Vgroup)
+ tag = 1965;reference = 23;
+ number of entries = 5;
+ name = dset; class = Var0.0
+ number of attributes = 0
+ #5 (Vgroup)
+ tag = 1965;reference = 25;
+ number of entries = 5;
+ name = link3; class = Var0.0
+ number of attributes = 0
+ #6 (Vgroup)
+ tag = 1965;reference = 27;
+ number of entries = 5;
+ name = link2; class = Var0.0
+ number of attributes = 0
+ #7 (Vgroup)
+ tag = 1965;reference = 29;
+ number of entries = 5;
+ name = link3; class = Var0.0
+ number of attributes = 0
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0 -- vg1 -- vg2
+ -- vg3
+
+ vg1 -- vg2
+
+ vg2
+
+ vg3
+
+ vg4 -- vd
+
+ vg5 -- vd
+
+ vg6 -- vd
+
+ vg7 -- vd
+
+ vg8 -- vg4 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg9 -- vg5 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg10 -- vg6 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg11 -- vg7 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+ vg12 -- vg4 -- vd
+ -- vg5 -- vd
+ -- vg6 -- vd
+ -- vg7 -- vd
+ -- vg8 -- vg4 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg9 -- vg5 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg10 -- vg6 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+ -- vg9 -- vg5 -- vd
+ -- Scientific Data
+ -- Number type
+ -- SciData dimension record
+ -- Numeric Data Group
+
+File name: testfiles/thlink.hdf
+
+Vdata: 0
+ tag = 1962; reference = 14;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim0; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 5 ;
+
+Vdata: 1
+ tag = 1962; reference = 16;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim1; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 5 ;
+
+Vdata: 2
+ tag = 1962; reference = 18;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim2; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 5 ;
+
+Vdata: 3
+ tag = 1962; reference = 20;
+ number of records = 1; interlace = 0;
+ fields = [Values];
+ record size (in bytes) = 4;
+ name = fakeDim3; class = DimVal0.1;
+ number of attributes = 0
+- field index 0: [Values], type=24, order=1
+ number of attributes = 0
+Loc. Data
+0 5 ;
+
+File name: testfiles/thlink.hdf
+
+Variable Name = dset
+ Index = 0
+ Type= 32-bit signed integer
+ Ref. = 3
+ Rank = 1
+ Number of attributes = 0
+ Dim0: Name=fakeDim0
+ Size = 5
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0 1 2 3 4
+
+
+Variable Name = link3
+ Index = 1
+ Type= 32-bit signed integer
+ Ref. = 7
+ Rank = 1
+ Number of attributes = 0
+ Dim0: Name=fakeDim1
+ Size = 5
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0 1 2 3 4
+
+
+Variable Name = link2
+ Index = 2
+ Type= 32-bit signed integer
+ Ref. = 9
+ Rank = 1
+ Number of attributes = 0
+ Dim0: Name=fakeDim2
+ Size = 5
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0 1 2 3 4
+
+
+Variable Name = link3
+ Index = 3
+ Type= 32-bit signed integer
+ Ref. = 12
+ Rank = 1
+ Number of attributes = 0
+ Dim0: Name=fakeDim3
+ Size = 5
+ Scale Type = number-type not set
+ Number of attributes = 0
+ Data :
+ 0 1 2 3 4
+
diff --git a/tools/testfiles/tslink.dmp b/tools/testfiles/tslink.dmp
new file mode 100644
index 0000000..9ade129
--- /dev/null
+++ b/tools/testfiles/tslink.dmp
@@ -0,0 +1,20 @@
+File name: testfiles/tslink.hdf
+
+
+Vgroup:0
+ tag = 1965; reference = 2;
+ name = /; class = HDF5;
+ number of entries = 0;
+ number of attributes = 0
+Entries:-
+ None.
+
+
+Graphical representation of the file:-
+(vg#: vgroup; vd: vdata)
+
+ vg0
+
+File name: testfiles/tslink.hdf
+
+File name: testfiles/tslink.hdf