Commit Graph

604 Commits

Author SHA1 Message Date
Mike McGreevy
8339217374 [svn-r16793] Description:
- Updated bin/reconfigure to use latest version of automake (1.10.2). 
      Regenerated Makefile.in's by running bin/reconfigure.

    - Added libtool version numbers to c++, fortran, hl, hl c++, and hl fortran
      libraries.

Tested:

    jam, liberty, smirom
2009-04-20 01:03:29 -05:00
Pedro Vicente Nunes
f38ae770ca [svn-r16786] merge 16785
added missing test and compare cases inside compounds for nan
tested: linux
2009-04-18 16:19:56 -05:00
Neil Fortner
48b127f628 [svn-r16699] Purpose: Fix bug 503
Description:
Changed Skip list package to use a deterministic skip list.  This allows the
skip list package to avoid calling rand() and srand(), even on machines without
rand_r().  There is no longer a p-value or maximum level for skip lists.

Tested: jam, smirom, linew (h5committest)
2009-04-08 12:05:17 -05:00
Pedro Vicente Nunes
22d6e96014 [svn-r16641] merge from trunk revs 16614, 16629
1.	#1501  (B1) tools bug if dataset is larger than H5TOOLS_BUFSIZE limit. 
ISSUE : the tools use the following formula to read by hyperslabs: hyperslab_size[i] = MIN( dim_size[i], H5TOOLS_BUFSIZE / datum_size) where H5TOOLS_BUFSIZE is a constant defined of 1024K. This is OK as long as the datum_size does not exceed 1024K, otherwise we have a hyperslab size of 0 (since 1024K/(greater than 1024K) = 0). This affects h5dump. h5repack, h5diff
SOLUTION: add a check for a 0 size and define as 1 if so. 
TEST FOR H5DUMP: Defined a case in the h5dump test generator program of such a type (an array type of doubles with a large array dimension, that was the case the user reported).  Since the written file commited in svn would be around 1024K, opted for not writing the data (the part of the code where the hyperslab is defined is executed, since h5dump always reads the files). Defined a macro WRITE_ARRAY to enable such writing if needed. Added a run on the h5dump shell script. Added 2 new files to svn: tools/testfiles/tarray8.ddl, tools/testfiles/tarray8.h5. NOTE: while doing this I thought of adding this dataset case to an existing file, but that would add the large array output to those files (the ddls). The issue is that the file list is increasing.
TEST FOR H5DIFF: for h5diff the check for reading by hyperslabs is H5TOOLS_MALLOCSIZE (128 * H5TOOLS_BUFSIZE) or 128 Mb. This makes it not possible to add such a file to svn, so used the same method as h5dump (only write the dataset if WRITE_ARRAY is defined). As opposed to h5dump, the hyperslab code is NOT executed when the dataset is empty (dataset is not read). Added the new dataset to existing files and shell run (tools/h5diff/testfiles/h5diff_dset1.h5 and tools/h5diff/testfiles/h5diff_dset2.h5 and output in tools/h5diff/testfiles/h5diff_80.txt).
TEST FOR H5REPACK: similar issue as h5diff with the difference that the hyperslab code is run. Added a run to the shell script (with a filter, otherwise the code uses H5Ocopy). 
FURTHER ISSUES: the type in question ("double") has a different output cross platforms (e.g on liberty some garbage number is printed at some array locations)
SOLUTION: defined an "int" type for this test. However the printing of such an array has a bogus output at least in one platform (FreeBsd), so eliminated the test run altogether and filed a bug report on this
2009-04-01 10:25:43 -05:00
Mike McGreevy
ddf384fb35 [svn-r16562] Purpose:
Bug Fix

Description:

    Fixing BZ #1381. The --includedir=DIR configure option, which is used to
    spceify installation location of C header files, did not work correctly as
    the path was hard-coded into config/commence.am. I'm presuming this is
    because an older version of automake didn't know where to put C header
    files. In any case, removing this line now defaults the includedir to the
    same directory that it is currently hard-coded to, and also fixes the
    configure flag which allows for customization of this value.

Tested:

    jam, liberty
2009-03-10 16:07:50 -05:00
Pedro Vicente Nunes
086c205ca4 [svn-r16519] merge 16518 from trunk
have 2 expected outputs for 2 h5ls runs depending if run on a big or little endian machine. Configure.in was modified to export a variable carrying endianess information to testh5ls.sh. This script then compares the current run with 2 expected outputs, one for a big-endian machine (linew was used to generate the output), other for little endian (jam was used to generate the output)
the way h5ls prints types, it starts searching for NATIVE types first. One solution would be h5ls not to detect these native types, using for example the same print datatype function that h5dump does, that would make the output look the same on all platforms  ("32-bit little-endian integer" would be printed instead).  Drawback, this "native" information would not be available. Other solution is to have not one but 2 expected outputs and make the shell script detect the endianess and compare with one output or other
tested: jam, linew
2009-02-26 16:25:57 -05:00
Pedro Vicente Nunes
94838213e6 [svn-r16503] merge 16502 from trunk
bug fix: a comma accidently left on a conditional typedef was causing compilition error on AIX
tested: linux
2009-02-20 16:27:59 -05:00
Allen Byrne
c880943ce9 [svn-r16490] Fixed bug #1459 by eliminating the macro long_long and replacing all instances with long long.
Tested:
   h5comittest
   fedora 10 x64
   XP32, VNET
2009-02-18 15:05:49 -05:00
Pedro Vicente Nunes
8fd5f783b4 [svn-r16463] merge from trunk
Bug fix: for compound types, the not comparable test for members was not done
Solution: for compound types, recursively apply that check
Two new cases are added
1) the compound type has a different number of members. Message printed is
<obj1> has X members <obj2> has Y members
Where X and Y are the number of members of each compound type being compared
2) the compound type has not comparable types (for example a double and an int at the same index)
In this case the message
Comparison not possible: object1 is of class1 and object2 is of class2
Is replaced with
Comparison not possible: object1 has a  class1 and object2 has a  class2
Modified the test generator program to have these 2  cases
Added a shell run for these 2  cases



Tested: h5committest
2009-02-11 11:37:46 -05:00
Pedro Vicente Nunes
87ebee5951 [svn-r16375] merge 16373
replaced some printf statements with parallel_print


tested: linux serial (parallel tested in trunk)
2009-01-29 14:09:30 -05:00
Pedro Vicente Nunes
4f48c9c555 [svn-r16359] merge 16348
bug fix
a new line was not inserted at the end of output, causing diff to complain between linux and frebsd

tested: linux (freebsd tested on the trunk)
2009-01-27 10:42:42 -05:00
Pedro Vicente Nunes
92f5db9daf [svn-r16355] bug fix: some printf calls instead of parallel_print made some tests to fail
tested: on the trunk
2009-01-27 09:02:20 -05:00
Pedro Vicente Nunes
d2dd85b598 [svn-r16351] merge 16348
#1368 (E1) h5diff: implement  "not comparable" messages. Implemented RFC. The new option is <-c, --compare           List objects that are not comparable>

added some test cases

tested: windows, linux
2009-01-26 15:39:32 -05:00
Frank Baker
6bd7826ce8 [svn-r16341] Description:
Changed 'THG' to 'The HDF Group' in various HDF5 source files,
        most of which are <subdirectory>/COPYING.
    -- Closes Bugzilla entry 1403.
2009-01-22 16:03:58 -05:00
Pedro Vicente Nunes
2ad37c5958 [svn-r16320] merge 16319
add conditinal nan detection to some missing places

tested: windows, linux
2009-01-14 16:43:26 -05:00
Pedro Vicente Nunes
d496a1c715 [svn-r16312] merge 16300
Added an option to avoid dealing with NaNs 
-N, --nan               Avoid NaNs detection
Note: there is no shell script run for datasets with NaN because the output is non portable (different results and NaN strings for different systems)


Tested: windows, linux
2009-01-14 11:31:52 -05:00
Pedro Vicente Nunes
2a6e4d4e43 [svn-r16218] Merging trunk 16217
Bug fix
PG compiler complains about array out of bounds (a rank of zero was not checked)
Adding a scalar dataset to the test generator program. this case is run on a previous existing run, the case was added to 2 existing files

Tested: windows, linux
2008-12-23 10:52:22 -05:00
Pedro Vicente Nunes
0426a9ff06 [svn-r16073] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows, linux
2008-11-13 11:45:08 -05:00
Pedro Vicente Nunes
c9300fbde0 [svn-r16071] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
tested: windows, linux
2008-11-13 11:16:12 -05:00
Pedro Vicente Nunes
7885abab9a [svn-r16027] reintroduce code before 16025 of code freeze 2008-11-04 13:33:57 -05:00
Pedro Vicente Nunes
f0d6f33b74 [svn-r16025] For scalar string datasets print the character position when a difference is found instead of a non-existing array position
Tested: windows
2008-11-03 21:53:41 -05:00
Pedro Vicente Nunes
f08f9340a7 [svn-r15969]
Introduced a new feature in the tools library regarding command line parsing
In the definition of arguments, an "*" means that the switch can or can not have an optional argument. This "*" is put in the code regarding the letter definition, and it is transparent to the user (e.g b* instead of the previous b: ), where ":" notes a required argument after the letter (and no ":" or "*" notes no argument, mandatory)
Used for the h5dump binary option -b
It can be now
1)	-b (defaults to NATIVE)
2)	- b NATIVE
3)	- b FILE
4)	-b LE
5)	-b BE
Note: the keyword NATIVE replaces MEMORY
This feature (-b with no argument) was tested with the sequence of h5dump to binary (NATIVE) then h5import to generate an HDF5 file from the binary file and h5diff to compare the 2 HDF5 files
Tested: windows, linux
2008-10-27 15:06:28 -05:00
Pedro Vicente Nunes
64e96385de [svn-r15967] regarding the return value of h5diff (0, no difference in files, 1 difference )
objects with the same name must be of the same type


tested: windows, linux
2008-10-27 11:18:06 -05:00
Pedro Vicente Nunes
07baa2bd02 [svn-r15945] redo the
use of
H5_PRINTF_LL_WIDTH
in the definition of 
#define HSIZE_T_FORMAT   "%"H5_PRINTF_LL_WIDTH"u"

the printing of "unknow u" in tg-login3.
for unsigned long long was a  configure bug fixed by rev 15942

tested: tg-login3
2008-10-24 14:38:53 -05:00
Pedro Vicente Nunes
1b6981c062 [svn-r15938]
for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format, is not working in ia64 linux (tg-login3)
extra characters are printed, this time in h5ls
hardcoded the format defined in HSIZE_T_FORMAT to "%llu"

tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
2008-10-23 16:29:21 -05:00
Pedro Vicente Nunes
b694ad6c87 [svn-r15933] for some reason , the use of H5_PRINTF_LL_WIDTH to convert to a unsigned long long format
is not working in ia64 linux (tg-login3)
hardcoded the format to "%llu"

tested: windows, linux (kagiso), solaris, ia64 linux (tg-login3)
2008-10-22 17:33:58 -05:00
Pedro Vicente Nunes
83abc3a4e4 [svn-r15923] The printf call with the format "%"H5_PRINTF_LL_WIDTH"u" prints some garbage in linux ia64 unless we pass to the function a temporary pointer variable
Tested: windows, linux (kagiso), solaris, linux ia64 (tg-login3)
2008-10-21 14:25:29 -05:00
Pedro Vicente Nunes
1e1bcb801c [svn-r15900] Make the h5copy test that renames a group to return 1 on the h5diff call and assume 1 is the correct result
Drop the -c flag for h5diff

Tested: linux
2008-10-17 18:45:32 -05:00
Pedro Vicente Nunes
6c262bfc93 [svn-r15899] Extend the -c flag for ignore graph differences to ignore different group names
This is used in the h5copy test that compares renaming of groups

Tested: linux
2008-10-17 17:26:14 -05:00
Mike McGreevy
1b86e5a529 [svn-r15898] Purpose: Bug Fix
Description: Libtool wasn't working on linew because the script was
             not working with the Solaris Bourne shell. Libtool has built-
             in detection to ensure that it uses an appropriate shell,
             but our config/commence.am was hard coding this shell to be
             /bin/sh. Removing this line allows the shell to be picked up
             by configure, thus allowing libtool to use the correct shell
             on linew (bash). This was initially added to correct for a problem
             on an old machine (janus), so shoudn't be needed for machines
             we currently support.

Tested:      full make check install on kagiso and linew, compile only
             on smirom, duty, and liberty.
2008-10-17 10:48:23 -05:00
Pedro Vicente Nunes
924ba14474 [svn-r15896] Introduced a -c flag to ignore file contents differences in the return value (return 0 id -c is present)
Introduced for h5copy validation

Tested: windows, linux
2008-10-16 18:24:18 -05:00
Pedro Vicente Nunes
12e3697d79 [svn-r15889] When comparing individual objects the file graph is not currently compared, so make h5diff return 0 (no diffrences)
Tested: windows, linux
2008-10-16 11:00:37 -05:00
Neil Fortner
b195e33d3f [svn-r15887] Purpose: Close bug 1332
Description: Improved external link traversal of h5dump.  h5dump will now
    properly avoid all cycles, even those spanning multiple files.  Improvement
    to the output of committed datatypes.  Committed datatypes are now checked
    for uniqueness (like other objects).  Tests added for these cases.

Tested: kagiso, linew, smirom (h5committest)
2008-10-15 22:54:19 -05:00
Mike McGreevy
97cced22b6 [svn-r15881] Purpose: Bug Fixes, Libtool Upgrade
Description:

  1) configure now sets LD_LIBRARY_PATH before checking for presence of 
     SZIP encoder, so user does not need to set this. The path is then
     saved and sent to Makefiles, and used when "make check-install" is
     invoked, so user doesn't need to set this manually. 

  2) Upgraded libtool to version 2.2.6a

  3) Rearranged tools build order as h5dump depends on existence of h5diff
     and h5import. Since h5dump is a sister directory as opposed to a parent
     of either, it doesn't know about the build rules of these tools, so 
     setting any sort of explicit dependency confuses automake as it won't
     know how to build the tools. Instead, setting CONFIG = ordered forces
     an in-order traversal of each tools subdirectory. (without it will also
     traverse in order by default, but this should prevent gmake's -j option
     from jumping ahead as well). 'make check install' should now be able to 
     be invoked after 'configure' without causing a dependency failure.

  4) Removed H5_HAVE_LARGE_HSIZET macro from vms/src/h5pubconf.h, as this macro
     has now been out of the code for some time. (vms pubconf needs to be 
     updated manually, which is why it was still hanging around).

Tested: kagiso, smirom, liberty

Note: h5diff looks to be causing failures in h5copy and h5dump tools tests,
      though these were present before any of my changes. My changes only 
      affect build order and configuration setup, and shouldn't prevent
      fixes for these failures coming in after this checkin. Other than these,
      tests pass fine.
2008-10-15 16:53:36 -05:00
Pedro Vicente Nunes
b353fb8b5a [svn-r15871] Eliminate -c option and make that behavior the default and return 2 instead of -1 on error status
Tested: windows, linux
2008-10-15 11:10:15 -05:00
Pedro Vicente Nunes
c7bc8d9d28 [svn-r15866] add support for long double type
tested: windows, linux (32,64)
2008-10-14 15:38:57 -05:00
Neil Fortner
13f5dbc05d [svn-r15669] Purpose: Add feature requested in bug #1282
Description: Adds capability to h5ls to traverse external links when the -r
(recursive) option is given.  Changes to the way absolute path names are patched
in h5trav.c.  Changes to the way recursive traversal starting from a non-root
group is handled (which also fixes some preexisting issues).  Tests added for
these cases.

Tested: kagiso, smirom, linew (h5committest)
2008-09-21 13:36:09 -05:00
Quincey Koziol
b9be045596 [svn-r15629] Description:
Remove trailing whitespace from C/C++ source files, with the following
script:

   foreach f (*.[ch] *.cpp)
       sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
   end

Tested on:
   Mac OS X/32 10.5.5 (amazon)
   No need for h5committest, just whitespace changes...
2008-09-16 11:22:16 -05:00
Pedro Vicente Nunes
428715468b [svn-r15511] bug fix
when comparing attributes, a type ID was not properly closed 


solution: close the Id on the iteration and continue instead of goto out of the cycle

tested: windows, linux
2008-08-21 15:39:27 -05:00
Neil Fortner
f040f990a0 [svn-r15459] Purpose: Modify the library to take the proper action when files with incorrect
datatype versions are encountered.

Description: The library now recognizes some problems with datatype versions in
H5O_decode_helper(), and, if not performing strict format checks, automatically
corrects them.  Framework added for other message decode routines to
automatically correct file errors.  Datatype version information added to
h5debug.  Resolves bz#1236, 1266.  Test files with incorrect datatype versions
corrected.

Tested: kagiso, smirom, linew (h5committest)
2008-08-11 10:18:54 -05:00
Pedro Vicente Nunes
e46107ca75 [svn-r15433] http://bugzilla.hdfgroup.uiuc.edu/show_bug.cgi?id=1170
Summary: when using h5diff to compare the results of h5repack (or other tools that copy one HDF5 file to another), a new option is needed to allow h5diff to make an "absolute" comparison of the 2 files. This is the "contents" mode explained in the usage below.


If this mode is present, objects in both files must match (must be exactly the same). If this does not happen, the tool returns an error code of 1 (instead of the success code of 0)


Changes to the h5repack test script: the call to h5diff was changed to include -c (maintaining the previous -q). 


tested: windows, linux
2008-08-05 14:35:46 -05:00
Scott Wegner
6df2bbd6e9 [svn-r15181] Purpose: _WIN32 macro cleanup
Description:
As part of our Windows cleanup, we try to remove windows-specific tweaks in the source code.  There are many instances where Windows code is introduces via ifdef's.  We re-evaluate whether they are still required, and found that many of them are not.  Others we change to "feature"-specific code, rather than Windows-specific.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagisopp, smirom, linew)
2008-06-09 12:31:22 -05:00
Scott Wegner
0b5f34bfa6 [svn-r15160] Purpose: Separate Windows function macro definitions to win32defs.h
Description:
In library code, we try not to use system calls directly, but instead use the HD{function} macro instead.  This way, we can map special versions of the call on particular systems.  Previously, it was all done in H5private.h.  However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h.  This way, we can use the non-Posix versions that Visual Studio sends warnings about.

Some macros are set specifically in the platform-specific header files.  Then, any macros left unset will be set by the "default" implementation in H5private.h.

This checkin also cleans up various source files to use the HD* macros when possible.

Tested:
VS2005 on WinXP
VS.NET on WinXP
h5committest (kagiso, linew, smirom)
2008-06-05 16:39:30 -05:00
Quincey Koziol
6e196a7b66 [svn-r15134] Description:
Brought revision 15133 back from trunk:

        Fixed bug in h5ls that prevented relative group listings (like
    "h5ls foo.h5/bar") from working correctly.

Tested on:
    Mac OS X/32 10.5.3 (amazon)
2008-06-03 19:25:29 -05:00
Albert Cheng
4344cf5391 [svn-r15042] Bug fix.
Description:
The fortran Makefile.am used HDF_FORTRAN to indicate it is part of the
Fortran API source so that conclude.am will give fortran api prefix in the
test output.  The symbox HDF_FORTRAN is also used in configure for a different
purpose (indicated --enable-fortran). They conflicted.
Similar problem for the symbol HDF_CXX.

Solution:
Changed all the involved Makefile.am to use "FORTRAN_API" instead. It is
a more appropriate name.  Same for CXX_API.

Along the way, discovered that the Makefile.am of hl/fortran/test and
hl/cxx/test did not have those symbols at all.  Added them in.

Platform tested:
Kagiso serial and h5committested (kagisopp, smirom, linew).
2008-05-19 20:29:26 -05:00
Albert Cheng
feab08a0ee [svn-r15033] Purpose:
Improvement.

Description:
src/libhdf5.settings was the initial configure summary and is installed.
Then configure is changed to dump a summary of the configure settings to
the output and also append it to src/libhdf5.settings.  That created
two different output formats and duplicated information.  This is the
initial attempt to clean up this confusion and unify the output format.

It is decided to use the src/libhdf5.settings template as the unified means.
This requires more macros symbols be defined. The following symbols are
all related to generating the src/libhdf5.settings file.

AC_SUBST(EXTERNAL_FILTERS)
AC_SUBST(MPE) MPE=no
AC_SUBST(STATIC_EXEC) STATIC_EXEC=no
AC_SUBST(HDF_FORTRAN) HDF_FORTRAN=no
AC_SUBST(FC) HDF_FORTRAN=no
AC_SUBST(HDF_CXX) HDF_CXX=no
AC_SUBST(CXX) HDF_CXX=no
AC_SUBST(HDF5_HL) HDF5_HL=yes
AC_SUBST(GPFS) GPFS=no
AC_SUBST(LINUX_LFS) LINUX_LFS=no
AC_SUBST(INSTRUMENT) INSTRUMENT=no
AC_SUBST(CODESTACK) CODESTACK=no
AC_SUBST(HAVE_DMALLOC) HAVE_DMALLOC=no
AC_SUBST(DIRECT_VFD) DIRECT_VFD=no
AC_SUBST(THREADSAFE) THREADSAFE=no
AC_SUBST(STATIC_SHARED)
AC_SUBST(enable_shared)
AC_SUBST(enable_static)
AC_SUBST(UNAME_INFO) UNAME_INFO=`uname -a`

The src/libhdf5.settings.in has CONDITIONAL's added to it too.  The
untrue conditions turned into a "#" and these lines are cleaned by the 
post processing script.

Platform tested:
h5committest on kagiso, smirom and linew. (smirom had failures not due to
my changes.)
2008-05-18 21:25:13 -05:00
Mike McGreevy
362e5d9a10 [svn-r15006] Purpose: configure cleanup
Description: cleaning up configure related to removal of --disable-hsizet
             flag, which we no longer support.

Tested: kagiso
2008-05-15 10:48:48 -05:00
Mike McGreevy
934d532544 [svn-r14824] Purpose: Updating HDF5 1.8 to use automake 1.10.1 and libtool 2.2
Description:     Updated bin/reconfigure script to reflect the new versions of
                 libtool and automake in the /home1/packages/ directory.

                 Rearranged configure.in script. For some reason, when using
                 libtool 2.2, the libtool script doesn't generate until
                 later in the configuration process, so I had to move
                 a test that parsed through the libtool script to a point 
                 after where it was actually being generated.

                 Ran libtoolize on the project, and ran bin/reconfigure to
                 regenerate configure and Makefile.in's throughout.

Tested:          kagiso, smirom, linew, tg-login
2008-04-10 15:52:14 -05:00
Pedro Vicente Nunes
59f29fa02f [svn-r14802] bug fix: #1106 h5dump -b will dump ASCII values for datasets after the first one. One variable that controls the binary output was incorrectly reset to zero after a binary output was done a first time. The effect was that on cases of several datasets, the ones after the first were not binary written. Eliminated the resetting of that variable and tested a file with several datasets. Modified the test file so that it is easier to test with the tool binread, that reads the binary output of h5dump.
tested: windows, linux
2008-04-07 10:53:35 -05:00
Quincey Koziol
a233b8a08d [svn-r14691] Description:
Handle comparing datasets & attributes w/variable-length strings properly.

Tested on:
    Linux/64 2.6.9 (chicago)
2008-02-28 09:53:38 -05:00