mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-01-12 15:04:59 +08:00
79bb60c3f6
* Remove macros from api tests (#2929) * Remove macros and undefined callbacks (#2959) * Remove remaining macros from H5_api_tests_disabled.h (#2968) * Put some vol capability checks in testpar tests and remove remaining warnings (#2995) * API tests datatype generation cleanup * Clean up API tests' random datatype generation and fix bug with enum datatype generation * Init parallel API tests with MPI_THREAD_MULTIPLE * HDF5 API tests - Check VOL connector registration * Determine whether a VOL connector failed to load before running API tests * Cleanup some usages of H5VL_CAP_FLAG_CREATION_ORDER in API tests * Remove some now-unused macros from H5_api_tests_disabled.h * Enable HDF5 API tests by default * Implement CMake option to install HDF5 API tests * Check for invalid AAPL from H5Acreate * Enable building of VOL connectors alongside HDF5 in CMake * Prepend CMake VOL URL option indices with 0s so they come in order * Don't turn on API tests by default yet * Document VOL connector FetchContent functionality * Add release note for API test updates * Only install testing library if API tests are installed * Fix grammar
73 lines
2.5 KiB
C
73 lines
2.5 KiB
C
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* 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://support.hdfgroup.org/ftp/HDF5/releases. *
|
|
* If you do not have access to either file, you may request a copy from *
|
|
* help@hdfgroup.org. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
#ifndef H5_API_TEST_H
|
|
#define H5_API_TEST_H
|
|
|
|
#include <hdf5.h>
|
|
#include <H5private.h>
|
|
|
|
#include "h5test.h"
|
|
|
|
#include "H5_api_test_config.h"
|
|
#include "H5_api_test_util.h"
|
|
|
|
/* Define H5VL_VERSION if not already defined */
|
|
#ifndef H5VL_VERSION
|
|
#define H5VL_VERSION 0
|
|
#endif
|
|
|
|
/* Define macro to wait forever depending on version */
|
|
#if H5VL_VERSION >= 2
|
|
#define H5_API_TEST_WAIT_FOREVER H5ES_WAIT_FOREVER
|
|
#else
|
|
#define H5_API_TEST_WAIT_FOREVER UINT64_MAX
|
|
#endif
|
|
|
|
/******************************************************************************/
|
|
|
|
/* The name of the file that all of the tests will operate on */
|
|
#define TEST_FILE_NAME "H5_api_test.h5"
|
|
extern char H5_api_test_filename[];
|
|
|
|
extern const char *test_path_prefix;
|
|
|
|
/*
|
|
* Environment variable specifying a prefix string to add to
|
|
* filenames generated by the API tests
|
|
*/
|
|
#define HDF5_API_TEST_PATH_PREFIX "HDF5_API_TEST_PATH_PREFIX"
|
|
|
|
/* The names of a set of container groups which hold objects
|
|
* created by each of the different types of tests.
|
|
*/
|
|
#define GROUP_TEST_GROUP_NAME "group_tests"
|
|
#define ATTRIBUTE_TEST_GROUP_NAME "attribute_tests"
|
|
#define DATASET_TEST_GROUP_NAME "dataset_tests"
|
|
#define DATATYPE_TEST_GROUP_NAME "datatype_tests"
|
|
#define LINK_TEST_GROUP_NAME "link_tests"
|
|
#define OBJECT_TEST_GROUP_NAME "object_tests"
|
|
#define MISCELLANEOUS_TEST_GROUP_NAME "miscellaneous_tests"
|
|
|
|
#define ARRAY_LENGTH(array) sizeof(array) / sizeof(array[0])
|
|
|
|
#define UNUSED(o) (void)(o);
|
|
|
|
#define H5_API_TEST_FILENAME_MAX_LENGTH 1024
|
|
|
|
/* The maximum size of a dimension in an HDF5 dataspace as allowed
|
|
* for this testing suite so as not to try to create too large
|
|
* of a dataspace/datatype. */
|
|
#define MAX_DIM_SIZE 16
|
|
|
|
#endif
|