Bug fix: the macro used for percentage in the unsigned types needed a cast to signed (the difference can be negative)
Unlike the 1.6 branch the unsigned long long conversion to float is supported by H5Tconvert , so the test commented for 1.6 is run (tools/testfiles/h5diff_16_2.txt)
Move split between "fixed" and "variable length" portions of superblock
to be immediately after the superblock version number.
Minor cleanups in h5debug's handling of superblock signature.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 6.2 (duty)
Update the file offsets for files created with "latest version" flag of
h5mkgrp to reflect changes to superblock size.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Description: Multiple copies of Copyright appeared in Makefile.in. This was
due to automake copying the copyright right in the included files such as
config/commence.am.
Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in. Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.
Tested: kagiso via bin/reconfigure.
Mask off the storage utilization for the h5ls output, so that the
h5ls output is more portable (VL datatype size is reported as the memory size
instead of the file size, making the storage utilization incorrect - entered
in bugzilla)
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Blank out the modification time, to eliminate another portability issue.
Tested on:
Linux/32 2.6 (chicago)
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.8 (amazon)
Add '-p' flag to h5copy tool, to create intermediate "parent" groups
that don't exist in destination file yet.
Add more tests to h5copy script.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Put paths to testfile input & output directories in one place, making it
easier to modify them if we choose to re-arrange our testfile locations in
the future (this should probably be carried over to other test scripts).
Make h5copy exit more cleanly if no command line parameters are given.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add small 'h5mkgrp' tool to create groups in an HDF5 file from the command
line, allowing the group structure for a file to be created in a script. This
tool closely follows the 'mkdir' command line tool in UNIX/Linux.
Allow tool library applications to pass a FAPL to the h5tool_fopen() call,
giving some additional flexibility to tools which are adding objects to an
existing HDF5 file (like h5copy & h5mkgrp).
Fix missing files in MANIFEST from previous checkin(s).
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add empty & "full" groups to source HDF5 file and test copying them.
Test renaming objects during copy
Test specifying root group path for source & destination objects
Tested on:
Linux/32 2.6 (chicago)
Too minor to require more tests
Refactor h5copy testing script to abstract out some of the common behavior,
obey the "HDF5_NOCLEANUP" environment variable, delete any output file left
over from a previous run, add a "test variation" parameter to output file name
for adding next sequence of test variations, etc.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Add feature to h5copy to allow it to add an object to an existing file,
instead of blowing away existing file.
Modify h5tools_fopen() routine to take access flags, so it can be used
to open an existing file for writing.
Added check to h5copy test script that verifies it has produced a file
with the correct structure.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Fix core dump for iterating over attributes and not passing in a "starting
point".
Update output files missed in previous checkin. This change essentially
reverses a previous change of attribute ordering, leaving the output of h5dump
& h5ls compatible with 1.6.x
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
2 tests that were previously incorporated inside the array indices test file were separated from it. These are a test with a dataset with dimensions greater tan 4GB and a test to read by hyperslabs
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
Add support for inserting attributes into creation order index.
Also, update support for dense link & attribute storage in h5debug.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.8 (amazon)
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test" ./testhdf5
Tested on Cygwin and kagiso. This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
New version of the function h5tools_dump_simple_subset, to display subsetting. The new algorithm is:
Introduced an outer loop for cases where dimensionality is greater
than 2D. In each iteration a 2D block is displayed by rows in a inner
loop. The remainning slower dimensions above the first 2 are incremented
one at a time in the outer loop
Note: when blocks are introduced, the display is not correct. This is a bug that requires an improvement of the algorithm.
modified the format for the printing of reference information for a string, related to the same change in h5dump to display the name of the referenced dataset
Fixed#720 h5dump: improve how region references are displayed. h5dump now uses the new API function H5Rget_name to display the name of the dataset referenced instead of its ID. Added a case to the script test file
fix for bugzilla bug #551
several programming errors contributed to this bug
1) the parsing of subsetting was using atoi to convert the parameter to an int,
which caused problems for numbers greater that int. Substitute with atof
2) several index counters were declared as int, use hsize_t instead
3) the numerical format passed for printf was %lu, defined one compatible with
hsize_t instead (unsigned long long)
Fix several bugs
1) the parsing of subsetting was using atoi to convert the parameter to an int, which caused problems for numbers greater that int. Substitute with atof
2) the printing of indices in the subsetting case was not being done. Solution: calculate the element position at the start of the subsetting using the algorythm
Given an index I(z,y,x) its position from the beginning of an array of sizes A(size_z, size_y,size_x) is given by
Position of I(z,y,x) = index_z * size_y * size_x
+ index_y * size_x
+ index_x
And pass that position to the function that dumps data, h5tools_dump_simple_data.
3) several index counters were declared as int, use hsize_t instead
4) modified the test generation program so that it includes test cases for subsetting of 1d, 2d, 3d, and 4d arrays and add these tests to the shell script
Take out separate memory type in the file for SOHM objects and create
aliases for existing memory types for SOHM use.
Tested on:
FreeBSD/32 4.11 (sleipnir)
warnings clean
../../../hdf5/tools/h5repack/h5repack_copy.c:615: warning: passing arg 3 of `print_dataset_info' as `float' rather than `double' due to prototype
introduced double precision arithmetic
fixed warning
../../../hdf5/tools/h5diff/h5diff_common.c: In function `usage':
../../../hdf5/tools/h5diff/h5diff_common.c:346: warning: function might be possible candidate for attribute `noreturn'
fixed 2 initializations of char* with HDstrdup and HDcalloc
info->prefix = HDcalloc(1, 1);
fname = HDstrdup(argv[opt_ind]);
some were exposed by compiler warnings
more compiler warning
../../../hdf5/tools/h5diff/h5diffgentest.c:111: warning: passing arg 1 of `test_hyperslab' discards qualifiers from pointer target type
Cleaned warnings
h5diff_array.c:804: warning: passing arg 1 of `fabs' as floating rather
than integer due to prototype
introduced double precision arithmetic when possible instead of single
precision
Added a relative error formula to deal with floating point uncertainty
in the comparison of floats and double types.
Added new tests for this feature to the file generator program and to
the shell script
make h5repacktst clean a big file which name was changed to "h5repack_big_out.h5", do not use H5Ocopy only when the original DCPL has filters or a request is made for such, more code cleaning
Basic support for H5Literate() routine. Still needs to be fleshed out and
refactored to simplify. Also, needs tests. :-)
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Mac OS X/32 10.4.8 (amazon)
The version of libtool used by HDF5 isn't directly affected by the reconfigure
script; instead, libtoolize --force must be used by hand. Libtool was the
source of the problem, so rolling its version back to 1.5.14 should solve the
issue (at least temporarily).
Reconfigure should still work on both heping and kagiso.
Tested on heping, kagiso, and tg-login3.
h5repack revision:
1. added a new test due to the introduction of H5Ocopy in the copy of objects (compressed dataset with references, that still must go a second sweep of the file to be regenerated).
2. Moved all the source files from the h5repack test program to a new file h5repacktst.c and removed the old ones (testh5repack*.c).
3. Renamed the binary files from test*.h5 to h5repack*.h5 for easy reference.
4. Modified the shell script to use variables for file names instead of hard coded names
This feature is still in progress; Shared Object Header Messages are not
complete as a feature and are not thoroughly tested. There are still
"TODO" comments in the code (comments with the word "JAMES" in them,
so as not to be confused with other TODO comments).
Hopefully this checkin will reduce the liklihood of conflicts as I finish
implementing this feature.
All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
Add new H5Lget_val_by_idx() routine & tests.
Also includes most of changes for H5Ldelete_by_idx() routine.
Tested on:
Mac OS X/32 10.4.8 (amazon)
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
AIX/32 5.? (copper)
Introduced the second sweep of the file for a case a reference is present and H5Ocopy was not used.
Moved the code from file h5repack_refs.c to h5repack_copy.c and removed the first file
Should disable linking against shared libraries in Fortran for compilers that
don't support shared libraries.
Should also fix problem when the wrong Fortran file extension was specified.
If these changes don't solve the Daily Test issues, I'll look at backing out
the autotool version change until I have time to fix them.
Tested on heping, kagiso, juniper.
h5repack support for H5Ocopy in the copy of objects. The old method
for recreating references was dropped (references recreated in a second
traversal of the file)
The logic for using H5Ocopy or not is
if the input DCPL has filters or non default layout OR these are
requested by the user THEN
use the old h5repack read / write
ELSE
use H5Ocopy
h5dump bug 701. Symptom: The creation of a hardlink pointing to the root group "/" causes h5dump to display it as a link pointing to itself.
Cure: the root group was not being inserted in the table that keeps track of object names and links.
Added a test for this in the test generation program, the creation of a hardlink to the root
Added a framework to display information about a particular object.
This option (-O object_name) is not available to the users yet.
Currently only name of an object (or objects) is displayed.
Platforms tested:
sol, kagiso and copper.
the linkval buffer, per Elena and Frank's suggestions while revising
the documentation. Added error checking using this size, as well as a
couple of tests.
Tested on juniper, kagiso, and sol.
h5diff: print a message of "not comparable" in a case where the relative error
compare is not possible, due to the denominator being zero. Modified
the test file generator program to include a example for this and a new
test on the shell script
1) added a new parameter to the h5diff function diff_array that contains
the beginning position of the hyperslab, so that the total position in
the array is printed correctly when reading by hyperslabs.
2) added a new test to h5diff that reads and diffs by hyperslabs. The
test reads a 1GB dataset, from which a 1KB hyperslab was written with
differences .
3) added the generation of 2 files to the generator program to test the
h5diff hyperslab read.
4) changed the h5diff binary pre-generated file names to be more
descriptive (e.g, instead of file1.h5, made it h5diff_basic1.h5)
5) changed the name of the h5repack options text file to info.h5repack
1. bug fix. the h5_cleanup file names were not build properly on the h5repacktest call
2. added only a call to test_bigout.h5 to be clean, because the other files are generated anyway by the shell script. test_bigout.h5 is only made on the C program part (h5repacktst)
Fixes for bugs 676, 228
676: both h5repack and h5diff use H5Dread. In the case of a "big"
dataset, use read/write by hyperslabs the same way h5dump uses. An
arbitrary value of 1GB was defined for "big", i.e, if the dataset is
greater than 1GB, then read/write by hyperslabs
228: use the file type in read/write by default. A new switch -n was
introduced if the user wants to use a native type, which was the
previous use by default.
Added a new test for h5repack that repacks a 1GB dataset
Tested: heping (serial, parallel), sol, copper
Overhaul usage of object header chunks to reduce I/O operations and
memory allocations. The object header prefix is now stored in the first
object header chunk's "image" in memory.
Also, lots of formatting cleanups.
Taught h5debug tool about new object header format (which isn't enabled
just yet).
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
option --enable-direct-vfd/--disable-direct-vfd to enable/disable Direct I/O support. The default
is enabled. There's a small test in test/vfd.c. Another way to test it is to set environment
variable HDF5_DRIVER to "direct" and run "make check" in the test/ directory. There'll be some
further improvement in the following checkin including allowing user to provide memory boundary
value, file block size, and copying buffer size.
Add "use the latest format" support for dataspace object header encode/
decode routines and clean up format a bit for the latest format (new to 1.8.x
releases)
Remove storing 'perm' parameter for array datatypes in memory and the file,
and add test to make certain that if any user applications are attempting to
store them, we get some reports back. (Should be unlikely, since the RefMan
says that the parameter is not implemented and is unsupported).
Carry those changes into the tests, etc.
Clean up a bunch more compiler warnings.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-1.6-compat
and quote its arguments. Also checks for the 'socket' library on
Solaris.
If this patch passes the Daily Tests and makes the user happy, I'll
port it back to the 1.6 branch.
Tested on mir and sol.
Further minor modifications to the file format for tracking links in groups.
This is tentatively the "final" file format for groups.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
File format is not stable, don't keep files produced!
Description:
First stage of checkins modifying the format of groups to support creation
order. Implement "dense" storage for links in groups.
Try to clarify some of the symbols for the H5L API.
Add the H5Pset_latest_format() flag for FAPLs, to choose to use the newest
file format options (including "dense" link storage in groups)
Add the H5Pset_track_creation_order() flag for GCPLs, to enable creation
order tracking in groups (although no index on creation order yet).
Remove --enable-group-revision configure flag, as file format issues are
now handled in a backwardly/forwardly compatible way.
Clean up lots of compiler warnings and other minor formatting issues.
Tested on:
FreeBSD/32 4.11 (sleipnir) w/threadsafe
Linux/32 2.4 (heping) w/FORTRAN & C++
Linux/64 2.4 (mir) w/enable-v1.6 compa
Mac OSX/32 10.4.8 (amazon)
AIX 5.3 (copper) w/parallel & FORTRAN
revised binary flags, added a new file to the test generator program to
be used in the binary tests
usage is now
-o F, --output=F Output raw data into file F
-b F, --binary=F Binary output, of form F (into file -o F).
Recommended usage is with --dataset=P
Form F of binary output is: MEMORY for memory type,
FILE for the disk file type, LE or BE for pre-existing
little or big endian types
example
./h5dump -d integer -b MEMORY -o out.bin tbinary.h5
Review, revise & checkin in Peter's latest round of object copy changes,
which add basic support for datasets & attributes with reference datatypes.
Tested on:
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Improve density of the B-tree further. For greater depths of B-trees,
the gains are over 100%...
Also, don't split internal nodes with 3->4 splits, use a 1->2 split
instead, so that the density of the nodes around a split is maximized.
Tested:
Mac OS X/PPC 10.4 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Code cleanup.
Description:
Removed argc and argv from the function arguments of h5tools_get_fapl() and
h5tools_fopen(). They were used to call MPI_Init() which was no longer
needed.
Tested:
heping (serial and parallel).
Refactor the file storage of "twig" nodes in the B-tree to allow them to
store more records, increasing the average density of the B-tree 30-40%.
Increase # of records in "insert lots" regression test to still create
B-tree of depth 4
Update h5debug to interpret difference of 'branch' and 'twig' internal
nodes in B-tree correctly.
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/32 2.4 (heping)
Linux/64 2.4 (mir)
Solaris/64 2.9 (shanti)
Since these examples need to follow filesystem paths, the Makefiles need
to create directories in the examples directory; added this to the
Makefile.am.
Tested on Windows, mir, juniper
Several changes, all mooshed together:
- Add support for "tiny" objects - which can be stored in the heap
ID itself, instead of in the heap data blocks.
- Flesh out support for compressed direct blocks, but comment it
out until John's got some metadata cache changes in place to
support it.
- Add support for applying I/O pipeline filters to 'huge' objects
- Refactor 'huge' object code to store information for 'huge' objects
directly in the heap ID, when there are I/O pipeline filters
applied to the heap (and the heap ID is large enough to hold the
information)
- Update h5debug tool to correctly handle 'huge' & 'tiny' objects.
- Misc. other code cleanups, etc.
Tested on:
FreeBSD/32 4.11 (sleipnir)
Linux/64 2.4 (mir)
Solaris/64 2.9 (shanti)
Clean up compiler warnings/failures in test/links.c, especially when
--disable-production flag used with --enable-group-revision
Modify binary dumping in h5dump to clean up files created [a band-aid
solution to not actually creating the files in the srcdir, but better than
just leaving the files around... :-/ ]
Tested:
FreeBSD 4.11 (sleipnir) (w/ configure flags above)
Too minor to require h5committest
Bug fixes.
Description:
There were MPI_init and MPI_finalize calls in the code of h5tools_fopen in
parallel mode. But if a non-MPI tool is invoke to open a non-existing
file, it tries to open the non-existing file with different VFD and
eventaully came to try with the MPIO or the MPIPOSIX vfd, then it would
try to do MPI_Init which would fail in the MPI environment if the a.out
was not launched by MPI properly.
Solution:
MPI_Init and MPI_Finalize in general should be called by the MPI application,
not called by a library subroutine as in the manner that was done here.
Removed the MPI_init and MPI_Finalize calls. Used MPI_Initialized to
verify if this has been launched as an MPI application in the proper
manner before attempting to use the MPIO or the MPIPOSIX VFD to open
the file.
Tested:
In tg-ncsa parallel, where it had failed explicitly and also in Heping,
using both serial and parallel mode.
Users can create external links using H5L_create_external(). These links
point to an object in another HDF5 file. Users can alter the behavior of
external links or create new kinds of links by registering callbacks
using the H5L interface.
Added tests, tools support, etc.
Also a number of other, minor changes have been made (some restructuring of
the H5L interface, for instance).
Additional documentation and examples are forthcoming.
Refactored free space manager to use metadata cache for serialized free
space sections. This speeds up the fractal heap test considerably...
Tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4/32 (chicago)
Linux 2.4/64 (mir)
Mac OS X (amazon)
the $srcdir properly. It is not right to chdir into testfiles and write
files there because in real srcdir mode, one should not changes things
in the srcdir area which could be shared by multiple builds simultanteously.
Solution: added the proper $srcdir components to the source file name.
Also clean up the indentation by cb.
Tested: only by hand in heping.
"make check-vfd" will now run all tests in the test directory with different
file drivers (at least, all of those tests that use the testing framework's
FAPL). Tests that fail will be skipped.
This is not a perfect fix, but is better than nothing.
Along with this change, check-vfd should be added to the Daily Tests.
1. changed the -F flag option names to "BE and "LE" for big and little endian
2. added a more verbose usage message for these options
3. add a new test
4. add a make clean instruction to *.bin
bug fix
calling h5tools_get_fapl running the mpio driver caused H5FD_pl_copy to
fail silently in some conditions. a MPI call was made before MPI_Init.
solution: corrected the MPI call to be made after MPI_Init and added error return
conditions to H5FD_pl_copy and h5tools_get_fapl
tested on copper parallel, mir, shanti
it uses the API function H5Gcopy to copy groups and datasets from file
to file, read from a command line
note: the test script is not finished yet
tested on heping, copper, shanti
Feature
Description:
Revised Link APIs.
Solution:
New link APIs use H5L*
H5*create_expand do not create links to the objects created; this must
be done manually with H5Llink.
Added APIs to link an object given its ID (H5Llink), to copy links (H5Lcopy),
and changed creation APIs (H5Lcreate_hard and H5Lcreate_soft) and query
API (H5Lget_linkinfo instead of H5Gget_objinfo).
All old APIs are still supported in H5Gdeprec.c .
Platforms tested:
sol, mir, copper
Misc. update:
Forgot to update MANIFEST and release docs. Will do after checkin.
new feature
Description:
added support for h5dump to dump binary data using the file type format
added one test to the test script that tests this
Solution:
Platforms tested:
mir
shanti
copper
Misc. update:
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
new feature. h5dump output of binary data
Description:
a new switch -b FILE_NAME that dumps the contents of memory data to file FILE_NAME in binary form
new program binread.c that reads the contents of this file and outputs it to stdout
added a test for the h5dump shell script that does a run of -b
the binread.c program reads the data used in this run, usage is ./binread FILE_NAME
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
Configuration feature
Description:
'make install' now tests both static and shared libraries if both are installed.
Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.
Platforms tested:
mir (Makefile change only)
Description: Added new tests for the h5stat tool; added --version flag
to display library version information and updated expected
output files.
Solution:
Platforms tested: heping, shanti
Misc. update:
Description: Added new tests for the h5stat tool; added --version flag
to the h5stat tool to display library version information
Solution:
Platforms tested: heping, shanti
Misc. update:
Description: Added test script and two test files in the tools/misc/testfiles
directory for testing h5stat tool; modified Makefile.am in tools/misc
and configure.in files to run the new test script; reran bin/recofigure
to update relevant configuration files; updated MANIFEST
Solution:
Platforms tested: heping with in place and srcdir builds; will do more testing
after the checkin.
Misc. update:
Bug fix - bugzilla #552
Description:
On Cray X1, trying to use : as an argument confused the system.
Solution:
Added a test in configure to see if : as an argument is bad.
If so, skipped the test.
Platforms tested:
mir, Cray X1 (change to configure only)
Description: I am checking in changes for the h5stat tool:
- updated Makefile.am to use tools library
- regenerated Makefile.in
- added command flags to display selected information
- added support for external files and filters
- small output formatting changes
For more information about current features and output see
updated h5stat RFC http://hdf.ncsa.uiuc.edu/RFC/h5stat/h5stat-spec.pdf
Solution:
Platforms tested: mir, heping, shanti, copper 64-bit, copper 32-bit parallel
using files from tools/testfiles directory and some NASA files
from our Web site.
Misc. update:
Bug fix.
Description:
The ${TR}, though avoid the error, is inconvenient. It is needed
because configure.in use the char range in the style of 'a-z'.
The other style of '[a-z]' is more commonly accepted by all tr
but autoconf tends to strip away [], making the syntax rather
clumsy.
Solution:
Learned from autoconf that it avoids the use of character range
by just spell all the letters out. Changed our tr commands to
use those variables defined by autoconf. Also removed the
definition of ${TR} since it will cause inconsistancy when
autoconf also use plain 'tr' in its generated code.
The Makefile.in are changed because the elimination of ${TR} from
configure triggered its removal from all Makefil.in. That is okay
because ${TR} is not used at all in Makefile.
Platforms tested:
h5committested. (sol failed to connected). also tested in shanti
using both /usr/ucb/tr and /bin/tr (the bad one before.)
Misc. update:
Updated both INSTALL and RELEASE files.
Code checkpoint
Description:
Checkpoint fractal heap improvements, as well as move the free space
manager code that it's using into a separate package.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4/64 (mir) w/C++ & FORTRAN
Linux 2.4/32 (heping)
Solaris 2.9 (shanti)
AIX 5.? (copper) w/FORTRAN & parallel
new feature
Description:
modified the test case for region points, so that there is not an ordered sequence of points that differ, but one with gaps
Solution:
Platforms tested:
linux
Misc. update:
new feature
Description:
added support for the printout of dataset region references differences
added a new test for this
merged the h5diff generator of test files into a single file
Solution:
Platforms tested:
linux 32, 64
solaris
Misc. update:
Several bug fixes
Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am
Solution:
All four fixes should be straightforward. The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.
Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
Anti-feature
Description:
Revert changes to H5G_stat_t struct, to make it compatible with the 1.6.x
branch again. The information that was added to the H5G_stat_t struct will
be reported through other API routines.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/C++
Linux 2.4/64 (mir) w/C++ & Fortran
Solaris 2.9 (shanti)
new feature
Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h
Solution:
Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++
(one packet table example fails)
Misc. update:
"Hide" file format changes (for now)
Description:
Add ifdef's (controlled by the --enable-group-revision configure flag)
to disable group revision changes to the file format, in order to allow alpha
release to go ahead without releasing an unsupported version into the wild.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 32-bit (heping)
Linux 2.4 64-bit (mir)
Solaris 2.9 (shanti)
new feature
Description
some more check in related to the print of compression ratios: print warning messages after the print of the dataset name and compression:
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
new feature
Description:
some more formatting of the output for the new compression ratio printout
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
new feature
Description:
added some alignment for the printout of attributes, so that is formatted with the new printout of datasets compression
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
new feature
Description:
added the printout of the compression ratio for filters in h5repack, after the filter name, obtained with H5Dget_storage_size, before and after applying the filter
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update:
bug fix
Description:
the percent error calculation in h5diff using double precision floating point were causing different results
on the release and debug versions of Visual Studio version 6, due to a compiler bug
Solution:
used single precision (float)
Platforms tested:
windows
linux
solaris
AIX
Misc. update:
bug fixes
Description:
h5dump/h5ls were not displaying long doubles correctly
Solution:
1) the print datatype functions were incorrectly testing for the valid return value from H5Tequal,
(TRUE), causing the display of an incorrect name of a dataype in error cases from H5Tequal
2) h5tools_print_str did not have a case for native long double
3) added a file generator for a long double dataset
4) added one script test for the long double data (commented , some sytems don't have a native long double match, and the output differs)
5) added a vms file and h5dump script test
Platforms tested:
linux 32, 64
solaris
AIX
Misc. update:
bug fix
Description:
h5repack was not dealing with family files
Solution:
use the toolslib function h5tools_open to open the file instead of H5Fopen in h5repack
Platforms tested:
linux
solaris
AIX
Misc. update:
bug fix
Description:
regenerate a binary file. the previous one was not being open on the scale offeset filter dataset, probably due to a solved bug with the corresponding binary file not being updated
Solution:
Platforms tested:
linux
Misc. update:
Bug fix
Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.
Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.
Platforms tested:
heping (minor makefile change)
Misc. update:
bug fix
Description:
percent relative error was done using integer arythmetic; use floating point instead
added the case for unsigned long long integer to float conversion
Solution:
Platforms tested:
linux (32,64)
AIX
solaris
Misc. update:
Bug fix
Description:
make check-clean didn't clean results of example tests
Solution:
Fixed Makefiles so that check-clean recurses into example directories.
Also a little Makefile cleanup.
Platforms tested:
mir, modi4, heping, copper
portable issue on windows
Description:
setvbuf on visual studio 2005 needs the size to be greater or equal to 2.
<description of setvbuf from msdn library>
Buffer size in bytes. Allowable range: 2 <= size <=
INT_MAX (2147483647). Internally, the value supplied
for size is rounded down to the nearest multiple of 2.
h5import used linebuffer option of setvbuf for stderr and stdout and the size is
0 by default. This causes core dump with visual 2005 on windows 64-bit.
Solution:
1. Use HDsetvbuf inside h5import.c,
2. Define HDsetvbuf inside windows H5pubconf.h for windows to work around
the core dump of h5import test. This is probably a bug inside visual studio 2005.
Platforms tested:
h5committest( shanti refuses to be connected)
windows 6.0 at XP
visual 2005 at XP-64bit
Misc. update:
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:
Clean up some compiler warnings (esp. those flagged on Windows builds)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
bug fix
Description:
the compare check for the datatype sign was not done in the correct place, causing invalid
comparisons to be made
Solution:
put it on the correct place
Platforms tested:
linux 32, 64
AIX
Misc. update:
bug fix
Description:
1) the compare flag test was not being put in a correct place, making comparisons attempts that were not supposed to be done
2) some duplicate warnings were being made
Solution:
eliminate the duplicate warnings, put the if compare flag on the correct place
Platforms tested:
linux 32, 64
solaris
Misc. update:
bug fixes
Description:
1) the option logic for the print of long types was done incorrectly (extra lines of code that were not supposed to be there)
2) the print of loong long types was incorrect
Solution:
1) removed the incorrect code
2) made a long long cast on the printf call
Platforms tested:
linux (32 and 64)
solaris
Misc. update:
bug fix
Description:
long long type was being incorrectly printed
Solution:
added a long_long cast to print function
Platforms tested:
linux
Misc. update:
bug fix, new features
Description:
when comparing links , the output for the number of differences found was not being done
Solution:
print it
add 3 more tests that test the output of differences for 1) groups 2) datatypes 3) links
Platforms tested:
linux
Misc. update:
Solution: Support VAX float and double types with new byte order. There're some
details not yet included,
1. the alignment detection for VAX order in H5detect.c.
2. support for special values in library conversion functions.
3. the infinity for VAX in H5T_init_inf.
4. support for VAX types in printing hexadecimal format.
Platforms tested: h5committest and fuss.
Code checkpoint
Description:
The fractal heap code is reasonably stable and is passing all its
current tests, so checkpoint everything with CVS.
Also, add "statistics" module for v2 B-trees code, which is only a
stub right now.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Mac OSX (amazon)
Linux 2.4 (chicago)
Description: Return value from H5Pget_layout is 0 for the compact datasets;
It was assumed in the code that it was always greater than 0; therefore
assertion failed when h5stat walked a compact dataset.
Solution: Fixed assertion statement
Platforms tested: h5stat doesn't have testscript yet; tested manually
with tfilters.h5 file on heping.
Fix is too minor to test it on multiple platforms.
Misc. update:
New feature & code cleanup
Description:
Update fractal heap to be able to insert objects into a direct block
hanging off the header.
Extract "octal dump" code into separate routine so that both the local
heaps & fractal heaps can use it.
Other code cleanups & support to get this far.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Moved gif2h5 tool to hl directory
Description:
Added a tools directory under the hl directory and moved the gif2h5 tool
to that directory.
Solution:
The gif2h5 tool was originally built in the tools directory, but this
introduced dependency issues that required special checks in the
Makefiles.am and required the top-level build order to be changed
because it depended on the HL library.
For simplicity in the Makefiles now and in the future, the gif2h5 tool
was moved to be underneath the hl library.
Platforms tested:
mir, copper, modi4, shanti
New feature
Description:
Check in initial "fractal heap" code, for supporting the group redesign.
Also, remove some remnants of the segmented heap/block tracker/B+tree code
which I didn't find during the last pass.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Mac OSX (amazon)
Linux 2.4
Maintenance
Description:
Remove half-built (half-baked? :-) implementation of B+tree, block tracker
and segmented heaps. (In preparation for starting the new heap coding)
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4 (heping)
Change to release script
Description:
Silenced doxygen's output when bin/release doc is run. Now if doxygen
has an error the release script will exit.
Someone forgot to run reconfigure after a Makefile.am, so testing the
release script seems to have had the side effect of regenerating a
Makefile.in.
Platforms tested:
mir
bug fix
Description:
the --disable-hl switch was causing linking errors on gif2h5 that uses image api (bugzilla #1)
Solution:
used the condional macro for hl to build gif2h5
Platforms tested:
linux
Misc. update:
bug fix
Description:
the linking order in Makefile.am of the gif2h5 tool was causing linking errors on some configurations (pgcc, --disable-shared)
Solution:
changed the order of the linking (hl before hdf5)
Platforms tested:
linux, several configurations
solaris
Misc. update:
bug fix , bugzilla bug #1
Description:
the gif2h5 was not writing HDF5 images correctly
Solution:
use the Image API to write the image, rewrote the writing functionY
Platforms tested:
linux
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
bug fix
a call to sprintf was giving incorrect output in the system Fedora Core 4 with gcc 4.0
(not supported by us, but user reported)
Solution:
the call was using the same buffer for source and destination variables, used different ones
Platforms tested:
linux (mir)
solaris (sol)
Misc. update:
Purpose:
Bug fix
Description:
Libraries were listed in the wrong order in tools/gifconv Makefile.am, confusing
the linker.
Solution:
Put HDF5 library after tools library in Makefile.am and ran reconfigure.
Platforms tested:
mir, sleipnir
h52gif bug fix (494)
Description:
the reading routines were using file datatype sizes for memory allocation
Changed the HDF5 read routines to use memory types and sizes,
for both the image and pallete datasets
Solution:
Platforms tested:
linux
solaris
Misc. update:
Makefile fix
Description:
The h5diff parallel test script depends on the serial test script.
Added this dependency.
Solution:
Used SCRIPT_DEPEND variable. Also added ph5diff (when it is compiled).
Platforms tested:
mir
Improvement
Description:
Some parallel system would dump some system messages in the stdout
stream of an MPI application. That caused the output matching script
to fail unnecessarily.
Solution:
Added the STDOUT_FILTER feature to filter out those system messages
out of stdout result.
Platforms tested:
Tested in LANL Lambda.
Bug fix
Description:
Remove several macros that are already defined in H5private.h and are
causing failures on copper.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix
Description:
Include more header files with prototypes to make CC=g++ builds work.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/CC=g++
Too minor to require h5committest
Code cleanup
Description:
Fix a bunch of warnings flagged by Windows compilers.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Bug fix
Description:
Fortran type generation was broken in two ways. Fixed both.
Solution:
Firstly, there were a couple of path problems. Fixed a typo and
specified the full path of a file.
Secondly, the dependencies weren't right when building with HDF5-specific
commands (make lib, make check-s, etc.). Tweaked dependencies
to fix the problem.
Platforms tested:
mir, modi4, sleipnir
Configure feature
Description:
Added 'make trace' target.
Solution:
Added tracing to 1.7. This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).
Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created. These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules. This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').
Platforms tested:
mir, sleipnir, modi4
Cleanup.
Description:
Removed reference to H5_HAVE_VSNPRINTF and the corresponding abort
since we do not use the home-grown potentially memory wacking version
any more.
Platforms tested:
heping.
Misc. update:
Bug fix
Description:
Correct use of H5Gget_objinfo() which recent compact group checkins
exposed: we were attempting to follow dangling soft links.
Solution:
Don't follow links for H5Gget_objinfo() when initializing object tables
for h5dump.
Platforms tested:
Solaris 2.8 w/64-bit enabled
Linux 2.4
FreeBSD 4.11 (sleipnir)
New feature
Description:
Check in baseline for compact group revisions, which radically revises the
source code for managing groups and object headers.
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
This initiates the "unstable" phase of the 1.7.x branch, leading up
to the 1.8.0 release. Please test this code, but do _NOT_ keep files created
with it - the format will change again before the release and you will not
be able to read your old files!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!!
Solution:
There's too many changes to really describe them all, but some of them
include:
- Stop abusing the H5G_entry_t structure and split it into two separate
structures for non-symbol table node use within the library: H5O_loc_t
for object locations in a file and H5G_name_t to store the path to
an opened object. H5G_entry_t is now only used for storing symbol
table entries on disk.
- Retire H5G_namei() in favor of a more general mechanism for traversing
group paths and issuing callbacks on objects located. This gets us out
of the business of hacking H5G_namei() for new features, generally.
- Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t
- Lots more...
Platforms tested:
h5committested and maybe another dozen configurations.... :-)
Copyright fix
Description:
Added a blank line so that Automake would put the copyright at the top of
the file.
Platforms tested:
Trivial change
Misc. update:
Bug fix/feature
Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.
Solution:
h5fc and h5c++ didn't recognize -shlib. Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries. Thus,
--disable-static and make check-install should work together.
Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
Update copyrights.
Description:
Solution:
This should address almost all of the "simple" cases in the repository.
There's still work to do, but it's going to require actually thinking about
the files in question instead of just copying & pasting.
Bug fix
Description:
Failed parallel tests now cause make to exit with an error.
Solution:
Edited config/conclude.am to throw an error if parallel test programs fail.
Platforms tested:
heping, modi4
new h5diff test
Description:
added a test to the test h5diff script that compares a file to itself.
this test is done to test some features of the library that
open the same file and the root group twice
Solution:
Platforms tested:
linux
solaris
Misc. update:
Added additional targets to build-all
Description:
Surveyed files to find out which ones are not built.
Added test/space_overflow and perform/benchpar to programs built with
--enable-build-all.
Discovered that tools/misc/pdb2hdf5 and tools/misc/h5import were
obsolete and deleted them.
Platforms tested:
mir, modi4, sol
Misc. update:
Update of release file and removal of --enable-pdb2hdf5 to follow.
bug fix
Description:
an assertion after the search for objects was saying that the number of
objects in file should be > 0
removed it, since there can be a case where the number of objects is 0.
in this case this was found by a case where zlib was not present and the output file
was not written any objects to
note: this was only detected on the windows batch files, that do not have a conditional
condition to not run tests when a filter is not present
Solution:
Platforms tested:
linux
Misc. update:
Description: VMS doesn't like file names with more than one "."
Some h5repacktst output file names were of the form
<name>.out.h5 causing h5repacktst to choke.
Solution: Renamed output files to be of the form <name>out.h5
Platforms tested: heping, unnamed VMS machine
Misc. update:
Bug fix
Description:
Changed configure.in to use an environment variable TR to set the path
to the tr utility.
Solution:
There are two kind of tr on Solaris with slightly different syntax.
HDF5's configure relies on the "standard" tr. Traditionally, HDF5ers
have needed to make sure that the "right" tr was found before the
wrong one in their path; now they can use an environment variable.
Platforms tested:
mir, shanti, sol
Misc. update:
Forgot to update release notes. Off to do that now.
Makefile bug fix
Description:
Previously, automake didn't output rules to build perform/mpi-perf or
the test/gen_* programs.
Now these can be built by typing 'make mpi-perf' (or 'make foo') or by
configuring with --enable-build-all.
Solution:
Automake doesn't like having rules for programs it doesn't build. Tricked
it by having these programs built "sometimes"--whenever the user enables
--build-all. This should be used mostly for testing and to ensure that
these helper programs compile.
***IMPORTANT***
These programs do *not* currently compile. When --enable-build-all is used
(not the default), gen_new_fill fails because it uses an old API. This is
an existing "bug" that has simply been exposed by this checkin.
Platforms tested:
sleipnir, modi4, sol
Misc. update:
SETUP Was using "cp" command which means file $2 will inherit the permission
setting of file $1. If $1 is read-only, so will $2. That will cause
failure when the test attempts to write it later on. Changed to use
the "cat" command.
Tested in LANL QSC and Flash.
bug fix.
Description:
When a parallel test script test fails, make would continue because the
way it was setup inside a for loop. Fixed it by issuing an exit 1 inside
the loop.
There was also a typo error in the newer command comparision that it
must be $${chkname} in order to be valid. Also, the test script itself
was not checked in the newer lists. All fixed.
Platforms tested:
h5committested and also hand tested in heping pp mode.
h5diff new feature
Description:
a user asked for the message
"Some objects are not comparable"
to be more noticeable
Solution:
--------------------------------
Some objects are not comparable
--------------------------------
Platforms tested:
linux
Misc. update:
new features
Description:
added support for the scale/offset filter
there is a new filter symbol 'SOFF'
-f SOFF=<scale_factor,scale_type>
scale_factor = integer
scale_type = 'IN' or 'DS'
Solution:
Platforms tested:
Linux
SunOS
Misc. update:
New feature.
Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts. This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.
powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.
Platforms tested:
h5committested.
Feature
Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Disabled C++ shared libraries for Sun Workshop compiler.
Solution:
This bug only seems to happen when using the -xarch=v9 flag to compile in
64-bit mode, but disabling shared libraries entirely for this compiler is
an easier fix (I don't know how to detect 64 bit mode from the command line).
The framework for disabling shared libraries for other C++ compilers is
in place.
Platforms tested:
sol, mir, sleipnir, modi4
Bug fix/feature
Description:
Disabled shared libraries for a number of Fortran compilers that don't
support them.
This allows other compilers to support shared Fortran libraries.
Solution:
Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if
Fortran supports shared libraries. It is set in configure.in.
Platforms tested:
mir, sleipnir, colonelk, heping
Bug fix
Description:
Building with --disable-static seems to have been broken on several platforms.
Fixed this.
Configure will now disable shared libraries automatically when using pgf90
or when building on Cygwin.
Solution:
To avoid errors when using shared libraries with pgf90 (which I had not
realized were compiler-specific), I had manually set convenience libraries
to use the -static linking flag. Apparently, this is not necessary, and
caused these libraries to be created as empty archives when --disable-static
was used.
Also, some libraries were including other libraries, which was not
necessary.
I also fixed code in configure.in to correctly detect whether shared
or static libraries are enabled, and moved code that disables shared libraries
to before libtool is created (rather than editing libtool after the fact).
Despite repeated warnings that only one shared library can be linked at a
time, I have yet to have shared libraries break the linking of tests on
any system. We'll see if the Daily Tests turn up anything.
Platforms tested:
mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel),
sol (fortran, C++), cygwin
Description: Brought back changes from SX-6.
Solution: Program will not compile. Fixed.
Platforms tested: SX-6, heping and mir with new g95
Misc. update:
bug fix
Description:
during the generation of some test files, H5Fclose was not called
during the #ifdef detection of the scale ofsset filter, a wrong macro symbol was used
Solution:
Platforms tested:
linux
Misc. update:
Code cleanup
Description:
Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_...
to indicate that they are in the H5Z package.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Updating the filter based on H5Pset_scaleoffset API change.
Description:
Still more changes are needed for the filter for floating-point.
Solution:
Platforms tested:
Misc. update:
tidy up.
Description:
MPE option created *.clog file whenever it is executed in MPI.
The cleanup of *.clog files were done in individual Makefile.in.
Often, it is forgotten.
Solution:
Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am
so that it is applied whenever check-clean is called.
Platforms tested:
heping pp using MPE.
Bug fixes
Description:
This checkin fixes an occasional error on kelgia on sol during distclean.
It also causes test scripts to depend properly on the programs they're
supposed to be testing.
Solution:
The kelgia bug was due to some files being cleaned by automake and manually.
Removed the manual cleaning in src/Makefile.am.
Test script dependencies now need to be specified manually, since the
makefile can't guess what they test from their name. Currently all test
scripts in a given directory have a single list of dependencies--this was
easy and seems to be sufficient.
These dependencies are listed in the SCRIPT_DEPEND variable in the Makefile.am.
Platforms tested:
heping, mir, modi4, sol
Misc. update:
Code cleanup (sorta)
Description:
Adjust H5G_stat_t to prepare for eventual "external link" information.
This also puts the information for regular objects and soft links into more
obviously separate places.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
minor tidy up.
Description:
Changed both test programs and test scripts to use the same suffixes
(.chkexe and .chklog). Changed from .log to .chklog to avoid running
into potential conflicts by other "things" (e.g., config.log).
Tested:
Heping.
Code cleanup & speedup
Description:
Refactor h5dump & related code to be considerably cleaner & faster for
files with large #'s of objects.
Platforms tested:
FreeBS 4.11 (sleipnir)
Linux 2.4
bug fix
Description:
The set of h5diffdebugN macros that printed nothing did not have
the proper number of parameters. Some compilers (gcc) did not
like it.
Solution:
Fixed them to have the matching number of parameters.
Platforms tested:
heping pp (using both mpich-icc and mpich-gcc), modi4 pp.
Code cleanup
Description:
Clean up code somewhat:
- Move from HDmemset() -> H5G_ent_reset() to clear out group entry info
- Simplify H5G_unlink() call
- Use portability macros instead of direct system calls in more places
- Improve readbility by neatening whitespace, etc.
- Move some macros into source code module instead of header files
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Feature and bug patch
Description:
Added the SKIP feature which skips a test.
The latest code will hang the very last test. Skip that test for now.
Platforms tested:
heping pp.
Description: repart_test.c was mistakenly treated as a tool, instead of a test program.
Solution: Took it out of the tool list.
Platforms tested: fuss - simple change.
Bug fix
Description:
ph5diff had been hanging in Tflops. Found out that vsnprintf ph5diff
uses was a local coded that did not limit printing according to the size
argument. That resulted in buffer overflow and other problems.
Solution:
Added some sort of size checking in the home-grown vsnprintf and
had ph5diff checked for error return of vsnprintf. Leon also
revamped the ph5diff manager's way of handling communications with
the workers. That eliminated all but the last case of hanging.
Platforms tested:
Tflops.
Misc. update:
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
Description: The change made yesterday regarding repart_test.c wasn't right.
Solution: Roll back to v1.6 until a solution is figured out.
Platforms tested: fuss - simple change.
Description: repart_test.c was mistakenly treated as a tool, instead of a test program.
Solution: Took it out of the list of tools.
Platforms tested: fuss - simpl change.
Description: repart_test.c was mistakenly treated as a tool, instead of a test program.
Solution: Took it out of the list of tools.
Platforms tested: fuss - simple change.
Bug fix & code cleanup
Description:
Fix another bug in the file mounting code and refactor the unmount
code that it is simpler.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Too minor to require h5committest
Bug fix and improvement.
Description:
The test output were not displayed for parallel tests.
The serial tests output were always displayed whether the test was
actually ran this time or not.
Solution:
Moved the display of test output inside the target where the actual
tests are run.
Platforms tested:
Tested in heping using pp and fortran.
Bug fix and code minor cleanup.
Description:
The attempt to redirect stderr together to the log files were
done in the wrong order such that stderr output goes to where
stdout WAS. Fixed that.
Code minor cleanup--use shell variables to hold the name of the
log file and the test instead of generating them repeatedly. This
makes easier code reading, less crowded and avoid typos.
Only conclude.in is changed. The Makefile.in changes are all
derived from automake.
Platforms tested:
h5committested.
Makefile feature
Description:
'make check-clean' now cleans *.h5 files created by tests as well as
.log and .chkexe files.
Solution:
check-clean is now a separate target in its own right, which cleans less
than mostlyclean (check-clean < mostlyclean < clean < distclean).
Platforms tested:
mir, heping, modi4 (serial and parallel)
Feature: check-clean target
Description:
'make check-clean' cleans up output files from tests.
Solution:
Tests create foo.chkexe and foo.log files. Scripts create foo.chksh and
foo.logsh files. 'make check-clean' will clean these files up so that
the tests can be re-run.
Also suppressed some not-very-useful output of Makefiles when it would
echo commands.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Configuration feature
Description:
Serial test output is now stored in log files and printed when all tests
in a directory complete, or when a test fails. This should make test output
more readable and useful.
Also made changes to clean up ii_files directories that are created by some
C++ compilers/linkers.
Also fixed a few minor Makefile bugs.
Solution:
When serial tests run, their output is saved in *.log or *.logsh. While
running, tests only print when they begin and when they complete; their
more specific output (from the log file) is printed if the test fails or
when all tests have completed.
Comments welcome.
Platforms tested:
mir, modi4 (parallel and serial), copper, shanti