Commit Graph

49 Commits

Author SHA1 Message Date
Allen Byrne
145f1ce9e3 [svn-r24104] HDFFV-8345: add User Defined filters to h5repack.
Reviewed in H5T-61

Tested: local linux - cmake and autotools
2013-09-06 10:15:50 -05:00
Allen Byrne
68dd16d8f0 [svn-r24066] Eliminate switch default warning by printing err message. 2013-08-23 15:02:32 -05:00
Allen Byrne
df6c92e506 [svn-r22004] Reduced warnings and fixed conflicts resulting from including h5tools.h
Tested: local linux
2012-02-28 13:26:34 -05:00
Jonathan Kim
2f60f82453 [svn-r20005] Purpose:
Clean up tool code. 
    Remove "h5test.h" from tool code. Currently only in h5repack.

Tested:
 jam (linux32-LE), amani (linux64-LE), heiwa (linuxppc64-BE), linew (solaris-BE)
2011-01-26 16:05:57 -05:00
Allen Byrne
68fa42f336 [svn-r18759] pull r18757 from 1.8 branch
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 error_mesg() and warn_mesg() to remove progname argument and use get functions

Tested:
   Windows, linux
2010-05-11 15:10:25 -05:00
Quincey Koziol
fd547cd11f [svn-r18413] Description:
Unify srcdir handling for test executables and allow them to use the srcdir
setting from configure time without requiring the 'srcdir' environment variable
be set (although you still can, to override the built in setting).  Attempted
to get this right for Windows builds also.

    Also add dependency between src/H5Tinit.c and src/libhdf5.settings, so
that the test/testcheck_version.sh script works correctly.

Tested on:
    Linux/32 2.6 (jam)
    Mac OS X/32 10.6.2 (amazon)
2010-03-17 16:38:20 -05:00
Quincey Koziol
fd70b2afa8 [svn-r18197] Description:
Trim trailing whitespace from source code files with this 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:29:13 -05:00
Quincey Koziol
37ec6dc75e [svn-r17582] Description:
Bring changes from file free space branch back to the trunk.  *yay!*

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/default API=1.8.x,
                w/C++ & FORTRAN, w/threadsafe, in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers, w/default API=1.6.x,
                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in debug mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.5.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                in production mode
2009-10-01 21:08:59 -05:00
Quincey Koziol
ee383d182f [svn-r17553] Description:
Bring general fixes/improvements from file_free_space branch back to
trunk.

Tested on:
        FreeBSD/32 6.3 (duty) in debug mode
        FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (jam) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
                                w/C++ & FORTRAN, in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
        Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
        Mac OS X/32 10.5.8 (amazon) in debug mode
        Mac OS X/32 10.5.8 (amazon) w/C++ & FORTRAN, w/threadsafe,
                                in production mode
2009-09-29 15:08:01 -05:00
Pedro Vicente Nunes
98d6ce7de1 [svn-r17076] bug fix: h5repack was not applying a requested contiguous layout for a dataset with filters
added a test to the C program test (not to the script), that verifies the layout and filters

tested: windows (development and tested manually) , linux, solaris
2009-06-17 13:32:04 -05:00
Pedro Vicente Nunes
443e2e355a [svn-r16656] #1402 (B1) h5repack does not preserve creation order indexing.
ISSUE : h5repack does not handle group creation order flags. 
ACTION: call H5P(g)(s)et_link_creation_order functions when handling groups, add new groups with these flags to the test generation program, and verify results in the test program. 
TEST: in the test program, function that compares property lists, added code to verify groups

tested: windows, linux, solaris
2009-04-02 15:17:10 -05:00
Pedro Vicente Nunes
6eb624a09d [svn-r15653] cleaned warnings
tested: windows, linux
2008-09-18 13:08:04 -05:00
Quincey Koziol
bdd7d59902 [svn-r15628] 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 10:52:51 -05:00
Pedro Vicente Nunes
20c5484440 [svn-r14379] add check of some values for the nbit and scale offest filters on the h5repack verify function
note: some sybols were made public

tested: windows, linux
2008-01-07 14:16:29 -05:00
Pedro Vicente Nunes
6d53c1882b [svn-r14376] moved a couple more private filter symbols to the public side, needed by h5repack
tested: windows, linux
2008-01-04 14:52:19 -05:00
Pedro Vicente Nunes
ba709fe871 [svn-r14366] comments grammar correction 2008-01-03 15:03:38 -05:00
Pedro Vicente Nunes
5aab9089de [svn-r14365] Add szip filter check of client data values for has_filters.
NOTE: szip client symbols were made public

Tested: windows, linux, solaris
2008-01-03 14:59:25 -05:00
Pedro Vicente Nunes
7e1d390491 [svn-r14360] New function has_filters (replace has_filters for each object and for global filters): verify if all requested filters in the array FILTER obtained from user input are present in the property list PID obtained from the output file. All the filter comparison of client data values is done here instead of the previous filtcmp
TO DO: szip, nbit and scale offset
NOTE: the symbol H5Z_SHUFFLE_TOTAL_NPARMS was made public

Tested: windows, teragrid with icc 8.1, linux (kagiso), solaris (linew)
2008-01-02 14:40:20 -05:00
Pedro Vicente Nunes
491971980d [svn-r14355] uncomment previously commented code regarding nbit and scale-offset filter adding
changed the logic of the filter compare function to first compare filter type, then filter client data values (separate here in each individual case, since some filters return private filter values. Todo: handle the nbit and scale-offest cases)

tested: windows, linux
2007-12-20 16:31:34 -05:00
Pedro Vicente Nunes
6036ac9b30 [svn-r14346] New feature: has_filters_obj function that checks if filters match for each individual dataset
Following the new feature of h5repack to allow multiple filters for all datasets and the new function has_filters that checks if the repacked file has all the filters requested, I added a new function

has_filters_obj

that does the same for each dataset. The previous function that checked this only ckecked if the user input filters were in the output dataset. This new function does this but checks if the filters are exactly the same. Currently the behavior of h5repack is to delete all filters that are present in the input file (dataset) and replace them with the requested ones, so they must match exactly.

We might consider adding other logical operations, like keep the existing ones.

Additionally , the function also checks if the filter parameters match.

While doing this I noticed that for the shuffle filter , the values returned do not match and also the same for the N-bit and scale-offset

The new function that checks for the filter values fails then, and so I commented the h5repack tests that do this for the N-bit and scale-offset filter (previously for the same bug on the shuffle filter I added special code on the compare filter function but this is temporary until I find the issue)

tested: windows, linux, solaris
2007-12-14 16:38:23 -05:00
Pedro Vicente Nunes
a5ba6ac397 [svn-r14320] Added a function that matches the filters on the dataset's DCPL and in the requested list
Used to verify if the filters requested are present in the output dataset

tested: windows, linux, solaris
2007-12-04 14:59:54 -05:00
Pedro Vicente Nunes
46e3f4ad7e [svn-r14317] code maintenance: code cleaning and reorganizing of the h5repack verify routines
tested: windows, linux
2007-12-03 13:55:32 -05:00
Pedro Vicente Nunes
1b645ffd91 [svn-r14299] new feature: add support for h5repack to handle several global filters
usage is to repeat the -f option

tested: windows, linux, solaris
2007-11-28 15:30:43 -05:00
Quincey Koziol
13c484162c [svn-r14206] Description:
Make H5Pget_filter API versioned and switch internal usage to
H5Pget_filter2.

	Add regression test for H5Pget_filter1.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-17 07:48:04 -05:00
Quincey Koziol
16683943c6 [svn-r14193] Description:
Make H5Dopen versioned and change all internal usage to use H5Dopen2

	Add simple regression test for H5Dopen1

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-10-08 14:59:36 -05:00
Quincey Koziol
68c01f91d9 [svn-r14154] Description:
Finish deprecating last H5G symbol (H5G_obj_t) - yay!

	Lots of misc. library fixes to remove confusion between links and
objects.  The tools could still use another pass, to remove h5trav_type_t type
and make the correct distinction between links & objects.

Tested on:
        FreeBSD/32 6.2 (duty) in debug mode
        FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode
        Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
                                in debug mode
        Linux/64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN,
                                in production mode
        Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
                                w/szip filter, in production mode
        AIX/32 5.3 (copper) w/FORTRAN, w/parallel, in production mode
        Mac OS X/32 10.4.10 (amazon) in debug mode
2007-09-25 17:18:33 -05:00
Quincey Koziol
ea343ef854 [svn-r14115] Description:
Remove all plain calls to H5Gopen() from source, replacing them with
either H5Gopen2().

	Add test for H5Gopen1().

	Reformatted several pieces of code, to clean them up.

Tested on:
	FreeBSD/32 6.2 (duty)
	FreeBSD/64 6.2 (liberty)
	Linux/32 2.6 (kagiso)
	Linux/64 2.6 (smirom)
	Solaris/32 5.10 (linew)
	Mac OS X/32 10.4.10 (amazon)
2007-08-28 10:02:54 -05:00
Pedro Vicente Nunes
1d312bff80 [svn-r13589]
h5repack code cleaning (required reconfigure)

tested: linux (32, 64, parallel), solaris
2007-04-04 15:25:42 -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
8040a0f381 [svn-r12928] code revision 2006-11-16 15:38:05 -05:00
Pedro Vicente Nunes
5df5ee8956 [svn-r12720]
added output of error messages using the tools library function error_msg, that prints the program name and error on the message

tested: kagiso
2006-10-05 09:35:40 -05:00
Pedro Vicente Nunes
26e1b18a57 [svn-r12159] Purpose:
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:
2006-03-27 15:09:01 -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
4cb6c01d7f [svn-r8904] Purpose:
h5diff and h5repack changes

Description:
h5diff
introduced the following four modes of output:
 Normal mode: print the number of differences found and where they occured
  Report mode: print the above plus the differences
   Verbose mode: print the above plus a list of objects and warnings
    Quiet mode: do not print output (h5diff always returns an exit code of 1 when differences are found)

    h5repack
     added an extra parameter for SZIP filter (coding method)
     the new syntax is
     -f SZIP=<pixels per block,coding>
     (pixels per block is a even number in 2-32 and coding method is 'EC' or 'NN')
     Example of use:
     ./h5repack -i file1 -o file2 -f SZIP=8,NN -v

     updated usage messages, test scripts and files accordingly




Solution:

Platforms tested:
linux
AIX
solaris

Misc. update:
2004-07-20 14:21:03 -05:00
Pedro Vicente Nunes
bc6ab7c0a6 [svn-r8869] Purpose:
h5repack changes

Description:
there were some requests to change some minor h5repack features
h5repack only made a warning about a non available filter in verbose mode ( -v )
without -v it kept silent, and users sometimes missed this warning

the request was that it should print this warning always. so, the new format, is e.g

./h5repack -i test_szip.h5 -o out.h5
Warning: dataset </dset_szip> cannot be read, SZIP filter is not available


due to this, and to avoid a lot of these messages in the shell test script, I modified
the script h5repack.sh so that it detects the presence of all filters in the environment
(previously it only detected SZIP)
the test files were also divided in more files , to make the script code easier to
follow


Solution:

Platforms tested:
linux
AIX (no szip)
solaris (no szip, no gzip )

Misc. update:
2004-07-13 14:09:41 -05:00
James Laird
eab58732d8 [svn-r8781]
Purpose:
HDF5 now supports SZIP with no encoder.

Description:
SZIP can be configured to have both encoder and decoder or just to have the decoder.  HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled.

Solution:
Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id.  See SZIP RFC.

Platforms tested:
Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++)

Misc. update:
2004-07-01 12:38:04 -05:00
Quincey Koziol
0a29514b9d [svn-r8383] Purpose:
Code cleanup

Description:
    Clean up lots of warnings based on those reported from the SGI compilers
as well as gcc.

Platforms tested:
    SGI O3900, IRIX64 6.5 (Cheryl's SGI machine)
    FreeBSD 4.9 (sleipnir) w/ & w/o parallel
    h5committest
2004-04-17 23:10:09 -05:00
Pedro Vicente Nunes
6f711ab4cb [svn-r8318] Purpose:
new tests for h5repack

Description:
added tests that do layout type to layout type conversion in a matrix of 9 between compact, contiguous and chunking

Solution:

Platforms tested:
linux
afs has problems; I could not telnet to sol and copper, arabica is really slow (meaning
waiting 1 minute for a typed character) and the writing of a file gave an error
arabica 181% afs: failed to store file (145)
afs: failed to store file (145)



Misc. update:
2004-04-07 16:36:15 -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
Pedro Vicente Nunes
203799486d [svn-r8123] Purpose:
added more tests for szip and more verbose output

Description:

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-29 10:04:32 -05:00
Pedro Vicente Nunes
afc3563b76 [svn-r8113] Purpose:
new library function H5Pdelete_filter
deletes one or all filters from a dataset creation property list
this was done for the NONE option of h5repack, added tests for this feature
added a test for the new function in /test/dsets.c


Description:

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-26 18:20:20 -05:00
Pedro Vicente Nunes
5112a79d81 [svn-r8068] Purpose:
changed the text of a error message related to the fail of H5Fopen to " unable to open file "

Description:

Solution:

Platforms tested:
linux (small change )

Misc. update:
2004-01-15 11:48:48 -05:00
Pedro Vicente Nunes
7f7fbb4718 [svn-r8062] Purpose:
bug fix

Description:
cases of rank 0 were not handled, now a warning is made that the dataset cannot be compressed

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-14 15:09:44 -05:00
Pedro Vicente Nunes
be7ebb248f [svn-r8040] Purpose:
bug fix, code improvment

Description:
fixed a bug in the parse of chunking function
added some auxiliary functions to avoid repeated parts of the code in several places

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-08 10:53:32 -05:00
Quincey Koziol
feaa5bb9d5 [svn-r8038] Purpose:
Bug fix

Description:
    When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values.  This causes problems
when the raw information contains pointers to other information.

Solution:
    Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
    This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-01-08 09:55:11 -05:00
Pedro Vicente Nunes
68607efcd1 [svn-r8021] Purpose:
h5repack new features

Description:
added support/tests for multi filters

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2004-01-06 12:49:00 -05:00
Pedro Vicente Nunes
738e808d26 [svn-r7999] Purpose:
h5repack new features

Description:
added support/ tests for contiguous and compact layout processing

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2003-12-31 09:00:36 -05:00
Pedro Vicente Nunes
d8531b8482 [svn-r7997] Purpose:
h5repack new features

Description:
added support for layout options

Solution:

Platforms tested:
linux
solaris
AIX

Misc. update:
2003-12-30 17:59:33 -05:00
Pedro Vicente Nunes
f503a72491 [svn-r7994] Purpose:
h5repack new features

Description:
added checking routines for the filters that were applied to the output file
added tests for szip filter

Solution:

Platforms tested:
linux
solaris

(IRIX is not available)
:

Misc. update:
2003-12-29 15:26:21 -05:00