summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorSongyu Lu <songyulu@hdfgroup.org>2019-07-29 16:22:20 (GMT)
committerSongyu Lu <songyulu@hdfgroup.org>2019-07-29 16:22:20 (GMT)
commitf7cc189609f046ccf1b145fae7b97c70b535e137 (patch)
tree325c4ec63ea78154d2bfb7d7613f5d661e2763b7 /test
parent59d7db40a72142b9027748e762f4b2e8038aefa9 (diff)
downloadhdf5-f7cc189609f046ccf1b145fae7b97c70b535e137.zip
hdf5-f7cc189609f046ccf1b145fae7b97c70b535e137.tar.gz
hdf5-f7cc189609f046ccf1b145fae7b97c70b535e137.tar.bz2
1. Updated the commands for compiling two new tests (external_env.c and vds_env.c).
2. Changed the data file names for external.c and external_env.c to avoid potential name conflict.
Diffstat (limited to 'test')
-rw-r--r--test/CMakeTests.cmake197
-rw-r--r--test/external.c12
-rw-r--r--test/external_common.c12
-rw-r--r--test/external_common.h3
-rw-r--r--test/external_env.c28
5 files changed, 105 insertions, 147 deletions
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index 6532536..60271ee 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -560,71 +560,6 @@ if (TEST_CACHE_IMAGE)
)
endif ()
-#-- Adding test for external_env
-add_test (
- NAME H5TEST-clear-external_env-objects
- COMMAND ${CMAKE_COMMAND}
- -D "TEST_PROGRAM=$<TARGET_FILE:external_env>"
- -D "TEST_ARGS:STRING="
- -D "TEST_ENV_VAR:STRING=HDF5_EXTFILE_PREFIX"
- -D "TEST_ENV_VALUE:STRING=\${ORIGIN}"
- -D "TEST_EXPECT=0"
- -D "TEST_OUTPUT=external_env.txt"
- -D "TEST_REFERENCE=external_env.out"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- -E remove
- extern_1r.raw
- extern_2r.raw
- extern_3r.raw
- extern_4r.raw
- extern_1w.raw
- extern_2w.raw
- extern_3w.raw
- extern_4w.raw
- external_env.txt
- external_env.out
- WORKING_DIRECTORY
- ${HDF5_TEST_BINARY_DIR}/H5TEST
-)
-set_tests_properties (H5TEST-clear-external_env-objects PROPERTIES FIXTURES_SETUP external_env_clear_objects)
-add_test (NAME H5TEST-external_env COMMAND $<TARGET_FILE:external_env>)
-set_tests_properties (H5TEST-external_env PROPERTIES
- FIXTURES_REQUIRED external_env_clear_objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
- WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
-)
-
-#-- Adding test for vds_env
-add_test (
- NAME H5TEST-clear-vds_env-objects
- COMMAND ${CMAKE_COMMAND}
- -D "TEST_PROGRAM=$<TARGET_FILE:vds_env>"
- -D "TEST_ARGS:STRING="
- -D "TEST_ENV_VAR:STRING=HDF5_VDS_PREFIX"
- -D "TEST_ENV_VALUE:STRING=\${ORIGIN}/tmp"
- -D "TEST_EXPECT=0"
- -D "TEST_OUTPUT=vds_env.txt"
- -D "TEST_REFERENCE=vds_env.out"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- -E remove
- vds_virt_0.h5
- vds_virt_3.h5
- vds_src_2.h5
- vds_env.txt
- vds_env.out
- WORKING_DIRECTORY
- ${HDF5_TEST_BINARY_DIR}/H5TEST
-)
-set_tests_properties (H5TEST-clear-vds_env-objects PROPERTIES FIXTURES_SETUP vds_env_clear_objects)
-add_test (NAME H5TEST-vds_env COMMAND $<TARGET_FILE:vds_env>)
-set_tests_properties (H5TEST-vds_env PROPERTIES
- FIXTURES_REQUIRED vds_env_clear_objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
- WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
-)
-
#-- Adding test for flush1/2
add_test (NAME H5TEST-clear-flush-objects
COMMAND ${CMAKE_COMMAND}
@@ -854,66 +789,84 @@ set_tests_properties (H5TEST-links_env PROPERTIES
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
)
- #-- Adding test for external_env
- add_test (NAME H5TEST-shared-clear-external_env-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- extern_1r.raw
- extern_2r.raw
- extern_3r.raw
- extern_4r.raw
- extern_1w.raw
- extern_2w.raw
- extern_3w.raw
- extern_4w.raw
- WORKING_DIRECTORY
- ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
- )
- set_tests_properties (H5TEST-shared-clear-external_env-objects PROPERTIES FIXTURES_SETUP shared_external_env_clear_objects)
- add_test (NAME H5TEST-shared-external_env COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:external_env-shared>"
- -D "TEST_ARGS:STRING="
- -D "TEST_ENV_VAR:STRING=HDF5_EXTFILE_PREFIX"
- -D "TEST_ENV_VALUE:STRING=\${ORIGIN}"
- -D "TEST_EXPECT=0"
- -D "TEST_OUTPUT=external_env.txt"
- -D "TEST_REFERENCE=external_env.out"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- set_tests_properties (H5TEST-shared-external_env PROPERTIES
- FIXTURES_REQUIRED shared_external_env_clear_objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
- WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+#-- Adding test for external_env
+add_test (
+ NAME H5TEST-clear-external_env-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ extern_env_1r.raw
+ extern_env_2r.raw
+ extern_env_3r.raw
+ extern_env_4r.raw
+ extern_env_1w.raw
+ extern_env_2w.raw
+ extern_env_3w.raw
+ extern_env_4w.raw
+ external_env.txt
+ external_env.out
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST
+)
+set_tests_properties (H5TEST-clear-external_env-objects PROPERTIES FIXTURES_SETUP external_env_clear_objects)
+if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME H5TEST-external_env COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:external_env>)
+else ()
+ add_test (NAME H5TEST-external_env COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:external_env>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_ENV_VAR:STRING=HDF5_EXTFILE_PREFIX"
+ -D "TEST_ENV_VALUE:STRING=\${ORIGIN}"
+ -D "TEST_EXPECT=0"
+ -D "TEST_SKIP_COMPARE=TRUE"
+ -D "TEST_OUTPUT=external_env.txt"
+ #-D "TEST_REFERENCE=external_env.out"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
+ -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
+endif ()
+set_tests_properties (H5TEST-external_env PROPERTIES
+ FIXTURES_REQUIRED external_env_clear_objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
+)
- #-- Adding test for vds_env
- add_test (NAME H5TEST-shared-clear-vds_env-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- vds_virt_0.h5
- vds_virt_3.h5
- vds_src_2.h5
- WORKING_DIRECTORY
- ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
- )
- set_tests_properties (H5TEST-shared-clear-vds_env-objects PROPERTIES FIXTURES_SETUP shared_vds_env_clear_objects)
- add_test (NAME H5TEST-shared-vds_env COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:vds_env-shared>"
- -D "TEST_ARGS:STRING="
- -D "TEST_ENV_VAR:STRING=HDF5_VDS_PREFIX"
- -D "TEST_ENV_VALUE:STRING=\${ORIGIN}/tmp"
- -D "TEST_EXPECT=0"
- -D "TEST_OUTPUT=vds_env.txt"
- -D "TEST_REFERENCE=vds_env.out"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
- -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
- )
- set_tests_properties (H5TEST-shared-vds_env PROPERTIES
- FIXTURES_REQUIRED shared_vds_env_clear_objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
- WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+#-- Adding test for vds_env
+add_test (
+ NAME H5TEST-clear-vds_env-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ vds_virt_0.h5
+ vds_virt_3.h5
+ vds_src_2.h5
+ vds_env.txt
+ vds_env.out
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST
+)
+set_tests_properties (H5TEST-clear-vds_env-objects PROPERTIES FIXTURES_SETUP vds_env_clear_objects)
+if (HDF5_ENABLE_USING_MEMCHECKER)
+ add_test (NAME H5TEST-vds_env COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:vds_env>)
+else ()
+ add_test (NAME H5TEST-vds_env COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:vds_env>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_ENV_VAR:STRING=HDF5_VDS_PREFIX"
+ -D "TEST_ENV_VALUE:STRING=\${ORIGIN}/tmp"
+ -D "TEST_EXPECT=0"
+ -D "TEST_SKIP_COMPARE=TRUE"
+ -D "TEST_OUTPUT=vds_env.txt"
+ #-D "TEST_REFERENCE=vds_env.out"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST"
+ -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
+endif ()
+set_tests_properties (H5TEST-vds_env PROPERTIES
+ FIXTURES_REQUIRED vds_env_clear_objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
+)
if (NOT BUILD_SHARED_LIBS)
#-- Adding test for libinfo
diff --git a/test/external.c b/test/external.c
index 9644d86..7e9ecf9 100644
--- a/test/external.c
+++ b/test/external.c
@@ -636,7 +636,7 @@ test_read_file_set(hid_t fapl)
TEST_ERROR
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(FALSE) < 0)
TEST_ERROR
/* Create the file and an initial group. This causes messages about
@@ -776,7 +776,7 @@ test_write_file_set(hid_t fapl)
} /* end for */
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(FALSE) < 0)
TEST_ERROR
/* Create the dataset */
@@ -877,7 +877,7 @@ test_path_absolute(hid_t fapl)
FAIL_STACK_ERROR
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(FALSE) < 0)
TEST_ERROR
/* Create the dcpl */
@@ -973,7 +973,7 @@ test_path_relative(hid_t fapl)
FAIL_STACK_ERROR;
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(FALSE) < 0)
TEST_ERROR
/* Create the dataset */
@@ -1068,7 +1068,7 @@ test_path_relative_cwd(hid_t fapl)
FAIL_STACK_ERROR;
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(FALSE) < 0)
TEST_ERROR
/* Create the dataset */
@@ -1210,7 +1210,7 @@ test_h5d_get_access_plist(hid_t fapl_id)
TEST_ERROR
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(FALSE) < 0)
TEST_ERROR
/* Create the file */
diff --git a/test/external_common.c b/test/external_common.c
index e43a713..c9b6584 100644
--- a/test/external_common.c
+++ b/test/external_common.c
@@ -35,7 +35,7 @@
*-------------------------------------------------------------------------
*/
herr_t
-reset_raw_data_files(void)
+reset_raw_data_files(hbool_t is_env)
{
int fd = 0; /* external file descriptor */
size_t i, j; /* iterators */
@@ -59,7 +59,10 @@ reset_raw_data_files(void)
for(i = 0; i < N_EXT_FILES; i++) {
/* Open file */
- HDsprintf(filename, "extern_%lur.raw", (unsigned long)i + 1);
+ if(is_env)
+ HDsprintf(filename, "extern_env_%lur.raw", (unsigned long)i + 1);
+ else
+ HDsprintf(filename, "extern_%lur.raw", (unsigned long)i + 1);
if((fd = HDopen(filename, O_RDWR|O_CREAT|O_TRUNC, H5_POSIX_CREATE_MODE_RW)) < 0)
goto error;
@@ -93,7 +96,10 @@ reset_raw_data_files(void)
for(i = 0; i < N_EXT_FILES; i++) {
/* Open file */
- HDsprintf(filename, "extern_%luw.raw", (unsigned long)i + 1);
+ if(is_env)
+ HDsprintf(filename, "extern_env_%luw.raw", (unsigned long)i + 1);
+ else
+ HDsprintf(filename, "extern_%luw.raw", (unsigned long)i + 1);
if((fd = HDopen(filename, O_RDWR|O_CREAT|O_TRUNC, H5_POSIX_CREATE_MODE_RW)) < 0)
goto error;
diff --git a/test/external_common.h b/test/external_common.h
index f1a15b5..304f3fb 100644
--- a/test/external_common.h
+++ b/test/external_common.h
@@ -30,6 +30,7 @@ static const char *EXT_FNAME[] = {
"extern_4",
"extern_dir/file_1",
"extern_5",
+ "extern_env_dir/file_2",
NULL
};
@@ -41,5 +42,5 @@ static const char *EXT_FNAME[] = {
#define TOTAL_SIZE 100
#define GARBAGE_PER_FILE 10
-herr_t reset_raw_data_files(void);
+herr_t reset_raw_data_files(hbool_t is_env);
#endif /* _EXTERNAL_COMMON_H */
diff --git a/test/external_env.c b/test/external_env.c
index 455cf8e..284a2f0 100644
--- a/test/external_env.c
+++ b/test/external_env.c
@@ -56,15 +56,15 @@ test_path_env(hid_t fapl)
TESTING("prefix in HDF5_EXTFILE_PREFIX");
- if(HDmkdir("extern_dir", (mode_t)0755) < 0 && errno != EEXIST)
+ if(HDmkdir("extern_env_dir", (mode_t)0755) < 0 && errno != EEXIST)
TEST_ERROR;
- h5_fixname(EXT_FNAME[4], fapl, filename, sizeof(filename));
+ h5_fixname(EXT_FNAME[6], fapl, filename, sizeof(filename));
if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
FAIL_STACK_ERROR
/* Reset the raw data files */
- if(reset_raw_data_files() < 0)
+ if(reset_raw_data_files(TRUE) < 0)
TEST_ERROR
/* Create the dataset */
@@ -73,7 +73,7 @@ test_path_env(hid_t fapl)
if(NULL == HDgetcwd(cwdpath, sizeof(cwdpath)))
TEST_ERROR
for(i = 0; i < N_EXT_FILES; i++) {
- HDsnprintf(filename, sizeof(filename), "..%sextern_%dr.raw", H5_DIR_SEPS, (int) i + 1);
+ HDsnprintf(filename, sizeof(filename), "..%sextern_env_%dr.raw", H5_DIR_SEPS, (int) i + 1);
if(H5Pset_external(dcpl, filename, (off_t)(i * GARBAGE_PER_FILE), (hsize_t)sizeof(part)) < 0)
FAIL_STACK_ERROR
} /* end for */
@@ -144,7 +144,6 @@ main(void)
hid_t fapl_id_new = -1; /* file access properties (new format) */
hid_t fid = -1; /* file for test_1* functions */
hid_t gid = -1; /* group to emit diagnostics */
- char filename[1024]; /* file name for test_1* funcs */
unsigned latest_format; /* default or latest file format */
int nerrors = 0; /* number of errors */
@@ -152,7 +151,6 @@ main(void)
/* Get a fapl for the old (default) file format */
fapl_id_old = h5_fileaccess();
- h5_fixname(EXT_FNAME[0], fapl_id_old, filename, sizeof(filename));
/* Copy and set up a fapl for the latest file format */
if((fapl_id_new = H5Pcopy(fapl_id_old)) < 0)
@@ -186,15 +184,15 @@ main(void)
/* Clean up files used by file set tests */
if(h5_cleanup(EXT_FNAME, fapl_id_old)) {
- HDremove("extern_1r.raw");
- HDremove("extern_2r.raw");
- HDremove("extern_3r.raw");
- HDremove("extern_4r.raw");
-
- HDremove("extern_1w.raw");
- HDremove("extern_2w.raw");
- HDremove("extern_3w.raw");
- HDremove("extern_4w.raw");
+ HDremove("extern_env_1r.raw");
+ HDremove("extern_env_2r.raw");
+ HDremove("extern_env_3r.raw");
+ HDremove("extern_env_4r.raw");
+
+ HDremove("extern_env_1w.raw");
+ HDremove("extern_env_2w.raw");
+ HDremove("extern_env_3w.raw");
+ HDremove("extern_env_4w.raw");
HDrmdir("extern_dir");
} /* end if */