Commit Graph

36 Commits

Author SHA1 Message Date
Robert E. McGrath
3f0abcc71f [svn-r9494] 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 library tests, contingent on detecting SZIP encoder.
2004-11-02 14:12:06 -05:00
Albert Cheng
3c59678775 [svn-r9115] Purpose:
feature

Description:
Another revamp of the test interface.
TestInit: is used to register Test Program name, test program specific
   Usage and option parsing routines.
TestUsage: will invoke extra usage routine if provided.
TestParseCmdLine: will invoke extra option parsing routine if provided.
GetTestSummary() and GetTestCleanup() replaces the previous Summary and
CleanUp arguments of TestParseCmdLine.

test/testhdf5, test/ttsafe.c, testpar/t_mpi.c, testpar/testphdf5.c:
   All have been updated to use the new Test Routines.

testpar/t_mpi.c:
   Also a fix of a compiler optimization bug when pgcc in Linux is
   used to compile it.  Changed buf[] and expected to unsigned char
   type to avoid a bug that failed to do sign-extension.

Platforms tested:
"h5committested"
Also tested thread-safe option in eirene.
2004-08-19 01:32:47 -05:00
Albert Cheng
60412f524d [svn-r9079] Purpose:
Feature

Description:
Changed TestParseCmdLine to accept an optional extra_parse()
function provided by indidivual test application.  Extra_parse()
can handle extra options special to that test application.

Updated testhdf5.c to use the new syntax of TestParseCmdLine().

Platforms tested:
On eirene both serial and parallel.
2004-08-13 16:53:26 -05:00
Albert Cheng
7464e1fb1d [svn-r9050] Purpose:
Feature

Description:
Added a feature such that if the test name starts with '-', do not run it
by default.

Platforms tested:
Eirene both serial and parallel.

Misc. update:
2004-08-07 21:26:44 -05:00
Quincey Koziol
f88a6f8e52 [svn-r8444] Purpose:
Code cleanup

Description:
    Remove bogus "#undef NDEBUG" at top of file, which was blocking compiler
flags from setting NDEBUG properly.

Platforms tested:
    Solaris 2.7 (arabica)
    FreeBSD 4.9 (sleipnir)
    too minor to require h5committest
2004-04-30 19:11:16 -05:00
Albert Cheng
4c8f0b2463 [svn-r8298] Purpose:
Code cleanup

Description:
Added SetTest() to handle test controls.

Platforms tested:
h5committested.
2004-04-03 16:35:01 -05:00
Albert Cheng
fbbd2b9cd2 [svn-r8292] Purpose:
Feature.

Description:
Added GetTestParameters() to provide Test Parameters to
individual test programs.

Platforms tested:
"h5committested"
2004-04-01 17:51:47 -05:00
Albert Cheng
d7a5f94d66 [svn-r8289] Purpose:
Feature

Description:
Added to AddTest() a generic parameters pointer argument to
allow some extra parameters for some tests.  E.g., test file
names can be customized during runtime and passed into the
test routines.

Platforms tested:
"h5committested".
Also run compat test in eirene.
2004-03-30 18:35:16 -05:00
Albert Cheng
b45703bf89 [svn-r8274] Purpose:
Code cleanup.

Description:
The routines residing in testframe.c was defined in testhdf5.h due to
historical reason.  It really belongs to h5test.h because those routines
reside in libh55test.a.

Solution:
Moved them to the right place.  Also removed the duplicated occurance
of testframe.c in the TEST_SRC.

Platforms tested:
Tested in o2 (SGI) parallel.
2004-03-22 23:43:12 -05:00
Albert Cheng
cc17167703 [svn-r8094] Purpose:
New feature.

Description:
Added function SetTestVerbosity() so that other applications can
set the verbosity explicitedly without the whole testframe taking
over.
Added Verbose queries shorthands to make code more readable and
easier to change the levels of low, medium and high.

Platforms tested:
Eirene (both serial and parallel).

Misc. update:
2004-01-22 18:05:55 -05:00
Albert Cheng
7f5fd94b56 [svn-r8084] Purpose:
Improvement.

Description:
Verbosity level were specified by numbers which are not meaningful
and prone to typos.

Solution:
Adapted the Verbosity predefined level symbols from HDF4
and changed all numberic verbosity to symbolic values.
(Still need to convert some left over macros like MESSAGE.)

Platforms tested:
Eirene.
No h5committest since this is trivial.

Misc. update:
2004-01-22 15:57:34 -05:00
Quincey Koziol
987f5d5e4d [svn-r8048] Purpose:
Code cleanup & reorganization

Description:
    Move further in the testing framework cleanup, eliminating all the
global variables (moving them into testframe.c as static variables) from the
testing framework code and moving it into the libh5test.a.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety, c++ & parallel
    h5committested
2004-01-09 20:41:13 -05:00
Quincey Koziol
ce2b03097b [svn-r8022] Purpose:
Code cleanup

Description:
    Refactor library testing framework (used for the testhdf5 & ttsafe tests)
to remove almost all of the duplicated code, moving the common code into a
new 'testframe.c' source file.

Platforms tested:
    FreeBSD 4.9 (sleipnir) w & w/o thread-safety
    h5committest
2004-01-06 12:53:13 -05:00
Albert Cheng
89f5220d66 [svn-r8020] Purpose:
Bug fix.

Description:
Cleaned up a duplicated definition of MAXNUMOFTEST that copper could
not tolerate.

Platforms tested:
"h5committested"
2004-01-05 22:17:16 -05:00
Albert Cheng
dc458e5f6f [svn-r8017] Purpose:
Code reorg.

Description:
Move the InitTest() from individual tests (testhdf5 and ttsafe) to
libh5test (h5test.c) so that it can be shared among all tests.

Platforms tested:
Only tested in Eirene via serial with thread-safe enabled.
No other platforms test since this is pretty trivial.
2004-01-05 16:58:37 -05:00
Quincey Koziol
92f5e443f8 [svn-r7308] Purpose:
Code cleanup

Description:
    Made automatic error printing routine, h5_errors(), static.

    Passed along error stack in h5_errors()

Platforms tested:
    h5committested
2003-08-08 14:03:43 -05:00
Quincey Koziol
ed1e28ac6a [svn-r7055] Purpose:
Refactored code

Description:
    Moved duplicated "get_file_size()" function from a couple of tests into a
central location.

Platforms tested:
    FreeBSD 4.8 (sleipnir)
    h5committest
2003-06-18 15:43:39 -05:00
MuQun Yang
b0264f0c05 [svn-r6852] Purpose:
Add windows specified macro H5_TESTDLL for test routines.

Description:
See the previous CVS message.

Solution:

Platforms tested:
windows2000(will not affect other platforms)

Misc. update:
2003-05-13 09:28:09 -05:00
Elena Pourmal
8bb8876923 [svn-r6791]
Purpase:   Fortran Windows DLL support

Description: Fortran test uses functions h5_fixname and h5_cleanup from h5test.c.
             Those were not exported, and Fortran could not link while using DLLs.


Solution: Added H5_DLL to functions prototype to export them from C DLL.

Platforms tested: Windows, h5committested.

Misc. update:
2003-05-01 15:27:03 -05:00
Quincey Koziol
eb3e5b8144 [svn-r6664] Purpose:
Code cleanup

Description:
    Added macro for reporting line #'s of test failures more easily.


Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    Linux 2.4 (burrwhite) w/FORTRAN
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/parallel & FORTRAN

    (h5committest not run due to my ongoing difficulties with C++ on burrwhite).
2003-04-14 06:21:18 -05:00
Quincey Koziol
e804b4c75b [svn-r6632] Purpose:
Bug fix

Description:
    This fixes a bug in the low-level metadata caching code in the library
which could possibly lose metadata during file I/O when a lot of objects are
inserted into a group.

    This also fixes a couple of (similar) fencepost bugs in the B-tree
deletion code.

Solution:
    For the metadata bug - call the low-level driver's 'write' routine instead
of H5FD_write.

    For the B-tree bug - include the correct number of keys.

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/C++
    Linux 2.4 (burrwhite) w/FORTRAN
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel

    (h5committest is still not working for me on burrwhite)

Misc. update:
2003-04-11 11:37:18 -05:00
Bill Wendling
44022e598c [svn-r6538] Purpose:
Update

Description:
    Updated the Copyright statement

Platforms tested:
    Linux (This change is only in the comments, so I just check that the
    modules still compile)

Misc. update:
2003-03-31 12:59:04 -05:00
Quincey Koziol
1ae81a8ede [svn-r5605] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings...

Platforms tested:
    FreeBSD 4.5 (sleipnir)
2002-06-12 13:24:25 -05:00
Albert Cheng
770c707da1 [svn-r5481] Description:
Renamed pio_info_g as h5_io_info_g to better reflect its
    general purpose.
Platforms tested:
    eirene(pp)
2002-05-29 13:40:29 -05:00
Albert Cheng
c365ae1373 [svn-r5446] Purpose:
Feature
Description:
  moved the routines of setting up and dumping MPI-info object to
  test library so that it is avaiable for all tests too.
Platforms tested:
  modi4(pp), eirene (serial)
2002-05-21 13:49:44 -05:00
Albert Cheng
73683e4380 [svn-r5278] Purpose:
Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC
Description:
    configure generates many macros definitions on the fly and
    were stored in src/H5config.h which is included by H5public.h.
    But other software that uses hdf5 may also run their own configure.
    There can be a clash in macro name space.  We decided awhile ago
    to prepend all generated macros with "H5_" to avoid conflicts.
    The process has started and this commit completes it (at least attempt
    to).
Solution:
    Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to
    H5_SIZEOF_xxx and H5_HAVE_xxx).  Then H5private.h no longer includes
    H5config.h.  This cuts H5config.h away from HDF5 source code.
Pending issues:
    The module of fortran and pablo are to be resolved in a different
    commit.
Platforms tested:
    eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
2002-04-28 03:34:17 -05:00
Albert Cheng
7527ed7d6f [svn-r5218] Purpose:
New feature
Description:
    Added h5_show_hostname to display the hostname of the host in
    which the process runs.  It can help identify location of process
    in multiple processes or batch launching environments.
Platforms tested:
    Eirene (pp)
2002-04-22 12:12:14 -05:00
Bill Wendling
bfd983e7f4 [svn-r3770] Purpose:
Update
Description:
    Changed includes of the form:

            #include <hdf5_file.h>

    to

            #include "hdf5_file.h"

    so that gcc can pick them up easier without including the system
    header files since we don't care about them.
Platforms tested:
    Linux
2001-04-03 13:09:16 -05:00
Quincey Koziol
a319837a4f [svn-r3326] Purpose:
Clean up warnings
Description:
    The "FAILED" macro is defined by Windows and is causing warnings and
    potential errors when compiled on that platform.
Solution:
    Change our macro from FAILED to H5_FAILED.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-25 12:03:29 -05:00
Albert Cheng
dd4203674a [svn-r2531] Description:
The "FILENAME" declared extern in h5test.h is not always used.
    It was used in h5_cleanup to remove temporary files created
    during tests.  Not all tests codes have used this routine.
    Indeed, quite a few of test programs do "#define FILENAME ".
    Also, h5_cleanup needs to work in tandem with h5_fixname.
    h5_fixname accepts an explicite base_name argument instead
    of using the global variable FILENAME.  That is cleaner.
Solution:
    Added char *base_name[] as a new argument to h5_cleanup, in
    the same style as h5_fixname.  Removed "extern char *FILENAME..."
    from use.  Also, undo some unnecessary declaration of "char *FILENAME"
    from some tests which don't use it at all (yet).
Platforms tested:
    modi4-64(irix64), arabica(solari2.7), eirene(linux)
    (arabica could not launch tests automatically.  I had to hack
     in LD_LIBRARY_PATH to make them run.)
2000-09-09 19:08:27 -05:00
Albert Cheng
f938b6efe3 [svn-r1946] Added a the PARA-Prefix for parallel test files for the needs that
serial and parallel test files are tested in different file systems.
Added the global variable, paraprefix, so that it can be set via
command line option.
2000-01-25 23:20:36 -05:00
Robb Matzke
bdf0dbf7ed [svn-r1697] Changes since 19990915
----------------------

./src/H5public.h
	We undefine a bunch of things that could get redefined in the config
	file because some customers have applications that include headers
	from multiple packages, all of which might be using autoconf.

	Include <stdint.h> for the C9x types.

./test/h5test.h
	More flushing of stdout for when testing is redirected down a pipe.

./tools/h5ls.c
	Added a `-S' or `--simple' switch which causes the output to be
	simplified somewhat for easier parsing by other scripts. For instance,
	characters are escaped using a very simple mechanism instead of C's
	more complicated backslash notation, data doesn't have `{}' or `[]'
	characters interspersed for compound and array types, and data is
	printed with exactly one element per line.  This switch is now used by
	an HDF5-to-HTML CGI script being developed for the DMF people.

./tools/h5tools.c
./tools/h5tools.h
	The repeat threshold which controls how strings are printed when a
	character repeats a bunch of times is now settable at runtime instead
	of compile time. The default is to show all characters, like

	   "abceeeeeeeeeeeeeeeeeeeeeeeeeeeeeefgh"

	But if you set it to something like 5 then any sequence of 5 or more
	characters is replaced by something shorter, like:

	   "abc" 'e'x30 "fgh"	  or

	Added an `str_locale' property which describes how to escape special
	characters in strings. The default is C-like escapes but an
	alternative is ESCAPE_HTML which replaces all non-alphanumeric
	characters with a 3-character HTML escape of the form `%XX'

	Fixed a bug where empty strings didn't even have the quote characters
	printed. Now empty strings show up as `""' instead of absolutely
	nothing.

	Added a `per_line' property which controls the maximum number of
	elements which will appear per line of output. The default is infinity
	but in practice the right margin causes line breaks. By setting the
	`per_line' value to one and the right margin to a very large value one
	can achieve output with exactly one element per line.
1999-09-30 11:14:14 -05:00
Robb Matzke
1c0597aa74 [svn-r1347]
Changes since 19990614
----------------------

./src/H5D.c
	Changed the way the plist_id argument of H5Dvlen_reclaim() is
	checked so that it's more specific and works when debugging is
	turned off.

./src/H5TB.c
	Removed an unused local variable.

./test/fillval.c
./test/h5test.c
./test/h5test.h
	Changed `basename' variables to `base_name' to prevent a
	warning about a global with the same name.

./tools/h5ls.c
	Changed `indent' variables to `ind' to prevent a warning about
	a global with the same name.

./tools/h5toh4.c
	Commented out declarations for things that normally appear in
	system header files since our definitions might be
	incompatible with the system and prevent h5toh4 from
	compiling.  If all looks good on other systems then we can
	permanently remove these declarations...
1999-06-15 09:58:25 -05:00
Robb Matzke
43c356f93d [svn-r1184] Changes since 19990402
----------------------

./config/commence.in
./config/conclude.in
./test/Makefile.in
./tools/Makefile.in
	Fixed so private libraries are not installed publicly.

	The installation directories `bin', `include', and `lib' are
	created mode 755.

./src/H5.c
./src/H5A.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Vprivate.h
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
./test/chunk.c
./test/dsets.c
./test/dtypes.c
./test/h5test.c
./test/overhead.c
./test/ragged.c
./test/tattr.c
./tools/h5dump.c
./tools/h5findshd.c
./tools/h5ls.c
	Changed `__unused__' to `UNUSED' to fix a conflict with GNU
	header files.

./src/H5Tpkg.h
./test/h5test.h
	Removed __unused__ from forward function declarations.

./src/H5P.c
	Removed a comment about restrictions for the type conversion
	temporary buffers. Thanks to Quincey, the comment no longer
	applied.

./src/H5T.c
	Relaxed the H5Tpack() a little so it would pack compound data
	structures that had non-transient atomic members.

./tools/h5ls.c
	Added a `-g' (or `--group') flag that causes information to be
	printed about the specified group instead of the group's
	contents. (sort of like Unix's `ls -d'). The `-g' can be used
	in combination with `-r' to print information about the group
	and its contents.
1999-04-15 14:57:50 -05:00
Robb Matzke
4354606d1e [svn-r949] Changes since 19981124
----------------------

./src/H5T.c
	Fixed a typo in the registration of the `unsigned char' to
	`unsigned long long' type conversion that caused it to not be
	registered, falling back to software whenever that conversion
	path was taken.

./MANIFEST
./test/Makefile.in
./test/testhdf5.c
./test/testhdf5.h
./test/theap.c		[REMOVED]
./test/lheap.c		[NEW]
./test/tohdr.c		[REMOVED]
./test/ohdr.c		[NEW]
./test/tstab.c		[REMOVED]
./test/stab.c		[NEW]
	Removed the `t' from the front of these names and made each
	test a stand-alone program following the format of most of the
	other tests.

./test/big.c
	Uses libh5test.a but always sets the low-level driver to 1GB
	file family.

	The `#if' near the top to set the data space to 8GB has been
	simplified now that `long_long' is always defined and the
	error message is improved when `long_long' isn't wide enough.

	Cleanup code was added to the error handling.

./test/gheap.c
./test/istore.c
	Uses libh5test.a.  Added error cleanup code.

./test/dtypes.c
./test/h5test.c
	Added 68 new tests that check hardware and software
	conversions between `long long' and `unsigned long long' and
	the other integer types.  The tests only run on machines where
	sizeof(long_long)!=sizeof(long).  We test a total of 180
	different integer conversions, half in hardware and half in
	software.

	Cut down the number of times each test is run from 5 to 1 so
	it doesn't take so long.  If you want to run more times
	there's a constant that can be changed at the top of the file.

./test/extend.c
	Removed unused variable.

./test/h5test.c
./test/h5test.h
./test/external.c
./test/fillval.c
	The h5_cleanup() returns true/false so it can be used in an `if'
	statement to clean up additional files.

./doc/html/Environment.html
	Indented.  Added HDF5_PREFIX and HDF5_DRIVER descriptions.

./src/H5P.c
	Changed the trace type for the second argument from `Iu' to
	`x' since it's an output parameter.

./INSTALL
	Added a warning that the GNU zlib that comes with the latest
	version of HDF4 is too old to use with HDF5 and must be
	renamed so configure doesn't see it when `--enable-hdf4' is
	used.
1998-11-25 09:58:22 -05:00
Robb Matzke
7488c6366e [svn-r936] Changes since 19981119
----------------------

./src/H5.c
./src/H5A.c
./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5E.c
./src/H5F.c
./src/H5Farray.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5HG.c
./src/H5HL.c
./src/H5I.c
./src/H5Iprivate.h
./src/H5MF.c
./src/H5MM.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5S.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5Sselect.c
./src/H5T.c
./src/H5TB.c
./src/H5Tbit.c
./src/H5Tconv.c
./src/H5V.c
./src/H5Z.c
./src/H5detect.c
./src/H5private.h
	Most of these changes are because the `interface_initialize_g'
	variable change from hbool_t to int.  It's a one line change.

	Changed the way the library is closed so we have more control
	over the order the interfaces are shut down.  Instead of
	registering an atexit() function for every interface in some
	haphazard order we just register one: H5_term_library() which
	then calls the H5*_term_interface() functions in a
	well-defined order.

	If the library is closed and then reopened repeatedly by
	calling H5close() and H5open() in a loop we only add one copy
	of the library termination functions with atexit().

	Termination is a two-step process in order to help detect
	programming errors that would cause an infinite loop caused by
	the termination of one interface waking up some other
	previously terminated interface.  The first step terminates
	the interface and *marks it as unusable*.  After all
	interfaces are terminated then we mark them all as usable
	again.  The FUNC_ENTER() macro has been modified to return
	failure or to dump core (depending on whether NDEBUG is
	defined) if we try to call an interface while it's shutting
	down.

./src/H5.c
	The H5dont_atexit() function returns failure if it's called
	more than once or if it's called too late.  However, the error
	stack is not automatically printed on failure because the
	library might not be initialized yet

./test/chunk.c
./test/flush1.c
./test/flush2.c
./test/iopipe.c
./test/overhead.c
./test/ragged.c
	Changed the extra cast for Win32 so we do floating point
	division again -- it was just confusion about precedence and
	associativity of casting and the C coercion rules. Removed
	extra carriage returns inserted by broken operating system.

./src/H5Ffamily.c
	Fixed an bug where H5F_fam_write() lowered the EOF marker for
	one of the family members causing H5F_fam_read() to read
	zeros.

./test/h5test.h		[NEW]
./test/h5test.c		[NEW]
./test/Makefile.in
./test/bittests.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/external.c
	Support library for test files.  This isn't done yet but
	Katie's contractions are ~10 minutes apart so I figured I
	better back this stuff up just in case I'm not here next
	week...

	Eventually all test files will understand HDF5_DRIVER to name
	the low level file driver and parameters so we can easily test
	various drivers.  They will also understand HDF5_PREFIX to
	prepend to the beginning of file names which is necessary for
	testing ROMIO with various drivers. Also, the cleanup function
	will know how to use the file name prefix and will understand
	different file driver naming schemes like file families. I'm
	not sure they'll understand the `gsf:' type prefixes yet.

	Note, the external test is completely commented out because
	I'm in the middle of modifying it.  It will still compile and
	run but it doesn't test anything at the moment.
1998-11-20 22:36:51 -05:00