summaryrefslogtreecommitdiffstats
path: root/test/ttsafe.c
Commit message (Collapse)AuthorAgeFilesLines
* Update Copyright headers. (#2534)Larry Knox2023-03-131-1/+0
|
* clang 13 format #1933 (#1939)Allen Byrne2022-07-271-1/+1
|
* Brings the thread-safety recursive writer locks to 1.12 (#466)Dana Robinson2021-05-141-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First cut at replaceing the existing mutex with a recursive R/W lock. This implementation has the following issues: 1) pthreads implementation only -- we still need a windows version. 2) must investigate thread cancelation issues 3) Error reporting is very poor. I followed the error reporting on the existing thread safe code, but this should be re-visited and improved. Code is currently setup to use the new recursive R/W lock instead of the global mutex to control entry to the library in threadsafe builds. To revert to the global mutex, set H5TS__USE_REC_RW_LOCK_FOR_GLOBAL_MUTEX in H5TSprivate.h to FALSE. Added a reasonably robust regression test for the reursive R/W lock in test/ttsafe_rec_rw_lock.c Note that the change to hl/src/H5LTanalyse.c is an artifact of clang-format. Tested serial threadsafe debug and production on jelly, and also regular serial / debug. On Windows builds, the new recursive R/W lock should not be built and we should use the existing global mutex -- however this is not tested at this time. * Updates CMake to build recursive RW lock test * Updates to allow building on Windows * Moves #if statements to better protect non-RW lock code * Adds configure and CMake options for the recursive RW locks * Committing clang-format changes * Updates RELEASE.txt and the build options * Renames H5TS RW lock things * Makes struct members platform independent Also removes _ptr from identifiers * Partial thread-safety RW locks platform independence * Committing clang-format changes * Pthreads side of things is platform-independent now * Formatted source * Added Windows equivalents for some Pthreads calls * Rename H5TS takedown call to destroy * Reorg of RW lock code * Committing clang-format changes * Changes to Pthreads code after development on Visual Studio * Moves stats macros to static inline functions and tidies memory allocs * Converts RW lock print stats call to use C99 formatting * Fixes typos * Formatted source * Updates the RELEASE.txt note to indicate no Win32 threads support Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Hdf5 merge issue 435 (#460)Larry Knox2021-03-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Snapshot version 1.12 release 1-3. Update version to 1.12.1-4. * First cut of the H5 public API documentation. (#80) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Full set of current H5F documentation. (#105) * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch. * Migrated documentation for SWMR functions. * Catching up on MDC functions. * Integrated the H5F MDC function documentation. * Added MDC and parallel H5F functions. * Slightly updated main page. * Added doxygen/dox/H5AC_cache_config_t.dox to MANIFEST. * Doxygen - added (mostly) beginner functions (#112) * Doxygen - added (mostly) beginner functions * Removed duplicate H5Pset_szip function * Add src/H5module.h to MANIFEST. * close #195. (#196) * Update HDF5PluginMacros.cmake * Update HDF5PluginMacros.cmake * Avoid aligned access for references by decoding into temporary buffer and then copying the result into the actual buffer. Update test to be more thorough with using compound datatype fields everywhere. (#206) * Modify temporary rpath for testing in java example scripts. (#230) * Fix undefined left shifting of negative numbers (#338) Undefined Bahavior Sanitizer errored here about left shifting negative numbers. * Fixes various warnings noticed on Windows (#425) * Fixes various warnings noticed on Windows - Adds a prototype for our implementation of vasprintf - Return type of H5_get_utf16_str() is now non-const - Fixes possible uninitialized return type in Wremove_utf8 - Better isolation of fork() code in accum.c:test_swmr_write_big() - Better isolation of non-zlib code in dsets.c:test_filter_delete() - Removed unused variable in trefer.c:test_reference_cmpnd_obj() * Fixes clang-format issues * Fixed clang-tidy readability-misleading-indentation warnings (#427) * Fixed clang-tidy readability-misleading-indentation warnings * Reformatted src/H5Zscaleoffset.c with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Fixed clang-tidy readability-redundant-control-flow warnings (#428) * Fixed clang-tidy readability-redundant-control-flow warnings Just removed useless trailing return statements. * Removed blank lines from h5diffgentest.c with clang-format v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * Removed bad function pointer casts (#434) * Removed bad function pointer casts In one case fixed the actual function signature to be correct. * Reformat source with clang v10.0.1. Co-authored-by: Larry Knox <lrknox@hdfgroup.org> * fix block coordinate printing example (#437) Co-authored-by: Gerd Heber <gheber@hdfgroup.org> Co-authored-by: bljhdf <58825073+bljhdf@users.noreply.github.com> Co-authored-by: H. Joe Lee <hyoklee@hdfgroup.org> Co-authored-by: Quincey Koziol <quincey@koziol.cc> Co-authored-by: Sean McBride <sean@rogue-research.com> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: Mike Smith <grimbough@gmail.com>
* Update URL in source file Copyright headers for web copy of COPYINGLarry Knox2021-02-201-1/+1
| | | | file - src and test directories.
* 1 12 Whitespace changes after clang-format run (#288)Allen Byrne2021-01-291-1/+1
| | | | | | | | | | | | | | | | | | | | | * OESS-98 fix tools test for plugins * sync fork * Merge of changes from dev * Move problem option to bottom of the list until fixed * HDFFV-11106 - fix parsing optional args * HDFFV-11106 add note * grammer fix * Whitespace after clang formatting * Undo format version 11 changes * Update check to working version
* Basic alignment with async branch (#115) (#137)Quincey Koziol2020-11-301-1/+1
| | | | | | | * Basic alignment with async branch - trivial changes to reduce clutter in overall diff. * Update minor error code to reflect change within library * Update the error output to match library
* Manual sync with develop (#95)Dana Robinson2020-11-171-1/+1
| | | | Brings all features from develop. Note that RELEASE.txt has not been updated (will be done in a future PR).
* Source formattedAllen Byrne2020-10-011-21/+21
|
* Merge pull request #2693 in HDFFV/hdf5 from ↵Vailin Choi2020-07-211-0/+1
| | | | | | | | ~VCHOI/my_third_fork:bugfix/HDFFV-11080-heap-use-after-free-by-the-call to develop * commit '3023b34272cc6ada84aebfa7441a6a55afa3621c': Update MANIFEST. Add new test to Cmake. Fix for jira issue HDFFV-11080: (1) Patch up the file pointer when reading attribute of variable length datatype (2) Test to verify the fix when doing multiple threads
* Whitespace updatesAllen Byrne2020-05-131-1/+1
|
* Updated the threadsafety test to use error macros insteadDana Robinson2018-05-141-7/+1
| | | | of asserts.
* 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-r30201] Description:Quincey Koziol2016-07-181-0/+3
| | | | | | | | | Switch test framework to dynamically allocate the testing array, and expand the length of the description field. Tested on: MacOSX/64 10.11.5 (amazon) w/serial & parallel (h5committest forthcoming)
* [svn-r30113] Description:Quincey Koziol2016-06-281-1/+1
| | | | | | | | Clean up warnings (from 2774 -> 1560, with my standard debug build) Tested on: MacOSX/64 10.11.5 (amazon) w/serial, parallel & production (h5committest forthcoming)
* [svn-r27587] Added a new API call (H5is_library_threadsafe) to the library. ↵Dana Robinson2015-08-261-8/+35
| | | | | | | | | | This call can be used to determine at runtime if the library was built with thread-safety. Fixes HDFFV-9496 Tested on: h5committest
* [svn-r24256] Description:Quincey Koziol2013-10-041-39/+41
| | | | | | | | Clean up warnings Tested on: Mac OSX/64 10.8.4 (amazon) w/C++ & FORTRAN (too minor for h5committest)
* [svn-r19367] Purpose:Mike McGreevy2010-09-101-5/+8
| | | | | | | | | | | | | | | | | | | Add windows threads support to HDF5. Description: Added calls to the windows threads library to the H5TS layer, and wrapped most calls to either pthreads or windows threads library with portable H5TS-style defines. Modified tests to use portable function definitions as well. This can be configured via CMake with the HDF5_ENABLE_THREADSAFE option, and should work on windows vista and later operating systems. Tested: h5committest, plus threadsafe with pthreads on jam and amani, and tested on a Windows Vista VM with threadsafe using windows threads.
* [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-r11245] Purpose:Quincey Koziol2005-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | 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
* [svn-r9115] Purpose:Albert Cheng2004-08-191-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* [svn-r9086] Purpose:Albert Cheng2004-08-141-1/+1
| | | | | | | | | | Bug fix Description: Updated it to use the new TestParseCmdLine() syntax. Platforms tested: "h5committested" and in eirene with threadsafe enabled.
* [svn-r8289] Purpose:Albert Cheng2004-03-301-4/+4
| | | | | | | | | | | | | | 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.
* [svn-r8048] Purpose:Quincey Koziol2004-01-101-8/+2
| | | | | | | | | | | | | 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-232/+33
| | | | | | | | | | | | | 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-r8018] Purpose:Albert Cheng2004-01-051-2/+0
| | | | | | | | | | | | | | | Fixed a dumb mistake. Description: Other tests barked at the changes. Solution: Move the declaration of Index and Test[] into h5test.c. Platforms tested: Tested in eirene. Misc. update:
* [svn-r8017] Purpose:Albert Cheng2004-01-051-32/+4
| | | | | | | | | | | | 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.
* [svn-r7520] Purpose: bug fixRaymond Lu2003-09-291-0/+4
| | | | | | | | | Description: add backward compatibility for thread safety Platforms tested: RH 8(fuss) Misc. update:
* [svn-r7309] Purpose:Quincey Koziol2003-08-081-5/+2
| | | | | | | | | | Enable test Description: Re-enabled error API testing Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-3/+6
|
* [svn-r7109] Purpose:Quincey Koziol2003-06-261-1/+1
| | | | | | | | | | | Code cleanup Description: Clean up varios compiler warnings flagged by SGI compiler and gcc 3.3 Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [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-r4355] Purpose:Quincey Koziol2001-08-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | Code cleanup (sorta) Description: When the first versions of the HDF5 library were designed, I remembered vividly the difficulties of porting code from a 32-bit platform to a 16-bit platform and asked that people use intn & uintn instead of int & unsigned int, respectively. However, in hindsight, this was overkill and unnecessary since we weren't going to be porting the HDF5 library to 16-bit architectures. Currently, the extra uintn & intn typedefs are causing problems for users who'd like to include both the HDF5 and HDF4 header files in one source module (like Kent's h4toh5 library). Solution: Changed the uintn & intn's to unsigned and int's respectively. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r3770] Purpose:Bill Wendling2001-04-031-1/+2
| | | | | | | | | | | | | | | | | 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
* [svn-r3677] Purpose:Albert Cheng2001-03-201-4/+0
| | | | | | | | | | | | | Bug fix (sort of) Description: The RCSID string in H5public.h was causing the C++ code problem as it was included multiple times and C++ did not like multiple definitions of the same static variable. Solution: Since we don't really make use of the RCSID strings as we have not installed it in all source files, we decided to remove it. Platforms tested: eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
* [svn-r2533] Rolled back the changes I committed since Albert fixed the ↵Bill Wendling2000-09-111-4/+0
| | | | | | problem with FILENAME being extern global...
* [svn-r2532] Added a trivial FILENAME definition to those programs linked withBill Wendling2000-09-111-0/+4
| | | | h5test.o, which requires the definition to work...
* [svn-r2531] Description:Albert Cheng2000-09-101-4/+0
| | | | | | | | | | | | | | | | | | | 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.)
* [svn-r2528] Linking errors occured with these files. They link with ↵Bill Wendling2000-09-081-1/+4
| | | | | | | libh5test, but libh5test wants FILENAME to be defined. I have no clue why this was working before...
* [svn-r2287] Changed ttsafe_* test files so that they create their own HDF5 ↵Bill Wendling2000-05-191-257/+274
| | | | | | | | file (they were only creating one for all of them). Also changed so that, if they got an error, it actually specifies that the tests failed on the screen instead of succeeded ;-)
* [svn-r2264] Added Thread-safe feature. This is the phase 1 implementationChee-Wai Lee2000-05-181-0/+334
that all HDF5 API functions are protected by a mutex lock. Basically, serialized all API calls. To use it, use configure --enable-threadsafe --with-pthread