diff options
author | Dana Robinson <43805+derobins@users.noreply.github.com> | 2022-08-05 23:11:13 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-05 23:11:13 (GMT) |
commit | b22984600a04120088f59bb5876c9d5258fd64b7 (patch) | |
tree | 9324ab3744739b1b10b5e35a659dbe32edd51baa /test | |
parent | 54f116b42db2d2aabd6fdb58cebb99f04f106310 (diff) | |
download | hdf5-b22984600a04120088f59bb5876c9d5258fd64b7.zip hdf5-b22984600a04120088f59bb5876c9d5258fd64b7.tar.gz hdf5-b22984600a04120088f59bb5876c9d5258fd64b7.tar.bz2 |
Adds platform-independent basename and dirname (#1951)
* Adds platform-independent basename and dirname
* Tidy up H5_dirname and H5_basename implementations and add tests
* Committing clang-format changes
* Fix misspelling
* Several fixes for H5_dirname/H5_basename from review
* Committing clang-format changes
* Add reason to VERIFY_STR macros in th5_system.c
* Use H5MM_free instead of HDfree in H5_dirname/H5_basename tests
Co-authored-by: Jordan Henderson <jhenderson@hdfgroup.org>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 1 | ||||
-rw-r--r-- | test/Makefile.am | 2 | ||||
-rw-r--r-- | test/testhdf5.c | 1 | ||||
-rw-r--r-- | test/testhdf5.h | 2 | ||||
-rw-r--r-- | test/th5_system.c | 505 |
5 files changed, 510 insertions, 1 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b9d1208..3149454 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -267,6 +267,7 @@ set (testhdf5_SOURCES ${HDF5_TEST_SOURCE_DIR}/tattr.c ${HDF5_TEST_SOURCE_DIR}/tchecksum.c ${HDF5_TEST_SOURCE_DIR}/tconfig.c + ${HDF5_TEST_SOURCE_DIR}/th5_system.c ${HDF5_TEST_SOURCE_DIR}/tcoords.c ${HDF5_TEST_SOURCE_DIR}/tfile.c ${HDF5_TEST_SOURCE_DIR}/tgenprop.c diff --git a/test/Makefile.am b/test/Makefile.am index 22510dc..d441113 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -231,7 +231,7 @@ CHECK_CLEANFILES+=accum.h5 cmpd_dset.h5 compact_dataset.h5 dataset.h5 dset_offse # Sources for testhdf5 executable testhdf5_SOURCES=testhdf5.c tarray.c tattr.c tchecksum.c tconfig.c tfile.c \ - tgenprop.c th5o.c th5s.c tcoords.c tid.c titerate.c tmeta.c tmisc.c \ + tgenprop.c th5o.c th5s.c th5_system.c tcoords.c tid.c titerate.c tmeta.c tmisc.c \ trefer.c trefer_deprec.c trefstr.c tselect.c tskiplist.c tsohm.c ttime.c tunicode.c \ tvlstr.c tvltypes.c diff --git a/test/testhdf5.c b/test/testhdf5.c index b5db71b..2329354 100644 --- a/test/testhdf5.c +++ b/test/testhdf5.c @@ -43,6 +43,7 @@ main(int argc, char *argv[]) /* Tests are generally arranged from least to most complexity... */ AddTest("config", test_configure, cleanup_configure, "Configure definitions", NULL); + AddTest("h5system", test_h5_system, cleanup_h5_system, "H5system routines", NULL); AddTest("metadata", test_metadata, cleanup_metadata, "Encoding/decoding metadata", NULL); AddTest("checksum", test_checksum, cleanup_checksum, "Checksum algorithm", NULL); AddTest("skiplist", test_skiplist, NULL, "Skip Lists", NULL); diff --git a/test/testhdf5.h b/test/testhdf5.h index d5c2d21..e72e08e 100644 --- a/test/testhdf5.h +++ b/test/testhdf5.h @@ -221,6 +221,7 @@ void test_iterate(void); void test_array(void); void test_genprop(void); void test_configure(void); +void test_h5_system(void); void test_misc(void); void test_ids(void); void test_skiplist(void); @@ -245,6 +246,7 @@ void cleanup_iterate(void); void cleanup_array(void); void cleanup_genprop(void); void cleanup_configure(void); +void cleanup_h5_system(void); void cleanup_sohm(void); void cleanup_misc(void); void cleanup_unicode(void); diff --git a/test/th5_system.c b/test/th5_system.c new file mode 100644 index 0000000..09570cf --- /dev/null +++ b/test/th5_system.c @@ -0,0 +1,505 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the COPYING file, which can be found at the root of the source code * + * distribution tree, or in https://www.hdfgroup.org/licenses. * + * If you do not have access to either file, you may request a copy from * + * help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#define H5_SYSTEM_TEST_PATH_MAX 4096 + +/*********************************************************** + * + * Test program: th5_system + * + * Testing for the routines available in H5system.c + * + *************************************************************/ + +#include "testhdf5.h" + +#include "H5MMprivate.h" + +static void +test_h5_dirname(void) +{ + herr_t ret; + char *path = NULL; + char *dirname = NULL; + + MESSAGE(5, ("Testing H5_dirname\n")); + + path = HDmalloc(H5_SYSTEM_TEST_PATH_MAX); + CHECK_PTR(path, "HDmalloc"); + if (!path) + return; + + /* Check that H5_dirname fails for a NULL path */ + dirname = NULL; + H5E_BEGIN_TRY + { + ret = H5_dirname(NULL, &dirname); + } + H5E_END_TRY; + VERIFY(ret, FAIL, "H5_dirname with NULL path"); + H5Eclear2(H5E_DEFAULT); + + /* Check that H5_dirname fails for a NULL dirname pointer */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "topdir%sunderdir%sfinaldir", H5_DIR_SEPS, H5_DIR_SEPS); + H5E_BEGIN_TRY + { + ret = H5_dirname(path, NULL); + } + H5E_END_TRY; + VERIFY(ret, FAIL, "H5_dirname with NULL dirname pointer"); + H5Eclear2(H5E_DEFAULT); + + /* Check that H5_dirname returns "." for an empty path string */ + *path = '\0'; + dirname = NULL; + ret = H5_dirname(path, &dirname); + CHECK(ret, FAIL, "H5_dirname with empty string"); + VERIFY_STR(dirname, ".", "comparing H5_dirname with empty string to \".\""); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns "." for a path that + * doesn't contain the system file separator character + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "testdirname"); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, ".", "comparing H5_dirname with non-separated path to \".\""); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for the simple path containing just the system file separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS, "comparing H5_dirname with file separator path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for a path which contains a leading separator and a path + * component + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stestdir", H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS, "comparing H5_dirname with leading separator path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for a path which contains several leading separators and + * a path component + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%s%s%s%stestdir", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS, "comparing H5_dirname with leading separators path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the "." for a path which + * contains a path component and a trailing separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "testdir%s", H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, ".", "comparing H5_dirname with trailing separator path to \".\""); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the "." for a path which + * contains a path component and several trailing separators + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "testdir%s%s%s%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, ".", "comparing H5_dirname with trailing separators path to \".\""); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for a path which contains a leading separator, a path + * component and a trailing separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stestdir%s", H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS, + "comparing H5_dirname with leading and trailing separator path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for a path which contains several leading separators, a + * path component and a trailing separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%s%s%s%stestdir%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR( + dirname, H5_DIR_SEPS, + "comparing H5_dirname with leading separators and a trailing separator path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for a path which contains a leading separator, a path + * component and several trailing separators + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stestdir%s%s%s%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS, + "comparing H5_dirname with leading separator and trailing separators path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns the system file separator + * for a path which contains several leading separators, a + * path component and several trailing separators + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%s%s%s%stestdir%s%s%s%s", H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS, + "comparing H5_dirname with leading and trailing separators path to file separator"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns a proper dirname with a + * "normal" pathname that has no leading separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "topdir%sunderdir", H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, "topdir", "comparing H5_dirname with normal path to proper dirname"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns a proper dirname with a + * "normal" pathname that has a leading separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stopdir%sunderdir", H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS "topdir", "comparing H5_dirname with normal path to proper dirname"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns a proper dirname with a + * "normal" pathname that has a leading and trailing separator + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stopdir%sunderdir%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS "topdir", "comparing H5_dirname with normal path to proper dirname"); + H5MM_free(dirname); + + /* + * Check that H5_dirname returns a proper dirname with a + * contrived pathname + */ + dirname = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stopdir%sunderdir%s%s%sfinaldir%s", H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_dirname(path, &dirname); + VERIFY_STR(dirname, H5_DIR_SEPS "topdir" H5_DIR_SEPS "underdir", + "comparing H5_dirname with contrived path to proper dirname"); + H5MM_free(dirname); + + HDfree(path); +} + +static void +test_h5_basename(void) +{ + herr_t ret; + char *path = NULL; + char *basename = NULL; + + MESSAGE(5, ("Testing H5_basename\n")); + + path = HDmalloc(H5_SYSTEM_TEST_PATH_MAX); + CHECK_PTR(path, "HDmalloc"); + if (!path) + return; + + /* Check that H5_basename fails for a NULL path */ + basename = NULL; + H5E_BEGIN_TRY + { + ret = H5_basename(NULL, &basename); + } + H5E_END_TRY; + VERIFY(ret, FAIL, "H5_basename with NULL path"); + H5Eclear2(H5E_DEFAULT); + + /* Check that H5_basename fails for a NULL basename pointer */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "topdir%sunderdir%sfinaldir", H5_DIR_SEPS, H5_DIR_SEPS); + H5E_BEGIN_TRY + { + ret = H5_basename(path, NULL); + } + H5E_END_TRY; + VERIFY(ret, FAIL, "H5_basename with NULL basename pointer"); + H5Eclear2(H5E_DEFAULT); + + /* Check that H5_basename returns "." for an empty path string */ + *path = '\0'; + basename = NULL; + ret = H5_basename(path, &basename); + CHECK(ret, FAIL, "H5_basename with empty string"); + VERIFY_STR(basename, ".", "comparing H5_basename with empty string to \".\""); + H5MM_free(basename); + + /* + * Check that H5_basename returns the specified path for a + * path that doesn't contain the system file separator character + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "testdirname"); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdirname", "comparing H5_basename with non-separated path to same path"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the system file separator + * for the simple path containing just the system file separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, H5_DIR_SEPS, "comparing H5_basename with file separator path to file separator"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains a leading separator and a path + * component + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stestdir", H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdir", + "comparing H5_basename with leading separator path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains several leading separators and a path + * component + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%s%s%s%stestdir", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdir", + "comparing H5_basename with leading separators path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains a path component and a trailing separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "testdir%s", H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdir", + "comparing H5_basename with trailing separator path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains a path component and several trailing + * separators + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "testdir%s%s%s%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdir", + "comparing H5_basename with trailing separators path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains a leading separator, a path component + * and a trailing separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stestdir%s", H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdir", + "comparing H5_basename with leading and trailing separator path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains several leading separators, a path + * component and a trailing separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%s%s%s%stestdir%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR( + basename, "testdir", + "comparing H5_basename with leading separators and a trailing separator path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains a leading separator, a path component + * and several trailing separators + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stestdir%s%s%s%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR( + basename, "testdir", + "comparing H5_basename with leading separator and trailing separators path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns the proper basename for a + * path which contains several leading separators, a path + * component and several trailing separators + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%s%s%s%stestdir%s%s%s%s", H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "testdir", + "comparing H5_basename with leading and trailing separators path to filename component"); + H5MM_free(basename); + + /* + * Check that H5_basename returns a proper basename with + * a "normal" pathname that has no leading separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "topdir%sunderdir", H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "underdir", "comparing H5_basename with normal path to proper basename"); + H5MM_free(basename); + + /* + * Check that H5_basename returns a proper basename with + * a "normal" pathname that has a leading separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stopdir%sunderdir", H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "underdir", "comparing H5_basename with normal path to proper basename"); + H5MM_free(basename); + + /* + * Check that H5_basename returns a proper basename with + * a "normal" pathname that has a leading and trailing separator + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stopdir%sunderdir%s", H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "underdir", "comparing H5_basename with normal path to proper basename"); + H5MM_free(basename); + + /* + * Check that H5_basename returns a proper basename with a + * contrived pathname + */ + basename = NULL; + HDsnprintf(path, H5_SYSTEM_TEST_PATH_MAX, "%stopdir%sunderdir%s%s%sfinaldir%s", H5_DIR_SEPS, H5_DIR_SEPS, + H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS, H5_DIR_SEPS); + ret = H5_basename(path, &basename); + VERIFY_STR(basename, "finaldir", "comparing H5_basename with contrived path to proper basename"); + H5MM_free(basename); + + HDfree(path); +} + +static void +test_h5_strndup(void) +{ +#ifdef H5_HAVE_WIN32_API + const char *const teststr = "myteststring"; + char *str = NULL; + + MESSAGE(5, ("Testing H5_strndup\n")); + + /* Check that H5_strndup fails for a NULL string pointer */ + H5E_BEGIN_TRY + { + str = H5_strndup(NULL, 20); + } + H5E_END_TRY; + CHECK_PTR_NULL(str, "H5_strndup with NULL string pointer"); + H5Eclear2(H5E_DEFAULT); + + /* Check that H5_strndup correctly performs a 0-byte copy */ + str = H5_strndup(teststr, 0); + CHECK_PTR(str, "H5_strndup for 0-byte copy"); + if (str) + VERIFY_STR(str, "", "comparing H5_strndup for 0-byte copy to empty string"); + str = H5MM_xfree(str); + + /* Check that H5_strndup correctly performs partial copies */ + str = H5_strndup(teststr, 6); + CHECK_PTR(str, "H5_strndup for partial copy"); + if (str) + VERIFY_STR(str, "mytest", "comparing H5_strndup for partial copy to partial string"); + str = H5MM_xfree(str); + + /* Check that H5_strndup correctly performs identical copies */ + str = H5_strndup(teststr, HDstrlen(teststr)); + CHECK_PTR(str, "H5_strndup for identical copy"); + if (str) + VERIFY_STR(str, teststr, "comparing H5_strndup for identical copy to original string"); + str = H5MM_xfree(str); + + /* + * Check that H5_strndup correctly performs copies when + * `n` is greater than the original string + */ + str = H5_strndup(teststr, HDstrlen(teststr) + 2); + CHECK_PTR(str, "H5_strndup for larger 'n'"); + if (str) + VERIFY_STR(str, teststr, "comparing H5_strndup with larger 'n' value to original string"); + str = H5MM_xfree(str); +#endif /* H5_HAVE_WIN32_API */ +} + +void +test_h5_system(void) +{ + MESSAGE(5, ("Testing H5system routines\n")); + + test_h5_dirname(); + test_h5_basename(); + test_h5_strndup(); +} + +void +cleanup_h5_system(void) +{ + /* Nothing to cleanup yet */ +} |