summaryrefslogtreecommitdiffstats
path: root/test/testhdf5.h
Commit message (Collapse)AuthorAgeFilesLines
* Removes unused H5HP (private heap) package (#1548)Dana Robinson2022-03-301-1/+0
|
* More clang tidy (#908)Sean McBride2021-08-231-1/+1
| | | | | | | | | | | | | | | | | | | * Pacify clang-analyzer-unix.cstring.NullArg * Apply some bugprone-suspicious-string-compare * Apply some readability-simplify-boolean-expr * Apply some readability-make-member-function-const * Apple some bugprone-macro-parentheses * Changed an f suffix to L for `long double` * Applied some readability-uppercase-literal-suffix automatically * Committing clang-format changes Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Removes dead H5ST package from the library (#528)Dana Robinson2021-03-301-1/+0
| | | | | | | * Committing clang-format changes * Removes the unused H5ST package from the library Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Update license url (#332)Larry Knox2021-02-171-1/+1
| | | | | | * Modify temporary rpath for testing in java example scripts. * Update URL in source file Copyright headers for web copy of COPYING file - src and test directories.
* Clang-format of source filesAllen Byrne2020-09-301-125/+149
|
* Add new H5R API that abstracts object, region and attribute reference typesJerome Soumagne2019-10-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also support references to external files Add new H5T_REF type and type conversion routines Support conversion from H5T_REF_OBJ/DSET_REG to H5T_REF Add H5Treclaim() API to reclaim memory of vlen/reference types Deprecate H5Dvlen_reclaim() Fix H5T_vlen_reclaim() and H5T_reclaim() to use private callback Add H5T_ref_reclaim() Move previous H5R APIs to H5Rdeprec.c Clean up H5Ocopy Separate H5O_copy_expand_ref() to H5Ocopy_ref() Add support for copying new reference types Clean up deprecated routines to go through VOL and same code path Fix return codes in existing trefer.c test Rename trefer.c to trefer_deprec.c trefer.c is for new references Add performance test for trefer Add additional obj_copy_ref test Make use of tokens and blobs to store references Skip blob encoding for object references Start adding new reference examples
* OESS-29 Update HD prefix mostlyAllen Byrne2019-08-241-45/+45
|
* Cleanup overuse of include filesAllen Byrne2018-02-141-17/+10
|
* Changed casts to const void *Dana Robinson2017-11-271-2/+2
|
* Casted pointers to void to quiet warnings on Linux.Dana Robinson2017-11-271-1/+1
|
* Added CHECK_PTR_EQ macro to testhdf5 to quiet cast warnings on Windows.Dana Robinson2017-11-271-96/+112
|
* Fixed misc Warnings flagged by VS2017.Dana Robinson2017-11-271-0/+1
|
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* [svn-r26392] Reinstates r26327-8, which had been reverted due to failures onDana Robinson2015-03-091-0/+12
| | | | | | | | | | | | | | Solaris and OS X. Added public API functions that expose the C library's memory allocator for use in filter functions that need to allocate or resize buffers. Intended for use with filter plugins, particularly on Windows, where C runtime (CRT) issues can cause problems. Fixes: HDFFV-9100 Tested on: h5committest + OS X (quail) + Solaris (emu)
* [svn-r26331] Revert checking r 26327&8, which added new code and test that ↵Larry Knox2015-02-281-12/+0
| | | | | | fails on solaris and macs. Tested h5committest + emu and quail.
* [svn-r26327] Added public API functions that expose the C library's memory ↵Dana Robinson2015-02-271-0/+12
| | | | | | | | | | | | allocator for use in filter functions that need to allocate or resize buffers. Intended for use with filter plugins, particularly on Windows, where C runtime (CRT) issues can cause problems. Fixes: HDFFV-9100 tested on: jam (minor, localized change)
* [svn-r23260] Bug fix: HDFFV-8267Albert Cheng2013-02-121-1/+1
| | | | | | | | | | The ERROR macro had a typo of missing a separator comma. When used, it seg. fault. Added the comma back in. Fix is reviewed in Crucible HDF5-107. Tested: h5committest passed. Also tested using the ERROR macro in the Mac (Owl) platform. Before fix, it seg. fault. After fix, it prints the message as intended.
* [svn-r22758] Description:Quincey Koziol2012-09-131-1/+11
| | | | | | | | | | | | | Bring generic improvements from encode/decode property list branch to the trunk. This includes a better version of the property list comparison routine, cleaned up compiler warnings, and some cleaned up property list callbacks. Also, started on changes to clean up parallel test output, so that it doesn't report successful tests from each process. Tested on: Mac OSX/64 10.7.4 (amazon) w/debug, GCC 4.7.x, FORTRAN, C++, threadsafe and parallel Linux 2.6/32 (jam) w/debug Solaris 2.7/64 (linew) w/debug
* [svn-r18224] Description:Quincey Koziol2010-02-091-0/+9
| | | | | | | | | | | | | | | | | | | | | Bring revisions from Coverity session from hdf5_1_8_coverity branch to trunk: r18214: Issue 423: cache_ptr was not initialized. if global 'pass' was false, cache_ptr could be used. Extended scope of if(pass) block to include whole function-flush_cache(). r18215: Fix coverity item 317. Removed unreachable code in H5B2_hdr_alloc. r18216: Fixed Coverity issues 57 & 67. Checked oid_count > 0 before memory allocation and oid_list != NULL before dereferencing. Tested on: Mac OS X/32 10.6.2 (amazon) w/debug & production (daily tested on Coverity branch already)
* [svn-r18174] Bug ID 1753: added macro version of GetTestVerbosity.Albert Cheng2010-01-271-15/+9
| | | | | | | | | | | | The previous implementation did not work for WIndows. Moved the macro definition of HDGetTestVerbosity from testhdf5.h to h5test.h. Removed as much as possible macro definitions that use HDGetTestVerbosity directly. Tested: Jam (serial and parallel). Did not run h5committest since this is a trival change that is portable.
* [svn-r18154] ID 1753: added macro version of GetTestVerbosity.Albert Cheng2010-01-221-9/+16
| | | | | | | | GetTestVerbosity() is called many times during tests. Implemented a more efficient macro version HDGetTestVerbosity. Tested: Jam (serial and parallel). Did not run h5committest since this is a trival change that is portable, I am 99% sure.
* [svn-r17461] Description:Quincey Koziol2009-09-101-0/+14
| | | | | | | | | | | | | | | | | | | | | Fix a few more problems when the user block is not aligned properly. 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
* [svn-r17195] I removed H5Eprivate.h from this header file. It isn't used ↵Raymond Lu2009-07-171-1/+0
| | | | | | anywhere in the test. Tested on jam, smirom, linew, and Boeing VMS.
* [svn-r14354] Bug fix for #956 where the element coordinates went wrong for ↵Raymond Lu2007-12-201-0/+2
| | | | | | | | dataspace selection. Added a test for it, too. This round of checkin isn't well tarnished yet. I'll come back to work on Jan. 8. I'll revise it then. Tested it on kagiso, smirom, linew.
* [svn-r14144] Description:Quincey Koziol2007-09-131-6/+7
| | | | | | | | | | | | | | | | Move H5Gget_objinfo() to deprecated symbols section and retarget internal usage to H5Lget_info()/H5Oget_info(). Misc. other code cleanups... 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 2.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r13648] Description:Quincey Koziol2007-04-121-7/+7
| | | | | | | | | | Rename new error handling API routines from H5E<foo>_stack() to H5E<foo>2(). Tested on: Mac OS X/32 10.4.9 (amazon) FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty)
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | 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.
* [svn-r12902] Checkin of Shared Object Header Message work.James Laird2006-11-131-1/+2
| | | | | | | | | | | | 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.
* [svn-r12605] Description:Quincey Koziol2006-08-211-0/+3
| | | | | | | | | | | | | Break out a bunch of the misc. routines that were in src/H5.c into more specific modules. Add optimized fletcher32 checksum routine, for checksumming metadata as well as raw data. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Will test further after checkin...
* [svn-r12528] Added User-Defined links to the library.James Laird2006-08-021-0/+2
| | | | | | | | | | | | | | 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.
* [svn-r11093] Purpose:Quincey Koziol2005-07-211-0/+13
| | | | | | | | | | | | Bug fix Description: Rewrite code for mounting files to clean up layers of kludges and implement a much cleaner and more maintainable design. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r10785] Purpose:James Laird2005-05-231-0/+2
| | | | | | | | | | | | | | | | | Feature Description: Added "support" for UTF-8 character encoding. Solution: Wrote tests to check that UTF-8 can be used in a number of places in HDF5 (object names, data, etc.). These tests live in test/tunicode.c. Added a new UTF-8 character encoding for datatypes. Platforms tested: mir, modi4, heping Misc. update:
* [svn-r9778] Purpose:Quincey Koziol2005-01-081-1/+0
| | | | | | | | | | | | | | | Remove feature Description: Retire threaded, balanced binary tree code from HDF5 use. Requiescat in pace... Also, regenerate dependencies files. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Too minor to require full h5committesting (the code is already disconnected from everything except its tests)
* [svn-r9580] Purpose:Quincey Koziol2004-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | Add new internal data structure Description: Add an implementation of skip lists to the library (see comment in src/H5SL.c for references to the papers describing them) as a potential replacement for our current threaded, balanced binary tree container. Skip lists are much simpler to implement and should be faster to use. Also, added new error codes to release branch, so bump the minor version number to indicate that the library is no longer perfectly compatible with the 1.6.3 release. Platforms tested: FreeBSD 4.10 (sleipnir) w/parallel Solaris 2.7 (arabica) Too minor to require further testing (the skip lists aren't actually used by any library code yet)
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-011-78/+10
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r8707] Changed the way HDF5 handles hid_t's and added API functions to ↵James Laird2004-06-181-0/+1
| | | | allow users to register IDs and ID types at runtime.
* [svn-r8274] Purpose:Albert Cheng2004-03-231-16/+0
| | | | | | | | | | | | | | | | 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.
* [svn-r8100] Purpose:Albert Cheng2004-01-231-0/+1
| | | | | | | Added the function ParseTestVerbosity() to be shared by all programs. Platforms tested: Eirene.
* [svn-r8097] Purpose:Albert Cheng2004-01-231-1/+1
| | | | | | | | | | | Bug fix Description: C++ compilers do not like the variable name new which is a kind word for C++. Changed it to newval instead. Platforms tested: Tested in Copper which is the one complained about the name.
* [svn-r8094] Purpose:Albert Cheng2004-01-221-0/+1
| | | | | | | | | | | | | | | | 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:
* [svn-r8084] Purpose:Albert Cheng2004-01-221-12/+12
| | | | | | | | | | | | | | | | | | | 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:
* [svn-r8048] Purpose:Quincey Koziol2004-01-101-61/+54
| | | | | | | | | | | | | 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
* [svn-r8022] Purpose:Quincey Koziol2004-01-061-18/+23
| | | | | | | | | | | | | 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
* [svn-r7507] *** empty log message ***Raymond Lu2003-09-241-0/+77
|
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-10/+10
|
* [svn-r6954] Purpose:Quincey Koziol2003-06-041-9/+9
| | | | | | | | | | | | Code cleanup Description: Wrap macro parameters with parantheses to avoid errors in expanding them. Platforms tested: FreeBSD 4.8 (sleipnir) w/C++ FreeBSD 4.8 (sleipnir) w/parallel h5committested
* [svn-r6666] Purpose:Quincey Koziol2003-04-141-2/+0
| | | | | | | | | | | | | | | | Code cleanup Description: Clean up comments, etc. 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).
* [svn-r6538] Purpose:Bill Wendling2003-03-311-11/+13
| | | | | | | | | | | | | 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:
* [svn-r6435] Purpose:Quincey Koziol2003-02-241-2/+3
| | | | | | | | | | | | Code cleanup Description: Added more information to information printed for test failure. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}
* [svn-r6252] Purpose:Quincey Koziol2003-01-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Lots of performance improvements & a couple new internal API interfaces. Description: Performance Improvements: - Cached file offset & length sizes in shared file struct, to avoid constantly looking them up in the FCPL. - Generic property improvements: - Added "revision" number to generic property classes to speed up comparisons. - Changed method of storing properties from using a hash-table to the TBBT routines in the library. - Share the propery names between classes and the lists derived from them. - Removed redundant 'def_value' buffer from each property. - Switching code to use a "copy on write" strategy for properties in each list, where the properties in each list are shared with the properties in the class, until a property's value is changed in a list. - Fixed error in layout code which was allocating too many buffers. - Redefined public macros of the form (H5open()/H5check, <variable>) internally to only be (<variable>), avoiding innumerable useless calls to H5open() and H5check_version(). - Reuse already zeroed buffers in H5F_contig_fill instead of constantly re-zeroing them. - Don't write fill values if writing entire dataset. - Use gettimeofday() system call instead of time() system when checking the modification time of a dataset. - Added reference counted string API and use it for tracking the names of objects opening in a file (for the ID->name code). - Removed redundant H5P_get() calls in B-tree routines. - Redefine H5T datatype macros internally to the library, to avoid calling H5check redundantly. - Keep dataspace information for dataset locally instead of reading from disk each time. Added new module to track open objects in a file, to allow this (which will be useful eventually for some FPH5 metadata caching issues). - Remove H5AC_find macro which was inlining metadata cache lookups, and call function instead. - Remove redundant memset() calls from H5G_namei() routine. - Remove redundant checking of object type when locating objects in metadata cache and rely on the address only. - Create default dataset object to use when default dataset creation property list is used to create datasets, bypassing querying for all the property list values. - Use default I/O vector size when performing raw data with the default dataset transfer property list, instead of querying for I/O vector size. - Remove H5P_DEFAULT internally to the library, replacing it with more specific default property list based on the type of property list needed. - Remove redundant memset() calls in object header message (H5O*) routines. - Remove redunant memset() calls in data I/O routines. - Split free-list allocation routines into malloc() and calloc()- like routines, instead of one combined routine. - Remove lots of indirection in H5O*() routines. - Simplify metadata cache entry comparison routine (used when flushing entire cache out). - Only enable metadata cache statistics when H5AC_DEBUG is turned on, instead of always tracking them. - Simplify address comparison macro (H5F_addr_eq). - Remove redundant metadata cache entry protections during dataset creation by protecting the object header once and making all the modifications necessary for the dataset creation before unprotecting it. - Reduce # of "number of element in extent" computations performed by computing and storing the value during dataspace creation. - Simplify checking for group location's file information, when file has not been involving in file-mounting operations. - Use binary encoding for modification time, instead of ASCII. - Hoist H5HL_peek calls (to get information in a local heap) out of loops in many group routine. - Use static variable for iterators of selections, instead of dynamically allocation them each time. - Lookup & insert new entries in one step, avoiding traversing group's B-tree twice. - Fixed memory leak in H5Gget_objname_idx() routine (tangential to performance improvements, but fixed along the way). - Use free-list for reference counted strings. - Don't bother copying object names into cached group entries, since they are re-created when an object is opened. The benchmark I used to measure these results created several thousand small (2K) datasets in a file and wrote out the data for them. This is Elena's "regular.c" benchmark. These changes resulted in approximately ~4.3x speedup of the development branch when compared to the previous code in the development branch and ~1.4x speedup compared to the release branch. Additionally, these changes reduce the total memory used (code and data) by the development branch by ~800KB, bringing the development branch back into the same ballpark as the release branch. I'll send out a more detailed description of the benchmark results as a followup note. New internal API routines: Added "reference counted strings" API for tracking strings that get used by multiple owners without duplicating the strings. Added "ternary search tree" API for text->object mappings. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} Other platforms/configurations tested? FreeBSD 4.7 (sleipnir) serial & parallel Solaris 2.6 (baldric) serial