2017-04-18 03:32:16 +08:00
#
# 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
2021-02-17 22:52:36 +08:00
# distribution tree, or in https://www.hdfgroup.org/licenses.
2017-04-18 03:32:16 +08:00
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
2016-10-27 23:06:00 +08:00
##############################################################################
##############################################################################
### T E S T I N G ###
##############################################################################
##############################################################################
# --------------------------------------------------------------------
# Copy all the HDF5 files from the source directory into the test directory
# --------------------------------------------------------------------
2023-09-27 04:46:55 +08:00
set ( LIST_REPACK_TEST_FILES
b o u n d s _ l a t e s t _ l a t e s t . h 5
h 5 r e p a c k _ a t t r . h 5
h 5 r e p a c k _ a t t r _ r e f s . h 5
h 5 r e p a c k _ d e f l a t e . h 5
h 5 r e p a c k _ e a r l y . h 5
h 5 r e p a c k _ e x t . h 5
h 5 r e p a c k _ f 3 2 l e . h 5
h 5 r e p a c k _ f 3 2 l e _ e x - 0 . d a t
h 5 r e p a c k _ f 3 2 l e _ e x . h 5
h 5 r e p a c k _ f i l l . h 5
h 5 r e p a c k _ f i l t e r s . h 5
h 5 r e p a c k _ f l e t c h e r . h 5
h 5 r e p a c k _ h l i n k . h 5
h 5 r e p a c k _ i n t 3 2 l e _ 1 d . h 5
h 5 r e p a c k _ i n t 3 2 l e _ 1 d _ e x - 0 . d a t
h 5 r e p a c k _ i n t 3 2 l e _ 1 d _ e x - 1 . d a t
h 5 r e p a c k _ i n t 3 2 l e _ 1 d _ e x . h 5
h 5 r e p a c k _ i n t 3 2 l e _ 2 d . h 5
h 5 r e p a c k _ i n t 3 2 l e _ 2 d _ e x - 0 . d a t
h 5 r e p a c k _ i n t 3 2 l e _ 2 d _ e x . h 5
h 5 r e p a c k _ i n t 3 2 l e _ 3 d . h 5
h 5 r e p a c k _ i n t 3 2 l e _ 3 d _ e x - 0 . d a t
h 5 r e p a c k _ i n t 3 2 l e _ 3 d _ e x . h 5
h 5 r e p a c k _ l a y o u t . h 5
h 5 r e p a c k _ l a y o u t o . h 5
h 5 r e p a c k _ l a y o u t 2 . h 5
h 5 r e p a c k _ l a y o u t 3 . h 5
h 5 r e p a c k _ l a y o u t . U D . h 5
h 5 r e p a c k _ n a m e d _ d t y p e s . h 5
h 5 r e p a c k _ n e s t e d _ 8 b i t _ e n u m . h 5
h 5 r e p a c k _ n e s t e d _ 8 b i t _ e n u m _ d e f l a t e d . h 5
h 5 r e p a c k _ C V E - 2 0 1 8 - 1 7 4 3 2 . h 5
h 5 r e p a c k _ C V E - 2 0 1 8 - 1 4 4 6 0 . h 5
h 5 r e p a c k _ n b i t . h 5
h 5 r e p a c k _ o b j s . h 5
h 5 r e p a c k _ r e f s . h 5
h 5 r e p a c k _ s h u f f l e . h 5
h 5 r e p a c k _ s o f f s e t . h 5
h 5 r e p a c k _ s z i p . h 5
h 5 r e p a c k _ u i n t 8 b e . h 5
h 5 r e p a c k _ u i n t 8 b e _ e x - 0 . d a t
h 5 r e p a c k _ u i n t 8 b e _ e x - 1 . d a t
h 5 r e p a c k _ u i n t 8 b e _ e x - 2 . d a t
h 5 r e p a c k _ u i n t 8 b e _ e x - 3 . d a t
h 5 r e p a c k _ u i n t 8 b e _ e x . h 5
2017-10-04 00:14:35 +08:00
# fsm
2023-09-27 04:46:55 +08:00
h 5 r e p a c k _ a g g r . h 5
h 5 r e p a c k _ f s m _ a g g r _ n o p e r s i s t . h 5
h 5 r e p a c k _ f s m _ a g g r _ p e r s i s t . h 5
h 5 r e p a c k _ n o n e . h 5
h 5 r e p a c k _ p a g e d _ n o p e r s i s t . h 5
h 5 r e p a c k _ p a g e d _ p e r s i s t . h 5
)
# h5diff/testfile
set ( LIST_DIFF_TEST_FILES
h 5 d i f f _ a t t r 1 . h 5
)
# tools/testfiles/vds
set ( LIST_VDS_TEST_FILES
1 _ a . h 5
1 _ b . h 5
1 _ c . h 5
1 _ d . h 5
1 _ e . h 5
1 _ f . h 5
1 _ v d s . h 5
2 _ a . h 5
2 _ b . h 5
2 _ c . h 5
2 _ d . h 5
2 _ e . h 5
2 _ v d s . h 5
3 _ 1 _ v d s . h 5
3 _ 2 _ v d s . h 5
4 _ 0 . h 5
4 _ 1 . h 5
4 _ 2 . h 5
4 _ v d s . h 5
5 _ a . h 5
5 _ b . h 5
5 _ c . h 5
5 _ v d s . h 5
)
set ( LIST_COPY_TEST_FILES
h 5 c o p y _ e x t l i n k s _ s r c . h 5
h 5 c o p y _ e x t l i n k s _ t r g . h 5
)
set ( LIST_HDF5_TEST_FILES
2020-08-15 01:16:58 +08:00
# tools/testfiles for external links
2023-09-27 04:46:55 +08:00
t s o f t l i n k s . h 5
t e x t l i n k f a r . h 5
t e x t l i n k s r c . h 5
t e x t l i n k t a r . h 5
t e x t l i n k . h 5
2016-10-27 23:06:00 +08:00
# tools/testfiles
2023-09-27 04:46:55 +08:00
t f a m i l y 0 0 0 0 0 . h 5
t f a m i l y 0 0 0 0 1 . h 5
t f a m i l y 0 0 0 0 2 . h 5
t f a m i l y 0 0 0 0 3 . h 5
t f a m i l y 0 0 0 0 4 . h 5
t f a m i l y 0 0 0 0 5 . h 5
t f a m i l y 0 0 0 0 6 . h 5
t f a m i l y 0 0 0 0 7 . h 5
t f a m i l y 0 0 0 0 8 . h 5
t f a m i l y 0 0 0 0 9 . h 5
t f a m i l y 0 0 0 1 0 . h 5
t o r d e r g r . h 5
2019-12-06 07:20:48 +08:00
# reference conversion files
2023-09-27 04:46:55 +08:00
t a t t r r e g . h 5
t d a t a r e g . h 5
2022-08-03 03:54:40 +08:00
# tools/testfiles onion VFD files
2023-09-27 04:46:55 +08:00
t s t _ o n i o n _ d s e t _ 1 d . h 5
t s t _ o n i o n _ d s e t _ 1 d . h 5 . o n i o n
t s t _ o n i o n _ d s e t _ e x t . h 5
t s t _ o n i o n _ d s e t _ e x t . h 5 . o n i o n
t s t _ o n i o n _ o b j s . h 5
t s t _ o n i o n _ o b j s . h 5 . o n i o n
2016-10-27 23:06:00 +08:00
)
set ( LIST_OTHER_TEST_FILES
2017-10-04 00:14:35 +08:00
h 5 r e p a c k _ e x t . b i n
h 5 r e p a c k . i n f o
u b l o c k . b i n
2016-10-27 23:06:00 +08:00
)
2017-10-04 00:14:35 +08:00
set ( LIST_TST_TEST_FILES
2023-09-27 04:46:55 +08:00
h 5 r e p a c k - h e l p . t x t
h 5 r e p a c k _ f i l t e r s . h 5 - g z i p _ v e r b o s e _ f i l t e r s . t s t
h 5 r e p a c k _ l a y o u t . h 5 - d s e t 2 _ c h u n k _ 2 0 x 1 0 - e r r s t k . t s t
p l u g i n _ t e s t . h 5 r e p a c k _ l a y o u t . h 5 . t s t
p l u g i n _ v e r s i o n _ t e s t . h 5 r e p a c k _ l a y o u t . h 5 . t s t
p l u g i n _ z e r o . h 5 r e p a c k _ l a y o u t . h 5 . t s t
p l u g i n _ n o n e . h 5 r e p a c k _ l a y o u t . U D . h 5 . t s t
2020-08-15 01:16:58 +08:00
# tools/testfiles for external links
2023-09-27 04:46:55 +08:00
t s o f t l i n k s - m e r g e . t s o f t l i n k s . h 5 . t s t
t e x t l i n k f a r - m e r g e . t e x t l i n k f a r . h 5 . t s t
t e x t l i n k s r c - m e r g e . t e x t l i n k s r c . h 5 . t s t
t e x t l i n k t a r - m e r g e . t e x t l i n k t a r . h 5 . t s t
t e x t l i n k - m e r g e . t e x t l i n k . h 5 . t s t
h 5 c o p y _ e x t l i n k s _ s r c - m e r g e . h 5 c o p y _ e x t l i n k s _ s r c . h 5 . t s t
2017-10-04 00:14:35 +08:00
)
set ( LIST_DDL_TEST_FILES
2023-09-27 04:46:55 +08:00
c r t o r d e r . t o r d e r g r . h 5 . d d l
d e f l a t e _ l i m i t . h 5 r e p a c k _ l a y o u t . h 5 . d d l
h 5 r e p a c k _ l a y o u t . h 5 . d d l
h 5 r e p a c k _ l a y o u t . h 5 - p l u g i n _ t e s t . d d l
h 5 r e p a c k _ l a y o u t . h 5 - p l u g i n _ v e r s i o n _ t e s t . d d l
h 5 r e p a c k _ l a y o u t . h 5 - p l u g i n _ z e r o . d d l
h 5 r e p a c k _ l a y o u t . U D . h 5 - p l u g i n _ n o n e . d d l
2017-10-04 00:14:35 +08:00
# fsm
2023-09-27 04:46:55 +08:00
S T G . h 5 r e p a c k _ n o n e . h 5 . d d l
S P T . h 5 r e p a c k _ a g g r . h 5 . d d l
S P . h 5 r e p a c k _ f s m _ a g g r _ n o p e r s i s t . h 5 . d d l
S . h 5 r e p a c k _ f s m _ a g g r _ p e r s i s t . h 5 . d d l
G S . h 5 r e p a c k _ p a g e d _ n o p e r s i s t . h 5 . d d l
S P . h 5 r e p a c k _ p a g e d _ p e r s i s t . h 5 . d d l
2017-10-04 00:14:35 +08:00
# vds
2023-09-27 04:46:55 +08:00
1 _ v d s . h 5 - v d s _ d s e t _ c h u n k 2 0 x 1 0 x 5 - v . d d l
2 _ v d s . h 5 - v d s _ c h u n k 3 x 6 x 9 - v . d d l
3 _ 1 _ v d s . h 5 - v d s _ c h u n k 2 x 5 x 8 - v . d d l
4 _ v d s . h 5 - v d s _ c o m p a - v . d d l
4 _ v d s . h 5 - v d s _ c o n t i - v . d d l
2019-12-06 07:20:48 +08:00
# refs
2023-09-27 04:46:55 +08:00
a t t r r e g i o n . t a t t r r e g . h 5 . d d l
d a t a r e g i o n . t d a t a r e g . h 5 . d d l
2020-08-15 01:16:58 +08:00
# tools/testfiles for external links
2023-09-27 04:46:55 +08:00
t e x t l i n k f a r - b a s e . t e x t l i n k f a r . h 5 . d d l
t e x t l i n k s r c - b a s e . t e x t l i n k s r c . h 5 . d d l
t e x t l i n k t a r - b a s e . t e x t l i n k t a r . h 5 . d d l
t e x t l i n k - b a s e . t e x t l i n k . h 5 . d d l
t s o f t l i n k s - b a s e . t s o f t l i n k s . h 5 . d d l
h 5 c o p y _ e x t l i n k s _ s r c - b a s e . h 5 c o p y _ e x t l i n k s _ s r c . h 5 . d d l
t e x t l i n k f a r - p r u n e . t e x t l i n k f a r . h 5 . d d l
t e x t l i n k s r c - p r u n e . t e x t l i n k s r c . h 5 . d d l
t e x t l i n k t a r - p r u n e . t e x t l i n k t a r . h 5 . d d l
t e x t l i n k - p r u n e . t e x t l i n k . h 5 . d d l
t s o f t l i n k s - p r u n e . t s o f t l i n k s . h 5 . d d l
h 5 c o p y _ e x t l i n k s _ s r c - p r u n e . h 5 c o p y _ e x t l i n k s _ s r c . h 5 . d d l
t e x t l i n k f a r - m e r g e p r u n e . t e x t l i n k f a r . h 5 . d d l
t e x t l i n k s r c - m e r g e p r u n e . t e x t l i n k s r c . h 5 . d d l
t e x t l i n k t a r - m e r g e p r u n e . t e x t l i n k t a r . h 5 . d d l
t e x t l i n k - m e r g e p r u n e . t e x t l i n k . h 5 . d d l
t s o f t l i n k s - m e r g e p r u n e . t s o f t l i n k s . h 5 . d d l
h 5 c o p y _ e x t l i n k s _ s r c - m e r g e p r u n e . h 5 c o p y _ e x t l i n k s _ s r c . h 5 . d d l
2017-10-04 00:14:35 +08:00
)
2023-09-27 04:46:55 +08:00
foreach ( h5_file ${ LIST_REPACK_TEST_FILES } )
HDFTEST_COPY_FILE ( "${PROJECT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
endforeach ( )
foreach ( h5_file ${ LIST_COPY_TEST_FILES } )
HDFTEST_COPY_FILE ( "${HDF5_TOOLS_TST_DIR}/h5copy/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
endforeach ( )
foreach ( h5_file ${ LIST_DIFF_TEST_FILES } )
HDFTEST_COPY_FILE ( "${HDF5_TOOLS_TST_DIR}/h5diff/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
endforeach ( )
foreach ( h5_file ${ LIST_VDS_TEST_FILES } )
HDFTEST_COPY_FILE ( "${HDF5_TOOLS_TST_DIR}/h5dump/testfiles/vds/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
endforeach ( )
2017-10-04 00:14:35 +08:00
foreach ( h5_file ${ LIST_HDF5_TEST_FILES } )
2023-09-27 04:46:55 +08:00
HDFTEST_COPY_FILE ( "${HDF5_TOOLS_TST_DIR}/h5dump/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
2017-01-11 07:09:53 +08:00
endforeach ( )
2017-10-04 00:14:35 +08:00
foreach ( h5_file ${ LIST_OTHER_TEST_FILES } )
2023-09-27 04:46:55 +08:00
HDFTEST_COPY_FILE ( "${PROJECT_SOURCE_DIR}/testfiles/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
2017-10-04 00:14:35 +08:00
endforeach ( )
foreach ( h5_file ${ LIST_TST_TEST_FILES } )
2023-09-27 04:46:55 +08:00
HDFTEST_COPY_FILE ( "${PROJECT_SOURCE_DIR}/expected/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
2017-10-04 00:14:35 +08:00
endforeach ( )
foreach ( h5_file ${ LIST_DDL_TEST_FILES } )
2023-09-27 04:46:55 +08:00
HDFTEST_COPY_FILE ( "${PROJECT_SOURCE_DIR}/expected/${h5_file}" "${PROJECT_BINARY_DIR}/testfiles/${h5_file}" "h5repack_files" )
2017-10-04 00:14:35 +08:00
endforeach ( )
2016-10-27 23:06:00 +08:00
add_custom_target ( h5repack_files ALL COMMENT "Copying files needed by h5repack tests" DEPENDS ${ h5repack_files_list } )
##############################################################################
##############################################################################
### T H E T E S T S M A C R O S ###
##############################################################################
##############################################################################
2017-03-02 04:47:53 +08:00
macro ( ADD_HELP_TEST testname resultcode )
2016-10-27 23:06:00 +08:00
# If using memchecker add tests without using scripts
2024-03-06 01:07:16 +08:00
if ( HDF5_USING_ANALYSIS_TOOL )
2024-03-04 22:53:52 +08:00
add_test ( NAME H5REPACK-h5repack- ${ testname } COMMAND ${ CMAKE_CROSSCOMPILING_EMULATOR } $< TARGET_FILE:h5repack > ${ ARGN } )
2017-01-11 07:09:53 +08:00
else ( )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K - h 5 r e p a c k - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 r e p a c k > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = $ { A R G N } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = h 5 r e p a c k - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = h 5 r e p a c k - $ { t e s t n a m e } . t x t "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2017-01-11 07:09:53 +08:00
endif ( )
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK-h5repack- ${ testname } PROPERTIES
2022-08-07 12:59:31 +08:00
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
2019-07-24 05:24:56 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK-h5repack-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK-h5repack- ${ testname } PROPERTIES DISABLED true )
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_TEST_OLD testname testtype testfile )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2019-07-24 05:24:56 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ O L D - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } - i $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } - o $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_OLD- ${ testname } PROPERTY DISABLED true )
2019-07-24 05:24:56 +08:00
else ( )
add_test (
N A M E H 5 R E P A C K _ O L D - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
add_test (
N A M E H 5 R E P A C K _ O L D - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } - i $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } - o $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2019-07-24 05:24:56 +08:00
)
set_tests_properties ( H5REPACK_OLD- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ O L D - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_OLD-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_OLD- ${ testname } PROPERTIES DISABLED true )
endif ( )
2019-07-24 05:24:56 +08:00
add_test (
N A M E H 5 R E P A C K _ O L D - $ { t e s t n a m e } _ D F F
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2019-07-24 05:24:56 +08:00
)
set_tests_properties ( H5REPACK_OLD- ${ testname } _DFF PROPERTIES
D E P E N D S H 5 R E P A C K _ O L D - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_OLD-${testname}_DFF" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_OLD- ${ testname } _DFF PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ O L D - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( H5REPACK_OLD- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ O L D - $ { t e s t n a m e } _ D F F
)
2017-01-11 07:09:53 +08:00
endif ( )
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_TEST testname testtype testfile )
2016-10-27 23:06:00 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK- ${ testname } PROPERTY DISABLED true )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2016-10-27 23:06:00 +08:00
add_test (
2017-10-04 00:14:35 +08:00
N A M E H 5 R E P A C K - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
2017-10-04 00:14:35 +08:00
add_test (
N A M E H 5 R E P A C K - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > - - e n a b l e - e r r o r - s t a c k $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2017-10-04 00:14:35 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K - $ { t e s t n a m e } - c l e a r - o b j e c t s
2017-10-04 00:14:35 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK- ${ testname } PROPERTIES DISABLED true )
endif ( )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K - $ { t e s t n a m e } _ D F F
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > - - e n a b l e - e r r o r - s t a c k $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK- ${ testname } _DFF PROPERTIES
D E P E N D S H 5 R E P A C K - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK-${testname}_DFF" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK- ${ testname } _DFF PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( H5REPACK- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K - $ { t e s t n a m e } _ D F F
)
2017-01-11 07:09:53 +08:00
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2024-03-11 07:43:37 +08:00
macro ( ADD_H5_FILTER_TEST testname testfilter replacefilter testtype resultcode resultfile )
2016-10-27 23:06:00 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ C M P - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_CMP- ${ testname } PROPERTY DISABLED true )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ C M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
2016-10-27 23:06:00 +08:00
# If using memchecker add tests without using scripts
2024-03-06 01:07:16 +08:00
if ( HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ C M P - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
2017-08-02 23:53:17 +08:00
)
2022-08-07 12:59:31 +08:00
set_tests_properties ( H5REPACK_CMP- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ C M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
2017-10-04 00:14:35 +08:00
)
2022-08-07 12:59:31 +08:00
else ( )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ C M P - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 r e p a c k > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = $ { A R G N } ; $ { r e s u l t f i l e } ; o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
2024-03-11 07:43:37 +08:00
- D " T E S T _ M A S K : S T R I N G = O ? . . . i n g f i l e [ ^ \ n ] + \ n "
- D " T E S T _ F I L T E R : S T R I N G = G Z I P \ \ ( 0 \ \ . [ 0 - 9 ] [ 0 - 9 ] [ 0 - 9 ] : 1 \ \ ) "
- D " T E S T _ F I L T E R _ R E P L A C E : S T R I N G = GZIP ( 0.XXX:1 ) "
2016-10-27 23:06:00 +08:00
- D " T E S T _ R E F E R E N C E = $ { r e s u l t f i l e } - $ { t e s t n a m e } . t s t "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_CMP- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ C M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_CMP-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_CMP- ${ testname } PROPERTIES DISABLED true )
endif ( )
2016-10-27 23:06:00 +08:00
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ C M P - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_CMP- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ C M P - $ { t e s t n a m e }
)
2017-01-11 07:09:53 +08:00
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2019-04-15 22:46:29 +08:00
macro ( ADD_H5_MASK_TEST testname testtype resultcode result_errcheck resultfile )
2016-10-27 23:06:00 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ M A S K - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_MASK- ${ testname } PROPERTY DISABLED true )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ M A S K - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
2016-10-27 23:06:00 +08:00
# If using memchecker add tests without using scripts
2024-03-06 01:07:16 +08:00
if ( HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ M A S K - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
2017-08-02 23:53:17 +08:00
)
2024-03-11 07:43:37 +08:00
else ( )
2019-04-15 22:46:29 +08:00
add_test (
N A M E H 5 R E P A C K _ M A S K - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 r e p a c k > "
2019-04-15 22:46:29 +08:00
- D " T E S T _ A R G S : S T R I N G = $ { A R G N } ; $ { r e s u l t f i l e } ; o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ S K I P _ C O M P A R E = t r u e "
- D " T E S T _ R E F E R E N C E = $ { r e s u l t f i l e } . m t y "
- D " T E S T _ E R R R E F = $ { r e s u l t _ e r r c h e c k } "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / g r e p T e s t . c m a k e "
2019-04-15 22:46:29 +08:00
)
2016-10-27 23:06:00 +08:00
endif ( )
2022-08-07 12:59:31 +08:00
set_tests_properties ( H5REPACK_MASK- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ M A S K - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_MASK-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_MASK- ${ testname } PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ M A S K - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_MASK- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ M A S K - $ { t e s t n a m e }
)
2017-01-11 07:09:53 +08:00
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_DMP_TEST testname testtype resultcode resultfile )
2016-10-27 23:06:00 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_DMP- ${ testname } PROPERTY DISABLED true )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2016-10-27 23:06:00 +08:00
add_test (
2017-10-04 00:14:35 +08:00
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
2017-10-04 00:14:35 +08:00
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
2017-10-04 00:14:35 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_DMP- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
2017-10-04 00:14:35 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_DMP-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DMP- ${ testname } PROPERTIES DISABLED true )
endif ( )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ D M P - h 5 d u m p - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2017-05-23 02:10:40 +08:00
- D " T E S T _ A R G S : S T R I N G = - q ; c r e a t i o n _ o r d e r ; - p H ; o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
2016-10-27 23:06:00 +08:00
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = $ { t e s t n a m e } . $ { r e s u l t f i l e } . d d l "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_DMP-h5dump- ${ testname } PROPERTIES
2022-08-07 12:59:31 +08:00
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_DMP-h5dump-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DMP-h5dump- ${ testname } PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_DMP- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - h 5 d u m p - $ { t e s t n a m e }
)
else ( )
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_DMP- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e }
2019-07-24 05:24:56 +08:00
)
2017-01-11 07:09:53 +08:00
endif ( )
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2024-03-11 07:43:37 +08:00
macro ( ADD_H5_DMP_MASK testname testtype resultcode resultfile )
if ( "${testtype}" STREQUAL "SKIP" )
if ( NOT HDF5_USING_ANALYSIS_TOOL )
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e }
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
set_property ( TEST H5REPACK_DMP- ${ testname } PROPERTY DISABLED true )
endif ( )
else ( )
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e }
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_DMP- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
if ( "H5REPACK_DMP-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DMP- ${ testname } PROPERTIES DISABLED true )
endif ( )
if ( NOT HDF5_USING_ANALYSIS_TOOL )
add_test (
N A M E H 5 R E P A C K _ D M P - h 5 d u m p - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
- D " T E S T _ A R G S : S T R I N G = - q ; c r e a t i o n _ o r d e r ; - p H ; o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = $ { t e s t n a m e } . $ { r e s u l t f i l e } . d d l "
- D " T E S T _ F I L T E R : S T R I N G = S I Z E [ 0 - 9 ] [ 0 - 9 ] [ 0 - 9 ] [ 0 - 9 ] \ \ ( 2 \ \ \ . [ 0 - 9 ] [ 0 - 9 ] [ 0 - 9 ] : 1 C O M P R E S S I O N \ \ ) "
- D " T E S T _ F I L T E R _ R E P L A C E : S T R I N G = S I Z E XXXX ( 2.XXX:1 COMPRESSION ) "
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
)
set_tests_properties ( H5REPACK_DMP-h5dump- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e }
)
if ( "H5REPACK_DMP-h5dump-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DMP-h5dump- ${ testname } PROPERTIES DISABLED true )
endif ( )
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_DMP- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - h 5 d u m p - $ { t e s t n a m e }
)
else ( )
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_DMP- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e }
)
endif ( )
endif ( )
endmacro ( )
2022-08-03 03:54:40 +08:00
macro ( ADD_H5_DMP_NO_OPT_TEST testname testtype resultcode resultfile )
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2022-08-03 03:54:40 +08:00
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e }
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_DMP- ${ testname } PROPERTY DISABLED true )
2022-08-03 03:54:40 +08:00
endif ( )
else ( )
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_DMP- ${ testname } -clear-objects PROPERTIES
F I X T U R E S _ R E Q U I R E D c l e a r _ h 5 r e p a c k
)
add_test (
N A M E H 5 R E P A C K _ D M P - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
2022-08-03 03:54:40 +08:00
)
set_tests_properties ( H5REPACK_DMP- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ D M P - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_DMP-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DMP- ${ testname } PROPERTIES DISABLED true )
endif ( )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2022-08-03 03:54:40 +08:00
add_test (
N A M E H 5 R E P A C K _ D M P - h 5 d u m p - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2022-08-03 03:54:40 +08:00
- D " T E S T _ A R G S : S T R I N G = o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = $ { t e s t n a m e } . $ { r e s u l t f i l e } . d d l "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2022-08-03 03:54:40 +08:00
)
set_tests_properties ( H5REPACK_DMP-h5dump- ${ testname } PROPERTIES
D E P E N D S " H 5 R E P A C K _ D M P - $ { t e s t n a m e } "
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_DMP-h5dump-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DMP-h5dump- ${ testname } PROPERTIES DISABLED true )
endif ( )
2022-08-03 03:54:40 +08:00
endif ( )
endif ( )
endmacro ( )
2020-08-15 01:16:58 +08:00
macro ( ADD_H5_DIFF_TEST testname testtype resultcode testfile )
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2020-08-15 01:16:58 +08:00
add_test (
N A M E H 5 R E P A C K _ D I F F - $ { t e s t n a m e }
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_DIFF- ${ testname } PROPERTY DISABLED true )
2020-08-15 01:16:58 +08:00
endif ( )
else ( )
add_test (
N A M E H 5 R E P A C K _ D I F F - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
add_test (
N A M E H 5 R E P A C K _ D I F F - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > - - e n a b l e - e r r o r - s t a c k $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2020-08-15 01:16:58 +08:00
)
set_tests_properties ( H5REPACK_DIFF- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ D I F F - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_DIFF-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DIFF- ${ testname } PROPERTIES DISABLED true )
endif ( )
2020-08-15 01:16:58 +08:00
add_test (
N A M E H 5 R E P A C K _ D I F F - $ { t e s t n a m e } _ D F F
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d i f f > "
2020-08-15 01:16:58 +08:00
- D " T E S T _ A R G S : S T R I N G = - v ; - - e n a b l e - e r r o r - s t a c k ; $ { t e s t f i l e } ; o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = o u t - $ { t e s t n a m e } . $ { t e s t f i l e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = $ { t e s t n a m e } . $ { t e s t f i l e } . t s t "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2020-08-15 01:16:58 +08:00
)
set_tests_properties ( H5REPACK_DIFF- ${ testname } _DFF PROPERTIES
D E P E N D S H 5 R E P A C K _ D I F F - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_DIFF-${testname}_DFF" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_DIFF- ${ testname } _DFF PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ D I F F - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( H5REPACK_DIFF- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ D I F F - $ { t e s t n a m e } _ D F F
)
2020-08-15 01:16:58 +08:00
endif ( )
endmacro ( )
2017-08-02 23:53:17 +08:00
macro ( ADD_H5_STAT_TEST testname testtype resultcode statarg resultfile )
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2017-08-02 23:53:17 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ S T A T - $ { t e s t n a m e }
2017-08-02 23:53:17 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { s t a t a r g } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_STAT- ${ testname } PROPERTY DISABLED true )
2017-08-02 23:53:17 +08:00
endif ( )
else ( )
add_test (
2017-10-04 00:14:35 +08:00
N A M E H 5 R E P A C K _ S T A T - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { s t a t a r g } . $ { r e s u l t f i l e }
)
2017-10-04 00:14:35 +08:00
add_test (
N A M E H 5 R E P A C K _ S T A T - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { r e s u l t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { s t a t a r g } . $ { r e s u l t f i l e }
2017-10-04 00:14:35 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_STAT- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ S T A T - $ { t e s t n a m e } - c l e a r - o b j e c t s
2017-10-04 00:14:35 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_STAT-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_STAT- ${ testname } PROPERTIES DISABLED true )
endif ( )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2017-08-02 23:53:17 +08:00
add_test (
N A M E H 5 R E P A C K _ S T A T - h 5 s t a t - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 s t a t > "
2017-08-02 23:53:17 +08:00
- D " T E S T _ A R G S : S T R I N G = - S ; - s ; o u t - $ { s t a t a r g } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = $ { s t a t a r g } . $ { r e s u l t f i l e } . d d l "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2017-08-02 23:53:17 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_STAT-h5stat- ${ testname } PROPERTIES
2022-08-07 12:59:31 +08:00
D E P E N D S H 5 R E P A C K _ S T A T - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_STAT-h5stat-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_STAT-h5stat- ${ testname } PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ S T A T - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { s t a t a r g } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_STAT- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ S T A T - h 5 s t a t - $ { t e s t n a m e }
)
else ( )
add_test (
N A M E H 5 R E P A C K _ S T A T - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { s t a t a r g } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_STAT- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ S T A T - $ { t e s t n a m e }
2019-07-24 05:24:56 +08:00
)
2017-08-02 23:53:17 +08:00
endif ( )
endif ( )
endmacro ( )
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_VERIFY_TEST testname testtype resultcode testfile testdset testfilter )
2016-10-27 23:06:00 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P - d $ { t e s t d s e t } - p H $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_VERIFY_LAYOUT- ${ testname } PROPERTY DISABLED true )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2017-10-04 00:14:35 +08:00
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
2017-10-04 00:14:35 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2017-10-04 00:14:35 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } - c l e a r - o b j e c t s
2017-10-04 00:14:35 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_LAYOUT-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } PROPERTIES DISABLED true )
endif ( )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } _ D F F
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } _DFF PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_LAYOUT-${testname}_DFF" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } _DFF PROPERTIES DISABLED true )
endif ( )
2019-02-16 05:48:24 +08:00
if ( NOT ${ resultcode } )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } _ D M P
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = - d ; $ { t e s t d s e t } ; - p H ; o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { t e s t f i l e } - $ { t e s t n a m e } - v . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ F I L T E R : S T R I N G = $ { t e s t f i l t e r } "
- D " T E S T _ R E F E R E N C E = $ { t e s t f i l t e r } "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / g r e p T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } _DMP PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } _ D F F
)
2017-01-11 07:09:53 +08:00
else ( )
2016-10-27 23:06:00 +08:00
if ( "${testfilter}" STREQUAL "CHUNKED" )
set ( nottestfilter "(CONTIGUOUS|COMPACT)" )
endif ( )
if ( "${testfilter}" STREQUAL "CONTIGUOUS" )
set ( nottestfilter "(CHUNK|COMPACT)" )
endif ( )
if ( "${testfilter}" STREQUAL "COMPACT" )
set ( nottestfilter "(CONTIGUOUS|CHUNK)" )
endif ( )
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } _ D M P
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = - p H ; o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { t e s t f i l e } - $ { t e s t n a m e } - v . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ F I L T E R : S T R I N G = $ { n o t t e s t f i l t e r } "
- D " T E S T _ R E F E R E N C E = $ { t e s t f i l t e r } "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / g r e p T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } _DMP PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } _ D F F
)
2017-01-11 07:09:53 +08:00
endif ( )
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_LAYOUT-${testname}_DMP" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } _DMP PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( H5REPACK_VERIFY_LAYOUT- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T - $ { t e s t n a m e } _ D M P
)
2017-01-11 07:09:53 +08:00
endif ( )
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_VERIFY_VDS testname testtype resultcode testfile testdset testfilter )
2016-10-27 23:06:00 +08:00
if ( "${testtype}" STREQUAL "SKIP" )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
add_test (
2018-09-25 03:38:46 +08:00
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e }
2016-10-27 23:06:00 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P - d $ { t e s t d s e t } - p H $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_VERIFY_LAYOUT_VDS- ${ testname } PROPERTY DISABLED true )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2017-10-04 00:14:35 +08:00
# Remove any output file left over from previous test run
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_LAYOUT_VDS- ${ testname } PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e } - c l e a r - o b j e c t s
2016-10-27 23:06:00 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_LAYOUT_VDS-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_LAYOUT_VDS- ${ testname } PROPERTIES DISABLED true )
endif ( )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e } _ D M P
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = - d ; $ { t e s t d s e t } ; - p ; o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { t e s t f i l e } - $ { t e s t n a m e } - v . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ R E F E R E N C E = $ { t e s t f i l e } - $ { t e s t n a m e } - v . d d l "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_LAYOUT_VDS- ${ testname } _DMP PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_LAYOUT_VDS-${testname}_DMP" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_LAYOUT_VDS- ${ testname } _DMP PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( H5REPACK_VERIFY_LAYOUT_VDS- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ L A Y O U T _ V D S - $ { t e s t n a m e } _ D M P
)
2017-01-11 07:09:53 +08:00
endif ( )
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2018-03-06 23:02:32 +08:00
# VERIFY_SUPERBLOCK
macro ( ADD_H5_VERIFY_SUPERBLOCK testname testfile lowbound highbound superblock )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2018-03-06 23:02:32 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
2018-03-06 23:02:32 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > - j ; $ { l o w b o u n d } ; - k ; $ { h i g h b o u n d } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2018-03-06 23:02:32 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_SUPERBLOCK- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e } - c l e a r - o b j e c t s
2018-03-06 23:02:32 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_SUPERBLOCK-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_SUPERBLOCK- ${ testname } PROPERTIES DISABLED true )
endif ( )
2018-03-06 23:02:32 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e } _ D M P
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2018-03-06 23:02:32 +08:00
- D " T E S T _ A R G S : S T R I N G = - H ; - B ; o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { t e s t f i l e } - $ { t e s t n a m e } - v . o u t "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
- D " T E S T _ F I L T E R : S T R I N G = S U P E R B L O C K _ V E R S I O N $ { s u p e r b l o c k } "
- D " T E S T _ R E F E R E N C E = S U P E R B L O C K _ V E R S I O N $ { s u p e r b l o c k } "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / g r e p T e s t . c m a k e "
2018-03-06 23:02:32 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_VERIFY_SUPERBLOCK- ${ testname } _DMP PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_VERIFY_SUPERBLOCK-${testname}_DMP" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_VERIFY_SUPERBLOCK- ${ testname } _DMP PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( H5REPACK_VERIFY_SUPERBLOCK- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ V E R I F Y _ S U P E R B L O C K - $ { t e s t n a m e } _ D M P
)
2018-03-06 23:02:32 +08:00
endif ( )
endmacro ( )
macro ( ADD_H5_VERIFY_INVALIDBOUNDS testname resultcode lowbound highbound )
add_test (
N A M E A D D _ H 5 _ V E R I F Y _ I N V A L I D B O U N D S - h 5 r e p a c k - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
2018-03-06 23:02:32 +08:00
add_test (
2018-03-08 05:55:33 +08:00
N A M E A D D _ H 5 _ V E R I F Y _ I N V A L I D B O U N D S - h 5 r e p a c k - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > - j ; $ { l o w b o u n d } ; - k ; $ { h i g h b o u n d } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
2018-03-06 23:02:32 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( ADD_H5_VERIFY_INVALIDBOUNDS-h5repack- ${ testname } PROPERTIES
D E P E N D S A D D _ H 5 _ V E R I F Y _ I N V A L I D B O U N D S - h 5 r e p a c k - $ { t e s t n a m e } - c l e a r - o b j e c t s
W I L L _ F A I L " t r u e "
2018-03-06 23:02:32 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "ADD_H5_VERIFY_INVALIDBOUNDS-h5repack-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( ADD_H5_VERIFY_INVALIDBOUNDS-h5repack- ${ testname } PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E A D D _ H 5 _ V E R I F Y _ I N V A L I D B O U N D S - h 5 r e p a c k - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e }
)
set_tests_properties ( ADD_H5_VERIFY_INVALIDBOUNDS-h5repack- ${ testname } -clean-objects PROPERTIES
D E P E N D S A D D _ H 5 _ V E R I F Y _ I N V A L I D B O U N D S - h 5 r e p a c k - $ { t e s t n a m e }
)
2018-03-06 23:02:32 +08:00
endmacro ( )
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_TEST_META testname testfile )
2017-10-04 00:14:35 +08:00
# Remove any output file left over from previous test run
2016-10-27 23:06:00 +08:00
add_test (
2020-02-25 02:45:22 +08:00
N A M E H 5 R E P A C K _ M E T A - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e
2017-10-04 00:14:35 +08:00
t e s t f i l e s / o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . h 5
t e s t f i l e s / o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . h 5
2019-07-24 05:24:56 +08:00
)
2017-10-04 00:14:35 +08:00
add_test (
N A M E H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ N
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . h 5
2017-10-04 00:14:35 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_META- ${ testname } _N PROPERTIES
2020-02-25 02:45:22 +08:00
D E P E N D S H 5 R E P A C K _ M E T A - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_META-${testname}_N" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_META- ${ testname } _N PROPERTIES DISABLED true )
endif ( )
2020-02-25 02:45:22 +08:00
add_test (
N A M E H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ N _ D F F
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d i f f > "
2020-02-25 02:45:22 +08:00
- D " T E S T _ A R G S : S T R I N G = - v ; $ { t e s t f i l e } ; o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . h 5 "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = 0 "
- D " T E S T _ R E F E R E N C E = o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . t x t "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2020-02-25 02:45:22 +08:00
)
set_tests_properties ( H5REPACK_META- ${ testname } _N_DFF PROPERTIES
D E P E N D S H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ N
2017-10-04 00:14:35 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_META-${testname}_N_DFF" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_META- ${ testname } _N_DFF PROPERTIES DISABLED true )
endif ( )
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ M
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . h 5
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_META- ${ testname } _M PROPERTIES
2020-02-25 02:45:22 +08:00
D E P E N D S H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ N _ D F F
2016-10-27 23:06:00 +08:00
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_META-${testname}_M" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_META- ${ testname } _M PROPERTIES DISABLED true )
endif ( )
2020-02-25 02:45:22 +08:00
add_test (
N A M E H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ M _ D F F
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d i f f > "
2020-02-25 02:45:22 +08:00
- D " T E S T _ A R G S : S T R I N G = - v ; $ { t e s t f i l e } ; o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . h 5 "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . o u t "
- D " T E S T _ E X P E C T = 0 "
- D " T E S T _ R E F E R E N C E = o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . t x t "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2020-02-25 02:45:22 +08:00
)
set_tests_properties ( H5REPACK_META- ${ testname } _M_DFF PROPERTIES
2019-07-24 05:24:56 +08:00
D E P E N D S H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ M
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_META-${testname}_M_DFF" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_META- ${ testname } _M_DFF PROPERTIES DISABLED true )
endif ( )
2020-02-25 02:45:22 +08:00
add_test ( NAME H5REPACK_META- ${ testname }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
2022-08-07 12:59:31 +08:00
- D " T E S T _ O N E F I L E = o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . h 5 "
2020-02-25 02:45:22 +08:00
- D " T E S T _ T W O F I L E = o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . h 5 "
- D " T E S T _ F U N C T I O N = L T E Q "
- P " $ { H D F _ R E S O U R C E S _ D I R } / f i l e C o m p a r e T e s t . c m a k e "
)
set_tests_properties ( H5REPACK_META- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ M E T A - $ { t e s t n a m e } _ M _ D F F
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_META-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_META- ${ testname } PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ M E T A - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e
t e s t f i l e s / o u t - $ { t e s t n a m e } _ N . $ { t e s t n a m e } . h 5
t e s t f i l e s / o u t - $ { t e s t n a m e } _ M . $ { t e s t n a m e } . h 5
)
set_tests_properties ( H5REPACK_META- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ M E T A - $ { t e s t n a m e }
)
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2017-03-02 04:47:53 +08:00
macro ( ADD_H5_UD_TEST testname resultcode resultfile )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2016-10-27 23:06:00 +08:00
# Remove any output file left over from previous test run
add_test (
2017-10-04 00:14:35 +08:00
N A M E H 5 R E P A C K _ U D - $ { t e s t n a m e } - c l e a r - o b j e c t s
2019-07-24 05:24:56 +08:00
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
2016-10-27 23:06:00 +08:00
add_test (
N A M E H 5 R E P A C K _ U D - $ { t e s t n a m e }
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 r e p a c k > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = $ { A R G N } ; $ { r e s u l t f i l e } ; o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ E X P E C T = $ { r e s u l t c o d e } "
2024-03-11 07:43:37 +08:00
- D " T E S T _ M A S K : S T R I N G = O ? . . . i n g f i l e [ ^ \ n ] + \ n "
2016-10-27 23:06:00 +08:00
- D " T E S T _ O U T P U T = $ { t e s t n a m e } . $ { r e s u l t f i l e } . o u t "
- D " T E S T _ R E F E R E N C E = $ { t e s t n a m e } . $ { r e s u l t f i l e } . t s t "
- D " T E S T _ E N V _ V A R = H D F 5 _ P L U G I N _ P A T H "
- D " T E S T _ E N V _ V A L U E = $ { C M A K E _ B I N A R Y _ D I R } / p l u g i n s "
2019-06-22 02:46:46 +08:00
- D " T E S T _ L I B R A R Y _ D I R E C T O R Y = $ { C M A K E _ T E S T _ O U T P U T _ D I R E C T O R Y } "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_UD- ${ testname } PROPERTIES
D E P E N D S H 5 R E P A C K _ U D - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_UD-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_UD- ${ testname } PROPERTIES DISABLED true )
endif ( )
2016-10-27 23:06:00 +08:00
add_test (
2017-10-04 00:14:35 +08:00
N A M E H 5 R E P A C K _ U D - $ { t e s t n a m e } - h 5 d u m p
2016-10-27 23:06:00 +08:00
C O M M A N D " $ { C M A K E _ C O M M A N D } "
2019-07-15 22:44:14 +08:00
- D " T E S T _ E M U L A T O R = $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } "
2024-03-04 22:53:52 +08:00
- D " T E S T _ P R O G R A M = $ < T A R G E T _ F I L E : h 5 d u m p > "
2016-10-27 23:06:00 +08:00
- D " T E S T _ A R G S : S T R I N G = - p H ; o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e } "
- D " T E S T _ F O L D E R = $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
- D " T E S T _ O U T P U T = $ { r e s u l t f i l e } - $ { t e s t n a m e } . o u t "
2017-10-04 00:14:35 +08:00
- D " T E S T _ E X P E C T = 0 "
2016-10-27 23:06:00 +08:00
- D " T E S T _ R E F E R E N C E = $ { r e s u l t f i l e } - $ { t e s t n a m e } . d d l "
- D " T E S T _ E N V _ V A R = H D F 5 _ P L U G I N _ P A T H "
- D " T E S T _ E N V _ V A L U E = $ { C M A K E _ B I N A R Y _ D I R } / p l u g i n s "
2019-06-22 02:46:46 +08:00
- D " T E S T _ L I B R A R Y _ D I R E C T O R Y = $ { C M A K E _ T E S T _ O U T P U T _ D I R E C T O R Y } "
2022-08-19 22:54:42 +08:00
- P " $ { H D F _ R E S O U R C E S _ D I R } / r u n T e s t . c m a k e "
2016-10-27 23:06:00 +08:00
)
2019-07-24 05:24:56 +08:00
set_tests_properties ( H5REPACK_UD- ${ testname } -h5dump PROPERTIES
2022-08-07 12:59:31 +08:00
D E P E N D S H 5 R E P A C K _ U D - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_UD-${testname}-h5dump" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_UD- ${ testname } -h5dump PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ U D - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { r e s u l t f i l e }
)
set_tests_properties ( H5REPACK_UD- ${ testname } -clean-objects PROPERTIES
D E P E N D S H 5 R E P A C K _ U D - $ { t e s t n a m e } - h 5 d u m p
2019-07-24 05:24:56 +08:00
)
2017-01-11 07:09:53 +08:00
endif ( )
2017-03-02 04:47:53 +08:00
endmacro ( )
2016-10-27 23:06:00 +08:00
2019-10-02 05:38:48 +08:00
macro ( ADD_H5_EXTERNAL_TEST testname testtype testfile )
2024-03-06 01:07:16 +08:00
if ( NOT HDF5_USING_ANALYSIS_TOOL )
2020-01-25 23:36:20 +08:00
# canonical file = h5repack_${testfile}.h5 - preexist
# external file = h5repack_${testfile}_ex.h5 - preexist
# repacked file = h5repack_${testfile}_rp.h5 - created
# external data file = h5repack_${testfile}_ex-0.dat
if ( "${testtype}" STREQUAL "SKIP" )
2019-10-02 05:38:48 +08:00
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e }
C O M M A N D $ { C M A K E _ C O M M A N D } - E e c h o " S K I P $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / $ { t e s t f i l e } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - $ { t e s t n a m e } . $ { t e s t f i l e } "
)
2023-11-22 21:51:30 +08:00
set_property ( TEST H5REPACK_EXTERNAL- ${ testname } PROPERTY DISABLED true )
2020-01-25 23:36:20 +08:00
else ( )
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } - c l e a r - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } -clear-objects PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
)
# make sure external data file 0 is available
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ C P Y
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ i f _ d i f f e r e n t
" $ { P R O J E C T _ S O U R C E _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ e x - 0 . d a t " " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ e x - 0 . d a t "
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _CPY PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } - c l e a r - o b j e c t s
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_CPY" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _CPY PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
# comparison of known files
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 1
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > - - e n a b l e - e r r o r - s t a c k $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ e x . h 5
2020-01-25 23:36:20 +08:00
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF1 PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ C P Y
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_DFF1" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF1 PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
# repack the external file to the repacked file
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e }
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > - - e n a b l e - e r r o r - s t a c k $ { A R G N } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ e x . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5
2020-01-25 23:36:20 +08:00
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 1
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
# comparison of repacked file to known files
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 2
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > - - e n a b l e - e r r o r - s t a c k $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } . h 5
2020-01-25 23:36:20 +08:00
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF2 PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e }
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_DFF2" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF2 PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 3
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > - - e n a b l e - e r r o r - s t a c k $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ e x . h 5
2020-01-25 23:36:20 +08:00
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF3 PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 2
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_DFF3" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF3 PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
# invalidate external file by removing its first data file
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D A T A _ R M V
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e h 5 r e p a c k _ $ { t e s t f i l e } _ e x - 0 . d a t
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DATA_RMV PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 3
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_DATA_RMV" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DATA_RMV PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
# verify comparison of repacked file to known file
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 4
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > - - e n a b l e - e r r o r - s t a c k $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } . h 5
2020-01-25 23:36:20 +08:00
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF4 PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D A T A _ R M V
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_DFF4" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF4 PROPERTIES DISABLED true )
endif ( )
2020-01-25 23:36:20 +08:00
# verify comparison of repacked file to known external file fails
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F _ F A I L
2024-03-04 22:53:52 +08:00
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 d i f f > - - e n a b l e - e r r o r - s t a c k $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ $ { t e s t f i l e } _ e x . h 5
2020-01-25 23:36:20 +08:00
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF_FAIL PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F 4
W I L L _ F A I L " t r u e "
)
2023-11-22 21:51:30 +08:00
if ( "H5REPACK_EXTERNAL-${testname}_DFF_FAIL" MATCHES "${HDF5_DISABLE_TESTS_REGEX}" )
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } _DFF_FAIL PROPERTIES DISABLED true )
endif ( )
2022-08-07 12:59:31 +08:00
add_test (
N A M E H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } - c l e a n - o b j e c t s
C O M M A N D $ { C M A K E _ C O M M A N D } - E r e m o v e h 5 r e p a c k _ $ { t e s t f i l e } _ r p . h 5
)
set_tests_properties ( H5REPACK_EXTERNAL- ${ testname } -clean-objects PROPERTIES
W O R K I N G _ D I R E C T O R Y " $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s "
D E P E N D S H 5 R E P A C K _ E X T E R N A L - $ { t e s t n a m e } _ D F F _ F A I L
)
2019-10-02 05:38:48 +08:00
endif ( )
endif ( )
endmacro ( )
2016-10-27 23:06:00 +08:00
##############################################################################
##############################################################################
### T H E T E S T S ###
##############################################################################
##############################################################################
# --------------------------------------------------------------------
# test file names
# --------------------------------------------------------------------
set ( INFO_FILE testfiles/h5repack.info )
set ( FILE0 h5repack_fill.h5 )
set ( FILE1 h5repack_objs.h5 )
set ( FILE2 h5repack_attr.h5 )
set ( FILE3 h5repack_hlink.h5 )
set ( FILE4 h5repack_layout.h5 )
set ( FILE5 h5repack_early.h5 )
set ( FILE7 h5repack_szip.h5 )
set ( FILE8 h5repack_deflate.h5 )
set ( FILE9 h5repack_shuffle.h5 )
set ( FILE10 h5repack_fletcher.h5 )
set ( FILE11 h5repack_filters.h5 )
set ( FILE12 h5repack_nbit.h5 )
set ( FILE13 h5repack_soffset.h5 )
set ( FILE14 h5repack_layouto.h5 ) # A file with an older version of the layout message (copy of test/tlayouto.h5)
set ( FILE15 h5repack_named_dtypes.h5 )
set ( FILE16 tfamily%05d.h5 ) # located in common testfiles folder
set ( FILE18 h5repack_layout2.h5 )
2019-08-04 06:28:50 +08:00
set ( FILE19 h5repack_layout3.h5 )
2016-10-27 23:06:00 +08:00
set ( FILE_REF h5repack_refs.h5 )
set ( FILE_ATTR_REF h5repack_attr_refs.h5 )
set ( FILEV1 1_vds.h5 )
set ( FILEV2 2_vds.h5 )
set ( FILEV3_1 3_1_vds.h5 )
set ( FILEV3_2 3_2_vds.h5 )
set ( FILEV4 4_vds.h5 )
set ( FILEV5 5_vds.h5 )
ADD_HELP_TEST ( help 0 -h )
2019-07-15 22:44:14 +08:00
add_test ( NAME H5REPACK-testh5repack_detect_szip COMMAND ${ CMAKE_CROSSCOMPILING_EMULATOR } $< TARGET_FILE:testh5repack_detect_szip > )
2016-10-27 23:06:00 +08:00
if ( HDF5_ENABLE_SZIP_SUPPORT )
if ( HDF5_ENABLE_SZIP_ENCODING )
set ( passRegex "yes" )
set_tests_properties ( H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "yes" )
2017-01-11 07:09:53 +08:00
else ( )
2016-10-27 23:06:00 +08:00
set ( passRegex "no" )
set_tests_properties ( H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no" )
2017-01-11 07:09:53 +08:00
endif ( )
else ( )
2016-10-27 23:06:00 +08:00
set ( passRegex "no" )
set_tests_properties ( H5REPACK-testh5repack_detect_szip PROPERTIES PASS_REGULAR_EXPRESSION "no" )
2017-01-11 07:09:53 +08:00
endif ( )
2022-08-07 12:59:31 +08:00
set_tests_properties ( H5REPACK-testh5repack_detect_szip PROPERTIES DEPENDS H5REPACK-h5repack- ${ testname } )
2019-08-04 06:28:50 +08:00
set ( last_test "H5REPACK-testh5repack_detect_szip" )
2016-10-27 23:06:00 +08:00
2019-08-04 06:28:50 +08:00
# add_test (NAME H5REPACK-h5repacktest COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5repacktest>)
# set_tests_properties (H5REPACK-h5repacktest PROPERTIES DEPENDS H5REPACK-testh5repack_detect_szip)
# set (last_test "H5REPACK-h5repacktest")
2016-10-27 23:06:00 +08:00
#
# The tests
# We use the files generated by h5repacktst
# Each run generates "<file>.out.h5" and the tool h5diff is used to
# compare the input and output files
#
# the tests are the same as the program h5repacktst, but run from the CLI
#
# See which filters are usable (and skip tests for filters we
# don't have). Do this by searching H5pubconf.h to see which
# filters are defined.
# detect whether the encoder is present.
2017-10-03 05:41:13 +08:00
# set (USE_FILTER_SZIP_ENCODER 0)
2016-10-27 23:06:00 +08:00
if ( HDF5_ENABLE_SZIP_ENCODING )
set ( USE_FILTER_SZIP_ENCODER ${ testh5repack_detect_szip } )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
if ( H5_HAVE_FILTER_DEFLATE )
2017-10-03 05:41:13 +08:00
set ( USE_FILTER_DEFLATE 1 )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
if ( H5_HAVE_FILTER_SZIP )
2017-10-03 05:41:13 +08:00
set ( USE_FILTER_SZIP 1 )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
# copy files (these files have no filters)
ADD_H5_TEST ( fill "TEST" ${ FILE0 } )
ADD_H5_TEST ( objs "TEST" ${ FILE1 } )
ADD_H5_TEST ( attr "TEST" ${ FILE2 } )
ADD_H5_TEST ( hlink "TEST" ${ FILE3 } )
ADD_H5_TEST ( layout "TEST" ${ FILE4 } )
ADD_H5_TEST ( early "TEST" ${ FILE5 } )
2016-12-12 03:25:08 +08:00
# nested 8bit enum in both deflated and non-deflated datafiles
if ( NOT USE_FILTER_DEFLATE )
2017-01-11 07:09:53 +08:00
ADD_H5_TEST ( nested_8bit_enum "TEST" h5repack_nested_8bit_enum.h5 )
else ( )
ADD_H5_TEST ( nested_8bit_enum "TEST" h5repack_nested_8bit_enum_deflated.h5 )
endif ( )
2016-12-12 03:25:08 +08:00
2016-10-27 23:06:00 +08:00
# use $FILE4 to write some filters (this file has no filters)
# gzip with individual object
set ( arg ${ FILE4 } -f dset1:GZIP=1 -l dset1:CHUNK=20x10 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( gzip_individual ${ TESTTYPE } ${ arg } )
# gzip for all
set ( arg ${ FILE4 } -f GZIP=1 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( gzip_all ${ TESTTYPE } ${ arg } )
# szip with individual object
set ( arg ${ FILE4 } -f dset2:SZIP=8,EC -l dset2:CHUNK=20x10 )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( szip_individual ${ TESTTYPE } ${ arg } )
# szip for all
set ( arg ${ FILE4 } -f SZIP=8,NN )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( szip_all ${ TESTTYPE } ${ arg } )
# shuffle with individual object
set ( arg ${ FILE4 } -f dset2:SHUF -l dset2:CHUNK=20x10 )
ADD_H5_TEST ( shuffle_individual "TEST" ${ arg } )
# shuffle for all
set ( arg ${ FILE4 } -f SHUF )
ADD_H5_TEST ( shuffle_all "TEST" ${ arg } )
# fletcher32 with individual object
set ( arg ${ FILE4 } -f dset2:FLET -l dset2:CHUNK=20x10 )
ADD_H5_TEST ( fletcher_individual "TEST" ${ arg } )
# fletcher32 for all
set ( arg ${ FILE4 } -f FLET )
ADD_H5_TEST ( fletcher_all "TEST" ${ arg } )
# all filters
set ( arg ${ FILE4 } -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10 )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( all_filters ${ TESTTYPE } ${ arg } )
# verbose gzip with individual object
set ( arg ${ FILE11 } -v -f /dset_deflate:GZIP=9 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2024-03-11 07:43:37 +08:00
ADD_H5_FILTER_TEST ( gzip_verbose_filters "GZIP \(0\.[0-9][0-9][0-9]:1\)" "GZIP (0.XXX:1)" ${ TESTTYPE } 0 ${ arg } )
2016-10-27 23:06:00 +08:00
###########################################################
# the following tests assume the input files have filters
###########################################################
# szip copy
set ( arg ${ FILE7 } )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( szip_copy ${ TESTTYPE } ${ arg } )
# szip remove
set ( arg ${ FILE7 } --filter=dset_szip:NONE )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( szip_remove ${ TESTTYPE } ${ arg } )
# deflate copy
set ( arg ${ FILE8 } )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( deflate_copy ${ TESTTYPE } ${ arg } )
# deflate remove
set ( arg ${ FILE8 } -f dset_deflate:NONE )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( deflate_remove ${ TESTTYPE } ${ arg } )
# shuffle copy
set ( arg ${ FILE9 } )
ADD_H5_TEST ( shuffle_copy "TEST" ${ arg } )
# shuffle remove
set ( arg ${ FILE9 } -f dset_shuffle:NONE )
ADD_H5_TEST ( shuffle_remove "TEST" ${ arg } )
# fletcher32 copy
set ( arg ${ FILE10 } )
ADD_H5_TEST ( fletcher_copy "TEST" ${ arg } )
# fletcher32 remove
set ( arg ${ FILE10 } -f dset_fletcher32:NONE )
ADD_H5_TEST ( fletcher_remove "TEST" ${ arg } )
# nbit copy
set ( arg ${ FILE12 } )
ADD_H5_TEST ( nbit_copy "TEST" ${ arg } )
# nbit remove
set ( arg ${ FILE12 } -f dset_nbit:NONE )
ADD_H5_TEST ( nbit_remove "TEST" ${ arg } )
# nbit add
set ( arg ${ FILE12 } -f dset_int31:NBIT )
ADD_H5_TEST ( nbit_add "TEST" ${ arg } )
# scaleoffset copy
set ( arg ${ FILE13 } )
ADD_H5_TEST ( scale_copy "TEST" ${ arg } )
# scaleoffset add
set ( arg ${ FILE13 } -f dset_none:SOFF=31,IN )
ADD_H5_TEST ( scale_add "TEST" ${ arg } )
# scaleoffset remove
set ( arg ${ FILE13 } -f dset_scaleoffset:NONE )
ADD_H5_TEST ( scale_remove "TEST" ${ arg } )
# remove all filters
set ( arg ${ FILE11 } -f NONE )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( remove_all ${ TESTTYPE } ${ arg } )
#filter conversions
set ( arg ${ FILE8 } -f dset_deflate:SZIP=8,NN )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( deflate_convert ${ TESTTYPE } ${ arg } )
set ( arg ${ FILE7 } -f dset_szip:GZIP=1 )
set ( TESTTYPE "TEST" )
2017-10-03 05:41:13 +08:00
if ( NOT USE_FILTER_SZIP_ENCODER )
if ( NOT USE_FILTER_SZIP OR NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
endif ( )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( szip_convert ${ TESTTYPE } ${ arg } )
#limit
set ( arg ${ FILE4 } -f GZIP=1 -m 1024 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2024-03-11 07:43:37 +08:00
ADD_H5_DMP_MASK ( deflate_limit ${ TESTTYPE } 0 ${ arg } )
2016-10-27 23:06:00 +08:00
#file
set ( arg ${ FILE4 } -e ${ INFO_FILE } )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( deflate_file ${ TESTTYPE } ${ arg } )
2017-05-23 02:10:40 +08:00
#crtorder
set ( arg tordergr.h5 -L )
set ( TESTTYPE "TEST" )
ADD_H5_DMP_TEST ( crtorder ${ TESTTYPE } 0 ${ arg } )
2017-08-02 23:53:17 +08:00
###################################################################################################
# Testing paged aggregation related options:
# -G pagesize
# -P 1 or 0
# -S strategy
# -T threshold
#
# The testfiles used are generated by test/gen_filespace.c and the file names are prepended with "h5repack_":
# (1) "fsm_aggr_nopersist.h5" /* H5F_FSPACE_STRATEGY_FSM_AGGR + not persisting free-space */
# (2) "fsm_aggr_persist.h5" /* H5F_FSPACE_STRATEGY_FSM_AGGR + persisting free-space */
# (3) "paged_nopersist.h5" /* H5F_FSPACE_STRATEGY_PAGE + not persisting free-space */
# (4) "paged_persist.h5" /* H5F_FSPACE_STRATEGY_PAGE + persisting free-space */
# (5) "aggr.h5" /* H5F_FSPACE_STRATEGY_AGGR */
# (6) "none.h5" /* H5F_FSPACE_STRATEGY_NONE */
#
#####################################################################################################
#
set ( arg h5repack_fsm_aggr_nopersist.h5 -S PAGE -P 1 )
set ( TESTTYPE "TEST" )
ADD_H5_STAT_TEST ( SP_PAGE ${ TESTTYPE } 0 SP ${ arg } )
set ( arg h5repack_fsm_aggr_persist.h5 -S AGGR )
set ( TESTTYPE "TEST" )
ADD_H5_STAT_TEST ( S_AGGR ${ TESTTYPE } 0 S ${ arg } )
set ( arg h5repack_none.h5 -S PAGE -T 10 -G 2048 )
set ( TESTTYPE "TEST" )
ADD_H5_STAT_TEST ( STG_PAGE ${ TESTTYPE } 0 STG ${ arg } )
set ( arg h5repack_paged_nopersist.h5 -G 512 -S AGGR )
set ( TESTTYPE "TEST" )
ADD_H5_STAT_TEST ( GS_AGGR ${ TESTTYPE } 0 GS ${ arg } )
set ( arg h5repack_paged_persist.h5 -S NONE -P 1 )
set ( TESTTYPE "TEST" )
ADD_H5_STAT_TEST ( SP_NONE ${ TESTTYPE } 0 SP ${ arg } )
set ( arg h5repack_aggr.h5 -S FSM_AGGR -P 1 -T 5 )
set ( TESTTYPE "TEST" )
ADD_H5_STAT_TEST ( SPT_FSM_AGGR ${ TESTTYPE } 0 SPT ${ arg } )
2016-10-27 23:06:00 +08:00
#########################################################
# layout options (these files have no filters)
#########################################################
ADD_H5_VERIFY_TEST ( dset2_chunk_20x10 "TEST" 0 ${ FILE4 } dset2 CHUNKED --layout=dset2:CHUNK=20x10 )
ADD_H5_VERIFY_TEST ( chunk_20x10 "TEST" 1 ${ FILE4 } null CHUNKED -l CHUNK=20x10 )
ADD_H5_VERIFY_TEST ( dset2_conti "TEST" 0 ${ FILE4 } dset2 CONTIGUOUS -l dset2:CONTI )
ADD_H5_VERIFY_TEST ( conti "TEST" 1 ${ FILE4 } null CONTIGUOUS -l CONTI )
ADD_H5_VERIFY_TEST ( dset2_compa "TEST" 0 ${ FILE4 } dset2 COMPACT -l dset2:COMPA )
ADD_H5_VERIFY_TEST ( compa "TEST" 1 ${ FILE4 } null COMPACT -l COMPA )
2019-04-15 22:46:29 +08:00
ADD_H5_MASK_TEST ( dset2_chunk_20x10-errstk "TEST" 0 "dimensionality of chunks doesn't match the dataspace" ${ FILE4 } --layout=dset2:CHUNK=20x10x5 --enable-error-stack )
2016-10-27 23:06:00 +08:00
################################################################
# layout conversions (file has no filters)
###############################################################
ADD_H5_VERIFY_TEST ( dset_compa_conti "TEST" 0 ${ FILE4 } dset_compact CONTIGUOUS -l dset_compact:CONTI )
ADD_H5_VERIFY_TEST ( dset_compa_chunk "TEST" 0 ${ FILE4 } dset_compact CHUNKED -l dset_compact:CHUNK=2x5 )
ADD_H5_VERIFY_TEST ( dset_compa_compa "TEST" 0 ${ FILE4 } dset_compact COMPACT -l dset_compact:COMPA )
ADD_H5_VERIFY_TEST ( dset_conti_compa "TEST" 0 ${ FILE4 } dset_contiguous COMPACT -l dset_contiguous:COMPA )
ADD_H5_VERIFY_TEST ( dset_conti_chunk "TEST" 0 ${ FILE4 } dset_contiguous CHUNKED -l dset_contiguous:CHUNK=3x6 )
ADD_H5_VERIFY_TEST ( dset_conti_conti "TEST" 0 ${ FILE4 } dset_contiguous CONTIGUOUS -l dset_contiguous:CONTI )
ADD_H5_VERIFY_TEST ( chunk_compa "TEST" 0 ${ FILE4 } dset_chunk COMPACT -l dset_chunk:COMPA )
ADD_H5_VERIFY_TEST ( chunk_conti "TEST" 0 ${ FILE4 } dset_chunk CONTIGUOUS -l dset_chunk:CONTI )
ADD_H5_VERIFY_TEST ( chunk_18x13 "TEST" 0 ${ FILE4 } dset_chunk CHUNKED -l dset_chunk:CHUNK=18x13 )
# test convert small size dataset ( < 1k) to compact layout without -m
ADD_H5_VERIFY_TEST ( contig_small_compa "TEST" 0 ${ FILE18 } contig_small COMPACT -l contig_small:COMPA )
ADD_H5_VERIFY_TEST ( contig_small_fixed_compa "TEST" 0 ${ FILE18 } chunked_small_fixed COMPACT -l chunked_small_fixed:COMPA )
#---------------------------------------------------------------------------
# Test file contains chunked datasets (need multiple dsets) with
# unlimited max dims. (HDFFV-7933)
# Use first dset to test.
#---------------------------------------------------------------------------
# chunk to chunk - specify chunk dim bigger than any current dim
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( chunk2chunk "TEST" 0 ${ FILE19 } chunk_unlimit1 CHUNK -l chunk_unlimit1:CHUNK=100x300 )
2016-10-27 23:06:00 +08:00
# chunk to contiguous
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( chunk2conti "TEST" 0 ${ FILE19 } chunk_unlimit1 CONTI -l chunk_unlimit1:CONTI )
2016-10-27 23:06:00 +08:00
# chunk to compact - convert big dataset (should be > 64k) for this purpose,
# should remain as original layout (chunk)
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( chunk2compa "TEST" 0 ${ FILE19 } chunk_unlimit1 CHUNK -l chunk_unlimit1:COMPA )
2016-10-27 23:06:00 +08:00
#--------------------------------------------------------------------------
# Test -f for some specific cases. Chunked dataset with unlimited max dims.
# (HDFFV-8012)
#--------------------------------------------------------------------------
# - should not fail
# - should not change max dims from unlimit
# chunk dim is bigger than dataset dim. ( dset size < 64k )
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( error1 "TEST" 0 ${ FILE19 } chunk_unlimit1 H5S_UNLIMITED -f chunk_unlimit1:NONE )
2016-10-27 23:06:00 +08:00
# chunk dim is bigger than dataset dim. ( dset size > 64k )
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( error2 "TEST" 0 ${ FILE19 } chunk_unlimit2 H5S_UNLIMITED -f chunk_unlimit2:NONE )
2016-10-27 23:06:00 +08:00
# chunk dims are smaller than dataset dims. ( dset size < 64k )
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( error3 "TEST" 0 ${ FILE19 } chunk_unlimit3 H5S_UNLIMITED -f chunk_unlimit3:NONE )
2016-10-27 23:06:00 +08:00
# file input - should not fail
2019-08-04 06:28:50 +08:00
ADD_H5_TEST ( error4 "TEST" ${ FILE19 } -f NONE )
2016-10-27 23:06:00 +08:00
#--------------------------------------------------------------------------
# Test base: Convert CHUNK to CONTI for a chunked dataset with small dataset
# (dset size < 64K) and with unlimited max dims on a condition as follow.
# (HDFFV-8214)
#--------------------------------------------------------------------------
# chunk dim is bigger than dataset dim. should succeed.
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( ckdim_biger "TEST" 0 ${ FILE19 } chunk_unlimit2 CONTI -l chunk_unlimit2:CONTI )
2016-10-27 23:06:00 +08:00
# chunk dim is smaller than dataset dim. should succeed.
2019-08-04 06:28:50 +08:00
ADD_H5_VERIFY_TEST ( ckdim_smaller "TEST" 0 ${ FILE19 } chunk_unlimit3 CONTI -l chunk_unlimit3:CONTI )
2016-10-27 23:06:00 +08:00
# Native option
# Do not use FILE1, as the named dtype will be converted to native, and h5diff will
# report a difference.
ADD_H5_TEST ( native_fill "TEST" ${ FILE0 } -n )
ADD_H5_TEST ( native_attr "TEST" ${ FILE2 } -n )
# latest file format with long switches. use FILE4=h5repack_layout.h5 (no filters)
set ( arg --layout CHUNK=20x10 --filter GZIP=1 --minimum=10 --native --latest --compact=8 --indexed=6 --ssize=8[:dtype] )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_TEST ( layout_long_switches ${ TESTTYPE } 1 ${ FILE4 } null CHUNKED ${ arg } )
# latest file format with short switches. use FILE4=h5repack_layout.h5 (no filters)
set ( arg -l CHUNK=20x10 -f GZIP=1 -m 10 -n -L -c 8 -d 6 -s 8[:dtype] )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_TEST ( layout_short_switches ${ TESTTYPE } 1 ${ FILE4 } null CHUNKED ${ arg } )
# several global filters
set ( arg ${ FILE4 } --filter GZIP=1 --filter SHUF )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( global_filters ${ TESTTYPE } ${ arg } )
# syntax of -i infile -o outfile
# latest file format with short switches. use FILE4=h5repack_layout.h5 (no filters)
set ( arg ${ FILE4 } -l CHUNK=20x10 -f GZIP=1 -m 10 -n -L -c 8 -d 6 -s 8[:dtype] )
set ( TESTTYPE "LEGACY" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_TEST_OLD ( old_style_layout_short_switches ${ TESTTYPE } ${ arg } )
# add a userblock to file
set ( arg ${ FILE1 } -u ${ PROJECT_BINARY_DIR } /testfiles/ublock.bin -b 2048 )
ADD_H5_TEST ( add_userblock "TEST" ${ arg } )
# add alignment
set ( arg ${ FILE1 } -t 1 -a 1 )
ADD_H5_TEST ( add_alignment "TEST" ${ arg } )
# Check repacking file with old version of layout message (should get upgraded
# to new version and be readable, etc.)
ADD_H5_TEST ( upgrade_layout "TEST" ${ FILE14 } )
# test for datum size > H5TOOLS_MALLOCSIZE
2017-01-27 01:59:34 +08:00
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
endif ( )
ADD_H5_TEST ( gt_mallocsize ${ TESTTYPE } ${ FILE1 } -f GZIP=1 )
2016-10-27 23:06:00 +08:00
# Check repacking file with committed datatypes in odd configurations
ADD_H5_TEST ( committed_dt "TEST" ${ FILE15 } )
# tests family driver (file is located in common testfiles folder, uses TOOLTEST1
ADD_H5_TEST ( family "TEST" ${ FILE16 } )
# test various references (bug 1814 and 1726)
ADD_H5_TEST ( bug1814 "TEST" ${ FILE_REF } )
# test attribute with various references (bug1797 / HDFFV-5932)
2021-12-07 22:27:29 +08:00
# the references in attribute of compound or vlen datatype
2016-10-27 23:06:00 +08:00
ADD_H5_TEST ( HDFFV-5932 "TEST" ${ FILE_ATTR_REF } )
2021-10-26 10:17:44 +08:00
# Add test for memory leak in attribute. This test is verified by CTEST.
2016-10-27 23:06:00 +08:00
# 1. leak from vlen string
# 2. leak from compound type without reference member
# (HDFFV-7840, )
# Note: this test is experimental for sharing test file among tools
ADD_H5_TEST ( HDFFV-7840 "TEST" h5diff_attr1.h5 )
2020-11-12 04:42:11 +08:00
# test CVE-2018-17432 fix
2024-03-11 07:43:37 +08:00
set ( arg --low=1 --high=2 -f GZIP=8 -l dset1:CHUNK=5x6 )
add_test (
N A M E H 5 R E P A C K - H D F F V - 1 0 5 9 0
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { a r g } $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ C V E - 2 0 1 8 - 1 7 4 3 2 . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - H D F F V - 1 0 5 9 0 . h 5 r e p a c k _ C V E - 2 0 1 8 - 1 7 4 3 2 . h 5
)
set_tests_properties ( H5REPACK-HDFFV-10590 PROPERTIES WILL_FAIL "true" )
2020-11-12 04:42:11 +08:00
2021-05-13 03:35:53 +08:00
# test CVE-2018-14460 fix
2024-03-11 07:43:37 +08:00
add_test (
N A M E H 5 R E P A C K - H D F F V - 1 1 2 2 3
C O M M A N D $ { C M A K E _ C R O S S C O M P I L I N G _ E M U L A T O R } $ < T A R G E T _ F I L E : h 5 r e p a c k > $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / h 5 r e p a c k _ C V E - 2 0 1 8 - 1 4 4 6 0 . h 5 $ { P R O J E C T _ B I N A R Y _ D I R } / t e s t f i l e s / o u t - H D F F V - 1 1 2 2 3 . h 5 r e p a c k _ C V E - 2 0 1 8 - 1 4 4 6 0 . h 5
)
set_tests_properties ( H5REPACK-HDFFV-11223 PROPERTIES WILL_FAIL "true" )
2021-05-13 03:35:53 +08:00
2016-10-27 23:06:00 +08:00
# tests for metadata block size option ('-M')
ADD_H5_TEST_META ( meta_short h5repack_layout.h5 -M 8192 )
ADD_H5_TEST_META ( meta_long h5repack_layout.h5 --metadata_block_size=8192 )
# VDS tests
################################################################
# layout conversions
###############################################################
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_VDS ( vds_dset_chunk20x10x5 ${ TESTTYPE } 0 ${ FILEV1 } vds_dset CHUNKED -l vds_dset:CHUNK=20x10x5 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_VDS ( vds_chunk2x5x8 ${ TESTTYPE } 0 ${ FILEV3_1 } vds_dset CHUNKED -l vds_dset:CHUNK=2x5x8 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_VDS ( vds_chunk3x6x9 ${ TESTTYPE } 0 ${ FILEV2 } vds_dset CHUNKED -l vds_dset:CHUNK=3x6x9 )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_VDS ( vds_compa ${ TESTTYPE } 0 ${ FILEV4 } vds_dset COMPACT -l vds_dset:COMPA )
set ( TESTTYPE "TEST" )
if ( NOT USE_FILTER_DEFLATE )
set ( TESTTYPE "SKIP" )
2017-01-11 07:09:53 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
ADD_H5_VERIFY_VDS ( vds_conti ${ TESTTYPE } 0 ${ FILEV4 } vds_dset CONTIGUOUS -l vds_dset:CONTI )
2019-12-06 07:20:48 +08:00
################################################################
# reference new api conversions
###############################################################
ADD_H5_DMP_TEST ( attrregion "TEST" 0 tattrreg.h5 )
ADD_H5_DMP_TEST ( dataregion "TEST" 0 tdatareg.h5 )
2018-03-06 23:02:32 +08:00
##############################################################################
### V E R S I O N B O U N D S T E S T S
##############################################################################
# -j 0 -k 2, superblock will be 0
ADD_H5_VERIFY_SUPERBLOCK ( SB_IS_0 h5repack_layout.h5 0 2 0 )
# -j 1 -k 2, superblock will be 2
ADD_H5_VERIFY_SUPERBLOCK ( SB_IS_2 h5repack_layout.h5 1 2 2 )
# -j 2 -k 2, superblock will be 3
ADD_H5_VERIFY_SUPERBLOCK ( SB_IS_3 h5repack_layout.h5 2 2 3 )
# -j 0 -k 1, file cannot be opened
2018-03-08 05:46:58 +08:00
ADD_H5_VERIFY_INVALIDBOUNDS ( latest_latest_invalid bounds_latest_latest.h5 0 1 )
2018-03-06 23:02:32 +08:00
2016-10-27 23:06:00 +08:00
##############################################################################
2019-10-02 05:38:48 +08:00
### E X T E R N A L S T O R A G E T E S T S
##############################################################################
ADD_H5_EXTERNAL_TEST ( ext_f32le "TEST" f32le -l CONTI )
ADD_H5_EXTERNAL_TEST ( ext_int32le_1d "TEST" int32le_1d -l CONTI )
ADD_H5_EXTERNAL_TEST ( ext_int32le_2d "TEST" int32le_2d -l CONTI )
ADD_H5_EXTERNAL_TEST ( ext_int32le_3d "TEST" int32le_3d -l CONTI )
ADD_H5_EXTERNAL_TEST ( ext_uint8be "TEST" uint8be -l CONTI )
##############################################################################
2020-08-15 01:16:58 +08:00
### E X T E R N A L L I N K T E S T S
##############################################################################
### HDFFV-11128 needs fixed to enable the following test
#ADD_H5_DMP_TEST (h5copy_extlinks_src-base "TEST" 0 h5copy_extlinks_src.h5 --enable-error-stack)
ADD_H5_DMP_TEST ( tsoftlinks-base "TEST" 0 tsoftlinks.h5 --enable-error-stack )
ADD_H5_DMP_TEST ( textlink-base "TEST" 0 textlink.h5 --enable-error-stack )
ADD_H5_DMP_TEST ( textlinkfar-base "TEST" 0 textlinkfar.h5 --enable-error-stack )
ADD_H5_DMP_TEST ( textlinksrc-base "TEST" 0 textlinksrc.h5 --enable-error-stack )
ADD_H5_DMP_TEST ( textlinktar-base "TEST" 0 textlinktar.h5 --enable-error-stack )
2020-08-15 05:39:40 +08:00
ADD_H5_DIFF_TEST ( h5copy_extlinks_src-merge "TEST" 0 h5copy_extlinks_src.h5 --merge )
2020-08-15 01:16:58 +08:00
ADD_H5_DIFF_TEST ( tsoftlinks-merge "TEST" 1 tsoftlinks.h5 --merge )
ADD_H5_DIFF_TEST ( textlink-merge "TEST" 0 textlink.h5 --merge )
### HDFFV-11128 needs fixed to enable the following test
#ADD_H5_DIFF_TEST (textlinkfar-merge "TEST" 1 textlinkfar.h5 --merge)
### HDFFV-11128 needs fixed to enable the following test
2020-08-15 05:39:40 +08:00
#ADD_H5_DIFF_TEST (textlinksrc-merge "TEST" 1 textlinksrc.h5 --merge)
2020-08-15 01:16:58 +08:00
### HDFFV-11128 needs fixed to enable the following test
2020-08-15 05:39:40 +08:00
#ADD_H5_DIFF_TEST (textlinktar-merge "TEST" 1 textlinktar.h5 --merge)
2020-08-15 01:16:58 +08:00
ADD_H5_DMP_TEST ( h5copy_extlinks_src-prune "TEST" 0 h5copy_extlinks_src.h5 --prune --enable-error-stack )
ADD_H5_DMP_TEST ( tsoftlinks-prune "TEST" 0 tsoftlinks.h5 --prune --enable-error-stack )
ADD_H5_DMP_TEST ( textlink-prune "TEST" 0 textlink.h5 --prune --enable-error-stack )
ADD_H5_DMP_TEST ( textlinkfar-prune "TEST" 0 textlinkfar.h5 --prune --enable-error-stack )
ADD_H5_DMP_TEST ( textlinksrc-prune "TEST" 0 textlinksrc.h5 --prune --enable-error-stack )
ADD_H5_DMP_TEST ( textlinktar-prune "TEST" 0 textlinktar.h5 --prune --enable-error-stack )
ADD_H5_DMP_TEST ( h5copy_extlinks_src-mergeprune "TEST" 0 h5copy_extlinks_src.h5 --merge --prune --enable-error-stack )
ADD_H5_DMP_TEST ( tsoftlinks-mergeprune "TEST" 0 tsoftlinks.h5 --merge --prune --enable-error-stack )
ADD_H5_DMP_TEST ( textlink-mergeprune "TEST" 0 textlink.h5 --merge --prune --enable-error-stack )
### HDFFV-11128 needs fixed to enable the following test
#ADD_H5_DMP_TEST (textlinkfar-mergeprune "TEST" 0 textlinkfar.h5 --merge --prune --enable-error-stack)
### HDFFV-11128 needs fixed to enable the following test
#ADD_H5_DMP_TEST (textlinksrc-mergeprune "TEST" 0 textlinksrc.h5 --merge --prune --enable-error-stack)
### HDFFV-11128 needs fixed to enable the following test
#ADD_H5_DMP_TEST (textlinktar-mergeprune "TEST" 0 textlinktar.h5 --merge --prune --enable-error-stack)
2022-08-03 03:54:40 +08:00
ADD_H5_DMP_NO_OPT_TEST ( tst_onion_dset_1d "TEST" 0 tst_onion_dset_1d.h5 --src-vfd-name onion --src-vfd-info 1 )
ADD_H5_DMP_NO_OPT_TEST ( tst_onion_dset_ext "TEST" 0 tst_onion_dset_ext.h5 --src-vfd-name onion --src-vfd-info 1 )
ADD_H5_DMP_NO_OPT_TEST ( tst_onion_objs "TEST" 0 tst_onion_objs.h5 --src-vfd-name onion --src-vfd-info 1 )
2020-08-15 01:16:58 +08:00
##############################################################################
2016-10-27 23:06:00 +08:00
### P L U G I N T E S T S
##############################################################################
2018-11-07 05:45:58 +08:00
if ( BUILD_SHARED_LIBS )
2017-09-08 02:28:45 +08:00
ADD_H5_UD_TEST ( plugin_version_test 0 h5repack_layout.h5 -v -f UD=260,0,4,9, ${ H5_VERS_MAJOR } , ${ H5_VERS_MINOR } , ${ H5_VERS_RELEASE } )
ADD_H5_UD_TEST ( plugin_test 0 h5repack_layout.h5 -v -f UD=257,0,1,9 )
2016-10-27 23:06:00 +08:00
ADD_H5_UD_TEST ( plugin_none 0 h5repack_layout.UD.h5 -v -f NONE )
# check for no parameters
2017-10-10 02:23:02 +08:00
ADD_H5_UD_TEST ( plugin_zero 0 h5repack_layout.h5 -v -f UD=250,0,0 )
2018-11-07 05:45:58 +08:00
endif ( )
2016-10-27 23:06:00 +08:00
2018-12-21 05:11:17 +08:00
##############################################################################
##############################################################################
### V F D T E S T S ###
##############################################################################
##############################################################################
if ( HDF5_TEST_VFD )
include ( CMakeVFDTests.cmake )
endif ( )