bug fix (sort of)
Description:
apparently linux and other systems (solaris) return a different value from atof if the
argument is in hexadecimal .
this return value was used to test if the argument to -p and -d was a valid floating point
number
for now , commented the calls in the script with -p <hexa> until we find a portable solution
Solution:
Platforms tested:
linux
solaris
windows
Misc. update:
bug fix
Description:
the -p option was not parsing correctly if the input was in the exponential format
Solution:
add a new parse test for floating point numbers
Platforms tested:
linux
Misc. update:
code clean, bug fix
Description:
the attributes of the root group were not being compared
removed compiler warnings on IRIX and solaris
Solution:
added a special function to compare the attributes of the root group
Platforms tested:
linux
IRIX 6.5
solaris 2.7
Misc. update:
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:
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:
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:
Regenerated
Description:
Regenerated Dependencies files because of changes to the h5diff and
tools library.
Platforms tested:
Linux (small change and just needed to be checked once).
h5diff maitainance
Description:
separated the h5diff source between several modules
there is a public module with a new function "h5diff" that can be called by an application
program (h5repack will use it )
added a new verbose option that can turn off all printf
Platforms tested:
linux
solaris
IRIX
Misc. update:
Code cleanup
Description:
Clean up a few loose ends and warnings for the 1.6 compatibility changes
to the error API.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
bug fix
Description:
h5diff would incur a segmentation fault in Alpha clusters when
the percentage option is used. This was due to memory aliagment
issue when the options variable is declared as a local variable
in main().
Moved the declaration to a global declaration.
Platforms tested:
"h5committested"
And tested at cluster QT of SNL.
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
Updated the copyright notice--mostly by rearranging
some text to make them consistent.
Solution:
Platforms tested:
"h5committested"--sol is down, so, no SUn test.
Misc. update:
Refactored code
Description:
Added 'unsigned flags[2]' field and changed 'objno' field from 'unsigned
long[2]' to 'haddr_t' (to reflect changes in H5G_stat_t)
Platforms tested:
h5committested
Refactored code
Description:
Use H5E_BEGIN_TRY/H5E_END_TRY macros around blocks where errors shouldn't
be printed, instead of managing 'automatic error' information.
Use new 'flags' field in table objects where appropriate
Chase changes to 'fileno' and 'objno' fields of H5G_stat_t
Platforms tested:
h5committested
Code cleanup & refactoring
Description:
Use H5E_BEGIN_TRY/H5E_END_TRY macros around blocks where errors shouldn't
be printed, instead of managing 'automatic error' information.
Changes to use new 'flags' fields in the table of objects, since the 'objno'
field can't be [ab]used any longer.
Platforms tested:
h5committested
bug fix
Description:
if the user incorrectly put the option -n20 (instead of -n 20) as the last argument
h5diff tried to parse the 20 as an extra argument, causing a failure
if ('-' !=argv[i+1][0] )
Solution:
add an extra test for the case that option is the last argument
if ( i<argc-1 && '-' !=argv[i+1][0] )
Platforms tested:
linux . this is too trivial for all platforms test
Misc. update:
Purpose:
Bug Fix
Description:
LIBTOOLS macro was being used but not defined.
Solution:
Removed the LIBTOOLS macro as it wasn't necessary
Platforms tested:
Modi4 (small fix)
Misc. update:
Bug Fix
Description:
The SUBDIRS macro is now defined as "" in the config/commence.in
file. We shouldn't have definitions of this macro before the
inclusion of config/commence.in.
Solution:
Placed all definitions of SUBDIRS after config/commence.in inclusion.
Platforms tested:
Modi4 (Small fix yet again).
Misc. update:
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:
Purpose: bug fix for Tru64 and test of the latest szip library.
Description: h5diff uses basename function that also is defined
in the system string.h file. That caused compilation to
fail.
Solution: renamed basename to h5diff_basename
Platforms tested: verbena, arabica, arabica-64,
and PSC Compaq machine.
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:
changes of input/ output format
Description:
on web page /RFC/h5diff
Solution:
Platforms tested:
Windows 2000 (octopus)
Linux 2.4 (rockaway)
SunOS 5.7 (arabica)
IRIX 6.5 (modi4)
Misc. update:
changed algorythm
Description:
changed the array_diff function to increment the read buffer with a size selected
by an appropriate native data type.
previously it was assumed, e.g. int size = 4 bytes
Solution:
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica, 64bit mode)
IRIX 6.5 (modi4)
Misc. update:
bug fix
Description:
datasets with different storage datatypes where not read to memory to same size types
Solution:
obtain the memory type and size, for the TWO datasets ,
with the "fixtype" function
"upgrade" the smaller size to the larger if they are different
added H5DIFF_DEBUG flag for print information
Platforms tested:
Linux 2.4 (rockaway)
SunOS 5.7 (arabica, 64bit mode)
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:
New feature/enhancement
Description:
Chunked datasets are handled poorly in several circumstances involving
certain selections and chunks that are too large for the chunk cache and/or
chunks with filters, causing the chunk to be read from disk multiple times.
Solution:
Rearrange raw data I/O infrastructure to handle chunked datasets in a much
more friendly way by creating a selection in memory and on disk for each chunk
in a chunked dataset and performing all of the I/O on that chunk at one time.
There are still some scalability (the current code attempts to
create a selection for all the chunks in the dataset, instead of just the
chunks that are accessed, requiring portions of the istore.c and fillval.c
tests to be commented out) and performance issues, but checking this in will
allow the changes to be tested by a much wider audience while I address the
remaining issues.
Platforms tested:
h5committested, FreeBSD 4.8 (sleipnir) serial & parallel, Linux 2.4 (eirene)
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:
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 some niceties and utilities, and more tests
Description:
some niceties: more error messages on cases of bad input
utilities: some functions to more human readable output
more tests: described in the test matrix
Platforms tested:
Linux/rockaway(C)
SunOS/arabica (C)
SGI/modi4 (C)