Commit Graph

59 Commits

Author SHA1 Message Date
Quincey Koziol
74d0aa11ad [svn-r22929] Description:
Bring r22921 from trunk to 1.8 branch:

    Review Coverity changes and bring them back to trunk. (QK & JK)

r20402:
Added #includes for h5tools.y or h5tools_utils.h as required to remedy implicit
function declarations which caused compiler warnings and coverity issues 703-4
and 708-11.

r20414:
This is related to the previous checkin r20399.  There were incorrect updates
which caused incorrect behavior when no file was given. Also possible segfault
when handling hyperslab options. Simplify the code changes.

r20449:
Description: Modified H5E_walk2_cb to check return value of H5I_object_verify.

r20450:
fixed coverity 813


Tested on:
    Mac OSX/64 10.8.2 (amazon) w/C++, FORTRAN, debug & threadsafe
    (too minor to require h5committest)
2012-10-19 12:54:22 -05:00
Allen Byrne
c2491932d9 [svn-r22632] Merge from trunk revision 22631
tested: local linux
2012-08-06 09:18:55 -05:00
Allen Byrne
68d93b7f4e [svn-r22013] HDFFV-7560:
Merge 1.8 and h5dump/tools and tests based on tools library from trunk.
Reduced warnings.

HDFFV-7949:
Remove duplicated functions in h5ls

Tested: local linux,h5committest
2012-03-02 09:21:13 -05:00
Allen Byrne
7706186b2f [svn-r20722] Refactor ext lib import and install.
Change case of tools subtests to not conflict with tools tests.
Add SOVERSION for linux
Remove PACKED BITS define/idef blocks

Bring r20721 from trunk
2011-05-04 14:46:33 -05:00
Jonathan Kim
3e755a079b [svn-r20706] Purpose:
- HDFFV-5928 - GMQS: h5diff problem and improvement on comparsing the same objects

Description:
    Merged from HDF5 trunk r20676.
    Fixed:
    1) adding h5tools_is_obj_same() function to check if two given IDs or paths point to the same object. This function can be very useful for other tools and applications.
    2) using h5tools_is_obj_same() at h5diff() and diff() in h5diff.c. If two paths point to the same object, there is no need to check the details of the object since we know there is no difference. The fix will increase the performance by skipping the content comparison. It also fixed the problem of reporting difference for some cases of comparing the same file, e.g. empty files or files with incomparable objects the same file.

    Test update:
    Updat prvious test cases (171, 172, 530) affected by this fix, so they
    still perfrom originally intended testing without bypassing.

Tested:
 jam (linux32-LE), koala (linux64-LE), heiwa (linuxppc64-BE), tejeda (mac32-LE), linew (solaris-BE), cmake
2011-05-02 15:41:03 -05:00
Jonathan Kim
58ca19929f [svn-r20288] Purpose:
Fixed Bug 2216 - GMQS: h5diff - memory leak when compares vlen string in 
    dataset or attributes

Description:
    Merged from HDF5 trunk r20266, r20270 and r20285.
    Test for dataset : valgrind  --leak-check=full  ./h5diff -v h5diff_dset1.h5 h5diff_dset2.h5 /g1/VLstring
    Test for attr : valgrind --leak-check=full ./h5diff h5diff_attr1.h5 h5diff_attr2.h5
    Both test cases are in testing script.

     
Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), Cmake - jam
2011-03-22 09:26:12 -05:00
Allen Byrne
a518bae9c0 [svn-r20248] Change name of new VLEN function from H5Tdetect_vlen_str to h5tools_detect_vlen_str to match other functions in tools lib.
Added back test for H5Tdetect_class of H5T_VLEN after each instance of above function to catch all VLEN types in h5dump.

bring back from trunk r20247

Tested: local linux
2011-03-14 16:05:44 -05:00
Allen Byrne
48fa07cd25 [svn-r20187] Verify/cleanup code due to debugging changes
Tested: local linux
2011-03-04 10:01:43 -05:00
Allen Byrne
a863723db8 [svn-r19897] Extend packed bits and testing to 64 bit integers.
Tested: local Linux
2010-12-30 09:00:48 -05:00
Quincey Koziol
525caddd9e [svn-r19254] Description:
Bring r19252 & 19253 from trunk to 1.8 branch:

   Bring Coverity changes from branch to trunk:


r19161:
Fixed the part for matching the subset info with dataset

r19189:
BZ1646: h5dump does not check number of dimensions for subsetting parameters against the dataset

Changed subset_t structure from holding hsize_t pointers to holding new subset_d pointers, which hold the original hsize_t pointer + len. this len is then checked against dataset ndims in the handle_dataset function of h5dump.

Changed all references to use new data structure.

Added tests for each subset parameter.

r19190:
Added new h5dump ddl files

Tested on:
    Mac OS X/32 10.6.4 (amazon) w/debug & production
    (h5committested on Coverity branch)
2010-08-19 16:16:28 -05:00
Allen Byrne
02b5824f57 [svn-r19198] [BZ1953]implementation for the proposed changes suggested by the "h5dump_output_option" RFC. This required that the region reference code be duplicated and reduced to allow the do_bin_output() function to understand region references. The container type-id also needed to be propagated into the do_bin_output() function and functions referenced (render_bin_output*).
Existing tests tested the binary function, so only one test was added to test the region reference generated file.
Tested: local linux
2010-08-09 12:15:06 -05:00
Albert Cheng
174cc7b19e [svn-r18821] Packed bits codes tidy up. Removed codes that are not needed
any more. Changed algorithm of creating mask which now sits
at the least significant bits. Display data by down shift
first and then mask it for display. Changed the variable
names to reflect the new purpose better.

Tested: AlbertPax (linux)
2010-05-15 00:40:00 -05:00
Allen Byrne
5c2734ec51 [svn-r18815] Move progname and d_status functions from h5tools to h5tools_util
Tested:
    linux and windows
2010-05-14 16:53:41 -05:00
Albert Cheng
a44c942518 [svn-r18796] Enhancement 1853:
Install packed-bits feature for h5dump.

tools/h5dump/h5dump.c:
    Added lots of error checking into parse_mask_list() to catch and
    flagged packed-bits argument errors. For now, the packed bits
    are limited to 1 byte (8 bits) range.

tools/h5dump/testh5dump.sh.in
    Added 10 new packed-bits test to verify normal operation and argument
    error detection.

tools/lib/h5tools.h:
tools/lib/h5tools_str.c:
tools/lib/h5tools.c:
    Only name changes of the packed-bit global variables to reflect
    the nature of the variable better, IMO.

Tested: albertPax (linux)
------------------------------------------------------------------------
2010-05-13 16:42:16 -05:00
Allen Byrne
103da21db1 [svn-r18787] Added h5tools.h include to h5diff_common.h to fix warnings about the new progname and status functions
Tested: local linux
2010-05-13 09:21:22 -05:00
Allen Byrne
05d75af8b8 [svn-r18757] Enable tools lib to be built as a dll on windows. Added two get/set functions for progname and d_status.
Also add windows import/export declarations to functions.
Updated windows - H5pubconf.h for packed bits function

Tested:
   Windows, linux
2010-05-11 12:49:41 -05:00
Albert Cheng
7c16aec7e1 [svn-r18743] enhancement 1853:
Install packed-bits feature for h5dump.

Allen has installed the feature in the NPOESS feature branch.
I ported it back to the v1.8 branch for v1.8.5 release.

tools/h5dump/testh5dump.sh.in:
    Added tests for the packed-bits feature.
tools/h5dump/h5dump.c
tools/h5dump/h5dump.h
    Added code to parse and handled the packed-bits request.
tools/lib/h5tools.h
tools/lib/h5tools_str.c
tools/lib/h5tools.c
    Added code to print packed-bits.
tools/testfiles/tpackedbits2.ddl
tools/testfiles/tnofilename-with-packed-bits.ddl
tools/testfiles/tpackedbits.ddl
    Expected output files for packed-bits feature.

Tested:
    h5committested the NPOESS branch.
    Tested in the linux VM machine in my Dove.
2010-05-07 15:56:54 -05:00
Quincey Koziol
fa1f33701d [svn-r18198] Description:
Trim trailing whitespace from source code files, with following command:

find . \( -name "*.[ch]" -or -name "*.cpp" -or -name "*.f90" \) -print |xargs -n 1 sed -i "" 's/[[:blank:]]*$//'

Tested on:
    None - eyeballed only
2010-01-29 23:33:04 -05:00
Allen Byrne
c44c9feb35 [svn-r17493] Bring changes from trunk to tools lib, h5dump and error handling.
Tested: h5committest, local linux
2009-09-17 15:37:09 -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
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
Quincey Koziol
a4069db8f4 [svn-r14131] Description:
Move H5Giterate() and H5G_iterate_t to deprecated symbols section,
replacing them with H5Literate and H5L_iterate_t respectively.

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	AIX/32 5.3 (copper)
	Solaris/32 5.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-08-30 15:03:37 -05:00
Pedro Vicente Nunes
d9a56fa9ad [svn-r13874]
Changed macro names, conflict with new compiler

-- changed DATASET to H5_TOOLS_DATASET
-- changed DATATYPE to H5_TOOLS _DATATYPE
-- changed GROUP to H5_TOOLS_GROUP

In mingw's version of winsock2.h they define:

typedef unsigned int    GROUP;


remove STORAGELAYOUT macro, it was not used

tested: linux
2007-06-18 15:03:30 -05:00
Pedro Vicente Nunes
58cc7fb19a [svn-r13757]
h5repack and h5diff hyperslab I/O

changed the limit on which  hyperslab I/O is done from 1GB to 128MB

h5repack currently tests this feature by defining a dataset with dimensions of 128MB + 1byte (the datum being 1 byte integer), in which a 1Kb hyperslab was written.

tested: linux
there were some errors in running the tests, but these were in the library, due to a recent check-in that will be fixed shortly (at least we hope :-) )
2007-05-16 11:41:43 -05:00
Pedro Vicente Nunes
c24cea791f [svn-r13503]
Preparation for making 1.6 and 1.7 h5dump more similar and 1.6 to have 1.7 fixed bugs incorporated
2007-03-12 11:36:34 -05:00
Quincey Koziol
bb392083b2 [svn-r13297] Description:
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)
2007-02-14 08:54:11 -05:00
Quincey Koziol
d3c5ab50fc [svn-r13292] Description:
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)
2007-02-13 17:42:43 -05:00
Albert Cheng
ed7d456e51 [svn-r13253] Updated all C and C++ style source code files with the THG copyright notice.
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.
2007-02-07 09:56:24 -05:00
Pedro Vicente Nunes
f234483372 [svn-r13076]
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)
2006-12-19 13:14:26 -05:00
Pedro Vicente Nunes
a1edc70691 [svn-r12784]
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
2006-10-19 12:07:26 -05:00
Albert Cheng
66d2d26f5d [svn-r12634] Purpose:
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).
2006-08-27 19:55:27 -05:00
Pedro Vicente Nunes
c7384f49e0 [svn-r12513]
new feature
h5dump binary output. use little and big endian type conversions
2006-07-28 10:00:29 -05:00
Pedro Vicente Nunes
7637b67933 [svn-r12444] Purpose:
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:
2006-06-28 14:34:08 -05:00
Pedro Vicente Nunes
8846157e59 [svn-r12437] Purpose:
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:
2006-06-26 09:41:59 -05:00
Quincey Koziol
56e3f667d6 [svn-r11886] Purpose:
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
2006-01-23 15:46:34 -05:00
Quincey Koziol
6b45f5172c [svn-r11245] Purpose:
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
2005-08-13 15:53:35 -05:00
Pedro Vicente Nunes
1b313aa2f6 [svn-r10738] Purpose:
bug fix 366

Description:
the printing of the array indices was done relatively to the stripmine data (data read
by hyperslabs when its memory requiremnts are too large)
this was causing an incorrect numbering of the array indices (the next read would initialize
the indices to zero)

Solution:
added a field to the print context that keeps track of the stripmine position
and pass to the rendering function the total element position

Platforms tested:
Linux

Misc. update:
2005-05-09 09:53:22 -05:00
Robert E. McGrath
89ed8ceec2 [svn-r10060] Purpose:
feature

Description:
h5dump support for scaleoffset compression

Solution:

Platforms tested:
verbena, shanti,copper64

Misc. update:
2005-02-21 14:27:56 -05:00
Quincey Koziol
610bf8a815 [svn-r9994] Purpose:
Bug fix

Description:
    Unbreak build by adding definition for NBIT macro.

Platforms tested:
    FreeBSD 4.11 (sleipnir) w/parallel
    Solaris 2.9 (shanti)
2005-02-11 18:32:46 -05:00
Pedro Vicente Nunes
983e9a9e26 [svn-r9961]
Purpose:
bug fix, new test file

Description:
h5dump was not properly displaying array indices > 3D

Solution:
added the same algorythm and data structure that h5diff uses to calculate the array index
from a element number position

Platforms tested:
linux
solaris






Misc. update:
2005-02-08 15:55:17 -05:00
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Robert E. McGrath
25c1e28ffd [svn-r9496] Purpose:
Fix SZIP filter to dynmically detect encoder.

Description:

Solution:
See:
http://hdf.ncsa.uiuc.edu/RFC/SZIP/Szip_dynamic_12_Oct.pdf

Changes to h5repack tests, contingent on detecting SZIP encoder.


Note new program:
	testh5repack_detect_szip

Checks fo rencoder, prints out "yes" or "no".  Used by hrepack.sh
to detect encoder.  Can also be used for windows tests.  This is
only used as part of the tests.

Had to modify Makefile to build and clean this program.
2004-11-02 14:14:14 -05:00
Quincey Koziol
defe612ab2 [svn-r9370] Purpose:
Refactor code

Description:
    Refactor common code for determining the native type for using in the
tools into separate routine.

    Also, reduce diffs between the two branches and bring back some fixes from
the development branch to the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    too minor to require h5committest
2004-10-06 11:11:18 -05:00
Pedro Vicente Nunes
a5f1d15035 [svn-r8715] Purpose:
h5dump output change, new tests

Description:
the storage layout output format the storage layout output format  had some changes
same for the user defined filter
add an option (-y) for not printing the array indices (default is print indices )
the option for escaping non printable characters covers all characters (default is not escape)
(this might be not very portable, the test files are  tstring.ddl and tstringe.ddl )
add tests for the new options


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-22 09:29:21 -05:00
Pedro Vicente Nunes
78ca05e040 [svn-r8644] Purpose: h5dump new features
Description:

added the code for print strings with new line and display the path of references (new source files h5tools_ref.c and .h )
added a test suite in testh5dump.sh.in for
( note : to create testh5dump.sh , one must redo ./configure; this detects the availability of filters
and generates  testh5dump.sh accordingly)
1) storage layout
2) fill value
3) print reference with path
4) print strings with new lines
5) filters

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-10 12:35:48 -05:00
Pedro Vicente Nunes
bad5b7ec31 [svn-r8622] Purpose:
h5dump new version

Description:
added the changes already made for 1.6
support for dumping of
1) filters
2) storage layout
3) fill value
4) comments
5) superblock
6) file contents
7) array indices


Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-06-07 11:40:25 -05:00
Raymond Lu
9e9bdad5e9 [svn-r8563] *** empty log message *** 2004-05-21 10:58:53 -05:00
Pedro Vicente Nunes
931efcb5eb [svn-r8229] Purpose:
1) new function  for tools library
2) new test script for h5repack


Description:
1) currently all the tools (h5dump, h5diff, etc)  do not check if a filter is available
for reading some dataset that might have a filter not available on the current configuration (the behaviour
of the tools until now was to trigger a library error, saying that the dataset cannot be read
due to the lack of the filter)


Solution:
1) added a new function h5tools_canreadf that checks if a dataset can be read
depending on the availability of filters.
this function was added in calls for h5diff and h5repack.
instead of triggering the library error, a message is printed, saying that the dataset
cannot be read (the print is optional, it is on on verbose mode)

2) added a shell script that tests the commannd line tool behaviour of h5repack
the script does a series of runs of h5repack  with several options on the same file (this file test4.h5
was added to the testfiles dir).
then, it runs the h5diff tool, with the input and output files , in each run.
the goal of the test is also to check item 1) . the binary file was saved with filters
that might not be available on other configurations


Platforms tested:
linux (all filters enabled)
linux (some filters disabled)
solaris (some filters disabled)
AIX (some filters disabled)
windows (all filters on and off )


Misc. update:
2004-03-02 13:12:25 -05:00
Quincey Koziol
1b147875db [svn-r8151] Purpose:
Bug fix

Description:
    Fix h5tools routines to not try to call MPI_Init() unless an MPI-based
VFD is actually used.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w/parallel
    Linux 2.4 (verbena) w/parallel
2004-02-04 17:43:00 -05:00