Code cleanup
Description:
Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.
Platforms tested:
None necessary, whitespace only change
bug fix
Description:
1) added a more explainative usage message
2) the percent relative error for the integer type (division) was being done using integer arythmetic; use floating point arythmetic instead
3) added a new test for integer percent
Solution:
Platforms tested:
linux (32,64)
AIX
solaris
Misc. update:
Code cleanup
Description:
Check in some of the code cleanups from working on the external link
support. (This doesn't include any of the external link features)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Mac OSX.4 (amazon)
Linux 2.4
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
bug fix/new feature.
Description:
(committing changes made by Leon.)
ph5diff now is a real program by itself. It has its
own main (ph5diff_main.c).
Codes common to h5diff and ph5diff are in h5diff_common.c.
Removed the hack that hide failures from testh5diff.sh.
Platforms tested:
heping(serial, pp), sol (pp), copper(pp).
Misc. update:
Purpose:
Bug fix
Description:
Fixed the error on copper where output would match, except the worker tasks are forcefuly terminated at the end.
Solution:
If an exit code other than 0 was returned, the
parallel environment would assume that there
was an error and would terminate all other
tasks. Because h5repack relies on the return
value of h5diff, it was necessary to return
values other than 0. Fixed by having parallel
runs of h5diff always return 0, whereas the
return value of serial runs is unchanged.
Platforms tested:
copper
Misc. update:
Correction to previous print_manager_output bugfix
Description:
Although the previous bugfix did fix all the errors, it was not the correct way
to fix the problem. Since the manager will only buffer output when run in
parallel mode, in serial mode this function should not even be called.
Solution:
Wrapped print_manager_output in #define's to prevent it from being included in
serial builds.
Platforms tested:
heping (serial + parallel)
Misc. update:
Fixed numerous ph5diff bugs.
Description:
Fixed manager output printing
Fixed out of order output printing
Fixed test script execution problem
Temporary fix for large amounts of output overflowing buffer.
Solution:
The manager task buffers its output. However, since the manager task
never gets a print token, this output was lost. Solution: new function called
print_manager_output that prints buffered output is called in places where the
manager buffers its output.
printf was apparently buffering output. This means that a task would sometimes
print even after it had given up its print token. Added fflush() call after
printf() calls, which seems to have fixed the problem.
calling rsh multiple times in succession seems to overwhelm something in Linux,
as it begins to refuse new connections until the old ones reset. Since each
call to mpirun in the test script starts up 4 rsh sessions, the test script
eventually is unable to run any further tests. Solution: Added a short delay in the
testscript between successive calls to mpirun to allow old connections to reset.
The 10k output buffer was of insufficient size to hold the large amounts of
output generated by some of the tests. Since code to buffer to a file has not
been implemented yet, a temporary fix was to increase the size of the output
buffer to 50k.
Platforms tested:
heping
Misc. update:
Bug fix
Description:
h5diff sometimes will 'exit(status)' but if it is in parallel mode,
it needs to close up the workers and the MPI environment before exit(..).
Solution:
Created h5diff_exit() that will just exit in serial mode but does all
the shutdown properly if in parallel mode.
Platforms tested:
tested in heping, serial and parallel.
Misc. update:
Bug fix
Description:
h5diff_main.c contained some debug printf statment that produced
unexpected output. Commented them out.
testh5diff.sh: implemented code to test ph5diff tests but
ph5diff has some errors that generated unexpected output.
Temporary hacked to skip tests if run by daily test account.
Platforms tested:
Tested in heping, serial and parallel.
Bug Fix
Description:
Permanent fix for the incompatibilities between h5diff and h5repack.
Solution:
h5diff now contains the code to run both parallel and serial diffs.
Depending on how the binary is called, it will run either the serial or
the parallel versions respectively.
Platforms tested:
heping(serial + parallel), copper.
Misc. update:
Bug fix: Temporary fix for h5repack failures in all parallel builds.
Description:
The parallel additions to h5diff interfered with h5repack.
Solution:
Added a second set of "parallel" functions to h5diff.c. h5repack uses the serial versions, whereas h5diff will use the parallel versions.
Also, h5diff will now be smart about when to enter parallel mode. If is run with mpirun with more than 1 task, it will enter parallel mode. Otherwise, it will stay in serial mode as before.
Platforms tested:
heping (serial and parallel)
Misc. update:
New feature.
Description:
Added new tool ph5diff. (Code done by Leon Arber.)
Code is changed but test is not working yet. For now,
it skipped all tests.
Platforms tested:
Tested in heping, serial and parallel modes.
h5diff and h5repack changes
Description:
h5diff
introduced the following four modes of output:
Normal mode: print the number of differences found and where they occured
Report mode: print the above plus the differences
Verbose mode: print the above plus a list of objects and warnings
Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found)
h5repack
added an extra parameter for SZIP filter (coding method)
the new syntax is
-f SZIP=<pixels per block,coding>
(pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
Example of use:
./h5repack -i file1 -o file2 -f SZIP=8,NN -v
updated usage messages, test scripts and files accordingly
Solution:
Platforms tested:
linux
AIX
solaris
Misc. update:
bug fix continuation
Description:
the atof return value on a hexadecimal input is different
on some systems; before checking for the atof return value
do a character check for the first 2 characters of the string input
Solution:
Platforms tested:
linux
solaris
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:
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: