h5diff new features
Description:
added comparison for attributes
adeded comparison for all dataset datatypes
added tests for the new features
changed the output format
Solution:
Platforms tested:
linux
solaris 5.7
IRIX 6.5 (64)
Misc. update:
Bug fix
Description:
Variable length strings and sequences with NULL pointers were not handled
by library, causing problems access the data. This also affected fill values
for variable-length datatypes.
Solution:
Address the issues in the library by detecting NULL sequences/strings
and avoid trying to convert them.
Patched up dumper to display NULL sequences/strings.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
h5diff new feature
Description:
added compare for attributes
a new options flag (-a) was added to the options structure. it is 0 by default (no compare )
the output of the compare is the same that for datasets, and all the other flags also apply for attributes
(the memory compare is done in the same function diff_array)
all the other requirements for compare of datasets (type, space) are identical too
Platforms tested:
linux
solaris 2.7
IRIX
Misc. update:
h5diff improvment
Description:
changed a call to exit(1) for return -1 for user friendiness in the h5diff function
in the case that H5Fopen fails
Solution:
Platforms tested:
linux (small change )
Misc. update:
h5diff new features
Description:
added the diff for variable lenght, opaque, enum, and bitfield datasets
Solution:
Platforms tested:
linux
solaris 2.7
IRIX
Misc. update:
h5diff new features
bug fix
Description:
implemented the diff for STRING and ARRAY types
fixed a bug. when the datasets are empty, do not try to compare them .
the check empty is made with H5Dgetstorage_size
Solution:
Platforms tested:
linux
solaris 5.7
IRIX
Misc. update:
h5diff new features
Description:
implemented diff for compound types. so far it only compares the integer and float classes
of these compound types. this is done with a new recursive function
that compares datum by datum
Platforms tested:
linux
solaris 2.7
IRIX
Misc. update:
h5repack new features
Description:
added a copy routine for all types
added a copy routine for attributes
commnented some debug messages in h5trav
added the verbose option to some h5diff messages
Platforms tested:
linux
solaris 2.5
IRIX
Misc. update:
Code cleanup
Description:
Remove various "fixtype" routines which duplicate (and actually pre-date)
the functionality in H5Tget_native_type in favor of having the tools call
H5Tget_native_type(). This provides the same functionality (actually better
functionality, since the old "fixtype" routines didn't handle alignment of
compound fields correctly) and reduces the amount of code to maintain.
Add additional tests to dump out a "complex" compound datatype which
exercises more code in the library for aligning compound fields correctly.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
This is an omibus update to the h5dump program.
1. Fixes bug 888
2. updates XML output to 1.6
Description:
Solution:
Platforms tested:
verbena, arabica, copper (64)
Misc. update:
MANIFEST updated
Need to do release notes.
Bug fix/new feature
Description:
Teach h5dump/h5ls to display variable-length datatypes correctly.
Change "raw byte" output of array elements from "0xde8141b1a818" to
"de:81:41:b1:a8:18" so that it's easier for users to read.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
Misc. update:
Patch provided by Robb Matzke (matzke@llnl.gov)
Bug fix
Description:
The output from the modification time is highly system dependent, so
remove it from the h5ls output before comparing file with diff.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
bug fix
Description:
unsigned integers were not printed out correctly
Solution:
added %u and %lu to the list of formats
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
h5diff support for long_long
Description:
added h5diff support for long_long;
No automatic test was added because
it seems that the printf format of long_long is slightly different in Linux and IRIX(modi4),
because the diff command complained about a difference in the 2 test files for long_long;
visually, it seems that in IRIX an extra space is added after the print (or maybe it is
just me that is seeing extra spaces :=)
this test is test 5.8, commented in testh5diff.sh
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
bug fix
Description:
the signed / unsigned comparison was not properly handled.
the fixtype function sets the sign for the memory type the same sign as found on disk
and the array_diff function only handled signed cases
Solution:
addded for each INTEGER size type an OR condition with the unsigned version
if the datatypes have different signs , comparison is NOT supported
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
bug fix and enhancement
Description:
combined the --simple option to the display of NATIVE datatypes
with the -S option , the print of the datatype will always display the full description
making it possible to do an automatic test for catching differences on output
made the case for printing the type of bitfield data, which was not handled
the new test generates a dataset with 10 attributes, each one a different datatype
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
fixed a typo on the usage message, redone the test files that deal with with
Description:
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
added new test files for h5diff
bug fix
Description:
the criteria for determining the correct switch case cast to void* to type* was the data size read from disk.
this was causing problems on Cray T3E, where all integer except char are 8 bytes long
Solution:
changed the criteria for using the memory size instead, which is determined by the same function
that reads the data into memory
the messages " using memory NATIVE_TYPE_X" were removed, because they might not coincid on different
platforms.
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
h5diff update
Description:
removed the -l , list, option
this feature will be part of a different tool
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
new feature
Description:
during the sequencial match list, by default the differences between matched datasets were printed.
added an -m option that allows to turn this off, just printing the file differences
Solution:
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
Update
Description:
Fixed description. Should be 1-byte instead of 1-bytes
Platforms tested:
Linux (Small change, no need for full checking)
Misc. update:
Feature Add
Description:
It's now possible to print out characters as actual characters
instead of their decimal equivalent numbers. It's the same thing that
h5ls does. The flag to do this is "--string" or "-r".
Platforms tested:
Verbena (Fortran & C++)
Arabica (Fortran)
Modi4 (Fortran & Parallel)
Misc. update:
added more tests, described in the test matrix
Description:
test -r
test -l
expanded -d, -p and -n tests
test different types to include links and named types
test for non supported classes, e.g bitfield, opaque , etc
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
added more tests to automatic testing
Description:
added test for an invalid option letter
added test for -h option
added test for an invalid option -d
added test for an invalid option -d number
Solution:
Platforms tested:
linux, solaris, sgi
Misc. update:
added test script for h5diff
code cleaning for alpha release
makefile now generates the h5difftst.c program that generates 2 .h5 files for testing
Description:
the .sh script runs several runs of h5diff and compares the output
with a predifined output located in /tools/testfiles (.txt files)
righ now it has only one test
Solution:
Platforms tested:
linux (other platforms later , ok !? )
Misc. update:
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Purpose:
New Feature; Optimization; Clean-up
(Merged from 1.4 branch)
Description:
There is no symbolic constant to pass to functions that take an
optional object ID for when the caller wants to indicate no object
ID. In the past the caller always passed a negative integer.
GPFS performs poorly.
The h5ls tool decides whether to list the file name in the output
based on a compile-time choice, which isn't always optimal at run
time.
Solution:
Added a symbolic constant H5I_INVALID_HID.
Added code to tell the mmfsd of GPFS to forego byte range token
prefetching.
h5ls decides whether to print the file name at runtime based on
the number of objects being listed.
Platforms tested:
SuSE Linux (arborea), gcc and mpich-1.2.4
SunOS (baldric), gcc
Bug Fix
Description:
On AIX machines, the number of script interpreters which ran the
testh5dump.sh script would strip too many of the quotes away, causing
problems if you're quoting something with a space in it.
Solution:
Just got rid of the spaces and used ',' instead.
Platforms tested:
AIX and Linux
Bug Fix
Description:
There was a problem with having a lot of groups nested together. We
could only handle 1024 characters at most, but, in a parallel program
especially, it could occur that there were lots and lots of groups
and would be more than 1024.
Solution:
I made the "objname" part of the obj_t structure a pointer instead of
a fixed size. Added code to allocate/deallocate the memory we need
for it. Had to fix how the "prefix" was being handled in the h5dump
program. It was also set to only 1024 characters in length. I made it
dynamic.
Added a test case...Go me!
Platforms tested:
Linux, Solaris
Purpose:
Feature Add
Description:
Added support for dumping Group Comments. This involved a
modification of the DDL as well.
Solution:
Steal code from h5ls and put it in the h5dump. The ddl.html file was
updated as normal. And a test was created...
Platforms tested:
Dangermouse, Modi4, Kelgia
Purpose:
bug fixed
Description:
HDF4 Vdata is extensible, when converted, the new HDF4 data set should also be extensible.
Solution:
Make the HDF4 dataset converted from Vdata unlimited dimensions.
These three testing files should be updated accordingly.
Platforms tested:
Linux, RedHat 6.2
Purpose:
add another test file
Description:
Solution:
Platforms tested:
eirene, arabica
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
Add another test file
Description:
Solution:
Platforms tested:
eirene, arabica
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Improvement
Description:
The stdout and stderr were both redirected to an output file. This
works fine in tradition sequential Unix machines. But in some
parallel systems (like mpi-jobs in IBM SP), the stderr is merged
with stdout alright but not in the exact order as expected. This
is not deterministic in parallel jobs. So, the test output are
all there but the ordering maynot be as expected.
Solution:
Redirect stderr to separated file and append it to the stdout
file after test-command is executed. Then compare it with
the expected output. This eliminate the assumption that
stdout and stderr must merged in "chronical orders".
The .ddl file are updated by moving all stderr text to the end of the
file.
Platforms tested:
eirene.
Purpose:
update h4toh5 converter utility test files
Description:
better output of HDF4 dimensional name list
Solution:
Platforms tested:
eirene,arabica
Purpose:
update h4toh5 testing files
Description:
Now we are using fixed size for HDF5 dimensional name list and h5dump
output is appended with 000/000/.......................
It looks ugly and annoying.
Solution:
Use NULLTERM for SDS dimensional list names
Platforms tested:
RedHat 6.2(eirene) and solaris 2.7(arabica)
Updated
Description:
Updated test results for the h5dumper's XML option. The tool now
conforms with the fixes implemented in the 1.4 branch.
Platforms tested:
Linux
Purpose:
Bug fix.
Description:
Order of elements in groups is wrong. (Need to find out why
h5gen accepted this at all.)
Note that test output had to be corrected in some cases.
Solution:
Fixed xml_dump_group to do the right order to match the DTD
Platforms tested:
Linux, solaris.
Purpose:
fix bug in XML output
Description:
OBJ-XID, Parents, etc. were messed up in several cases.
Solution:
Fixed. Updated tests to have correct results in them
Note: tvldtype.h5.xml is a junk file,
Platforms tested:
Solaris 2.7
Purpose:
adding new test hdf4files to be tested by h4toh5 converter
Description:
Solution:
more typical test files are used
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
New Feature
Description:
Changed the command line flags in the h5dumper so that they accept
both short and long flags. The flag syntax for some have changed
(I.e., object ids are no longer -v but -i and -header is now -H or
--header, etc.) A new function is added called get_options which can
be used for all other tools as well.
Had to change these output files to accept the correct flags.
Platforms tested:
Linux
Bug Fix
Description:
Stumbled across a problem when working on the J90 h5dump problem where
I noticed that some of the output for named compound datatypes wasn't being
displayed.
Solution:
Generated correct DDL files.
Platforms tested:
FreeBSD 4.2 (hawkwind) & Cray J90 (killeen)
Bug fix
Description:
With the changing of the spelling error in the h5ls usage
statement, these testfiles puked.
Solution:
Corrected them in there.
Platforms tested:
Linux
Bug fix
Description:
I was writing things out to the HDF file in big-endian format
without doing any conversions on the data or anything like that.
This was causing tests to fail on most machines
Solution:
Removed the big-endian craziness...But, this kinda resulted in a
bug in the HDF dumper which Albert and Robb suggested ways of
fixing.
Platforms tested:
Linux
Purpose:
Adding more expected files for testing h4toh5 converter
These test files include hdf5 files that are expected converted from hdf4 files for various vdata
and vgroup cases.
Description:
Solution:
Platforms tested:
eirene,arabica,hawkwind,paz
Purpose:
Add testing files for h4toh5 converter
Two more files for testing native float data type sds objects
Description:
Solution:
Platforms tested:
arabica,eirene,hawkwind,paz
Purpose:
Adding expected files for h4toh5 converter
two test files for annotation
Description:
Solution:
Platforms tested:
arabica,eirene,paz,gondolin,hawkwind
Purpose:
Adding testing files for h4toh5 converter
hdf4 test files for various tests on vgroup(including, hardlink,loop,nameclashing etc.)
Description:
Solution:
Platforms tested:
arabica,eirene,paz,gondolin,hawkwind
Purpose:
Adding testfiles for h4toh5 converter
more testing files for sds objects in various datatypes
Description:
see above
Solution:
Platforms tested:
eirene,arabica,gondolin,paz,hawkwind
Purpose:
Adding testing files for h4toh5 converter
these files are parts of files that test different datatype sds objects.
Description:
see above
Solution:
Platforms tested:
eirene,arabica,gondolin,paz,hawkwind
Purpose:
Add testing files for h4toh5 converter
test files for testing dimensional scale dataset and unlimited dimension case
Description:
see above
Solution:
Platforms tested:
eirene,arabica,hawkwind,paz,gondolin
Purpose:
add several files to test h4toh5 converter on hdf image with different datatype
Description:
see above
Solution:
Platforms tested:
eirene,hawkwind,arabica
Purpose:
Add two test files for testing h4toh5 converter to convert image objects associated with attribute and image.
Description:
see above
Solution:
Platforms tested:
arabica,eirene,hawkwind
Purpose:
add a hdf4 file to test converter for converter object annotation into hdf5 attribute
Description:
see above
Solution:
Platforms tested:
eirene,hawkwind,arabica
Purpose:
Testing
Description:
The h5ls test script only looked at exit status.
Solution:
Created expected output files and compare actual output
with expected output.
Platforms tested:
i686-pc-linux
New tests
Description:
Added a new test file (tsaf.h5) for h5dump and h5ls. The test file was
created by lib SAF team. This file used to cause previous version
of hdf5 tools to core dump.
tsaf.ddl is the expected output from h5dump.
Platforms tested:
IRIX64 -64, linux
Bug fix (ID 419)
Description:
Converted strings class types (in dataset and attributes) to
HDF4 type of DFNT_INT8. Should have been DFNT_CHAR type.
Solution:
h5toh4.c:
Changed the HDF4 type from DFNT_INT8 to DFNT_CHAR type.
Converted all hdf5 strings (be it NULLTERM, NULLPAD, SPACEPAD)
all to fixed width space padded HDF4 DFNT_CHAR.
testh5toh4:
Added the testing of $HDF_NOCLEANUP before cleaning away the result files.
testfiles/Expected/tattr.hdf:
testfiles/Expected/tstr.hdf:
testfiles/Expected/tstr2.hdf:
Updated with the corrected DFNT_CHAR type.
Platforms tested:
Solaris 2.7, Linux, Irix 6.5.
Purpose:
add h4toh5 converter source codes under tools directory.
Description:
this is the expected hdf5 result for h4toh5 converter.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
Purpose:
add h4toh5 converter source codes under tools directory.
Description:
this is the test file for h4toh5 converter.
Solution:
[details about the changes, algorithm, etc...]
[Please as detail as you can since your own explanation is
better than others guessing it from the code.]
Platforms tested:
[machines you have tested the changed version. This is absolute
important. Test it out on at least two or three different platforms
such as Big-endian-32bit (SUN/IRIX), little-endian-32(LINUX) and
64-bit (IRIX64/UNICOS/DEC-ALPHA) would be good.]
macros in the dumper. this was basically adding a space after most of the '}'.
there are some places that don't have the space because those '}' were not printed
by the end_obj macro
the generanted hdf files against saved output of hdp. This did not
work well because whenever the hdp changes its output format, the
tests failed unnecessarily. The tests also failed if the test machine
uses a different version of HDF library from the HDF5 development
machine.
Changed the algorithm to compare the generated HDF files against
saved HDF files (first by a simple cmp; if that fails, compare the
output of the host machine's hdp on both HDF files.)
Saved HDF files are stored in testfiles/Expected.
Tested on Hawkwind (FreeBSD) with srcdir option and Baldric (Solaris)
without srcdir option.
New feature
Problem:
The h5toh4 converter tester - testh5toh4, is set up to place output
files in same directory as input files. A difficulty comes up when
the input files come off a write-protected media, such-as CDROM.
Solution:
Rather than using "cd" to change directory and referencing files by
short filename only, "input directory" and "output directory" are
defined explicitly, and files are always referenced with pathnames
included. For cases when the converter generates the output filename,
a copy of the input file is first placed in the "output directory".
The copied input file is used by h5toh4 and then removed.
On Solaris2.5, the following sequence of commands seemed to work fine:
$ gunzip < hdf5-1.1.72.tar.gz | tar xf -
$ chmod -R ugo-w hdf5-1.1.72
$ mkdir build
$ cd build
$ ../hdf5-1.1.72/configure --enable-production --disable-debug \
$ --with-hdf4=... --with-zlib=...
$ make check
This change should allow the tester to be used when the hdf5 source
is on a read only media like a CDROM.
Platform tested:
Solaris2.5
Bug fix
Problem:
The hdp dumper output files used in the h5toh4 converter test
program have the result of the latest changes to the HDF4 library,
but the converter was to maintain compatability with HDF4.1r2.
Solution:
Regenerate the HDF4.1r2 version of the hdp dumper ouput files to
be used for the h5toh4 converter test program.
Platform tested:
Solaris2.5
New feature
Solution:
Modified h5dumptst.c to generate more single dimension
datasets of H5T_STRING type held in file tstr2.h5.
Platform tested:
Solaris2.5
Conform closer to other test print-out.
Solution:
Added "All h5dump tests passed." statement to output
of testh5dump.sh when appropriate. Similarly, added
"All h5toh4 tests passed." statement to output of
testh5toh4 when appropriate.
Also, added the testing of converting H5 files with
loop pathways into H4 files with recursive references.
Platforms tested:
Solaris2.5, Digital Unix 4.0
New feature
Solution:
Added some new new tests to show that paths involving HARDLINKS
and paths involving SOFTLINKS convert existing objects from H5 to
H4 the same way that paths involving no links does.
Platform tested:
Solaris2.5
----------------------
./INSTALL
Added warning that enabling debugging code can adversely
affect performance even when the debugging isn't turned on at
run-time. Performance testing shows that under certain
circumstances (like data type conversions of compound types)
the H5_timer functions, although only a few lines each,
contribute a fairly large percent to the execution time.
./src/H5T.c
./src/H5Tpkg.h
./src/H5Tpublic.h
Improved the H5Tunregister() function to make unregistering
more flexible. It takes the same arguments as H5Tregister()
but also accepts wild cards. All conversion functions that
match the H5Tunregister() search criteria are removed from the
global type conversion table.
The H5Tregister_hard() and H5Tregister_soft() were combined
into a single function called H5Tregister() which is the
counterpart to H5Tunregister(). A new `persistence' argument
was added to differentiate between the two types of conversion
functions.
The application is allowed to register a hard conversion
function for the no-op conversion path although the library
isn't obligated to call it (it usually does). This is mostly
for completeness, but the application might use it to help
determine if the raw data pipeline was able to use the
optimized path for the case when no type conversion is
necessary. The library doesn't allow this path to be
unregistered although the application can redefine it as often
as it likes.
Fixed the type conversion tables in preparation for MT-safety
and to fix previosly-known design bugs wrt. unregistering
conversion functions or changing the C function associated
with a conversion path. The MT-safety stuff is documented in a
separate white paper.
Increased the conversion function debugging name from 9
characters to 31 characters so the output can be more
descriptive.
Moved conversion path statistics from the H5T_cdata_t member
into the conversion path itself. This makes H5T_cdata_t
contain only application-visible data structures.
./src/H5A.c
./src/H5D.c
./src/H5Ofill.c
./src/H5P.c
./src/H5T.c
Improved the way type conversion functions are called so the
caller doesn't have to check for data type debugging and
increment type conversion timers and statistics.
Changed check for no-op conversion since it is now
application-definable and there may even be more than one
definition at a time in a multi-threaded application (one
thread might be using the no-op conversion path when some
other thread changes its definition -- the first thread still
sees the original defintion until it's done with the
operation).
./doc/html/Datatypes.html
Updated the user guide to reflect the changes to data type
conversion registration functions.
./bin/trace
./src/H5.c
Added tracing support for the new H5T_pers_t data type.
./test/dtypes.c
Added printf to display alignment value if non-aligned data
types are being tested.
./test/h5test.c
Modified the H5Tunregister() calls to use the new
arguments. All 94 of those calls can be replaced by a single
call to the new H5Tunregister() function.
./src/H5.c
Added HAVE_GETTIMEOFDAY around an auto variable and
initialized the elapsed time to zero when gettimeofday() is
not available.
./src/H5F.c
./src/H5Fprivate.h
./src/H5P.c
Added an H5*_init() functions which do the same thing as
H5*_init_interface() but can be called from other packages and
don't do anything if the interface is already initialized.
This fixes a couple memory leaks in applications that
repeatedly close and open the library with H5close().
./src/H5Tconv.c
Optimized some data alignment code in the hardware conversion
functions.
Hardware conversions accumulate statistics about source and
destination data alignment and print that information when the
conversion function is unregistered (usually when the
application exits) if data type debugging is compiled into the
library and enabled at run-time.
The conversion caching was cleaned up for the compound data
type conversion function. It now caches conversion paths in a
manner that will be MT-safe and is much simpler than the old
method. Also cleaned up some array index maps.
./src/H5detect.c
Fixd mispelling of alingemnt.
./src/H5private.h
Changed `TRUE' to `1' in assignment to interface_initialize_g
in FUNC_ENTER macro definition.
./tools/testh5dump.sh
Completely rewritten to make it shorter, better documented,
and conforming to most of the other test outputs.
The comparison of the actual output with the expected output
is insensitive to differences in white space. The test now
passes for the first time on Linux where the output width
wasn't as expected but the output was otherwise correct.
./tools/testfiles/tall-1.ddl
./tools/testfiles/tall-2.ddl
./tools/testfiles/tall-3.ddl
./tools/testfiles/tattr-1.ddl
./tools/testfiles/tattr-2.ddl
./tools/testfiles/tattr-3.ddl
./tools/testfiles/tattr-4.ddl
./tools/testfiles/tcomp-1.ddl
./tools/testfiles/tcomp-2.ddl
./tools/testfiles/tcomp-3.ddl
./tools/testfiles/tcomp-4.ddl
./tools/testfiles/tdset-1.ddl
./tools/testfiles/tdset-2.ddl
./tools/testfiles/tdset-3.ddl
./tools/testfiles/tdset-4.ddl
./tools/testfiles/tgroup-1.ddl
./tools/testfiles/tgroup-2.ddl
./tools/testfiles/tgroup-3.ddl
./tools/testfiles/tlink-1.ddl
./tools/testfiles/tlink-2.ddl
./tools/testfiles/tlink-3.ddl
./tools/testfiles/tlink-4.ddl
./tools/testfiles/tlink-5.ddl
./tools/testfiles/tslink-1.ddl
./tools/testfiles/tslink-2.ddl
Changed `../h5dump' to just `h5dump'.
./config/alpha-dec-osf4.0
Added more warning and optimization switches to the native
compiler.
New feature
Solution:
Testing of Extendable Dataset support in h5toh4 converter when
extendable dimension is first dimension.
Platform tested:
Solaris2.5
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