Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use new ecBuild TEST_REQUIRES keyword #65

Merged
merged 2 commits into from
Apr 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

cmake_minimum_required( VERSION 3.12 FATAL_ERROR )

find_package( ecbuild 3.8 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild)
find_package( ecbuild 3.9.1 REQUIRED HINTS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../ecbuild)

project( multio LANGUAGES CXX )

Expand Down
86 changes: 43 additions & 43 deletions tests/across/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,17 @@ ecbuild_get_test_multidata(
)

ecbuild_add_test(
TARGET ${PREFIX}_copy_single_disseminations
TEST_DEPENDS ${PREFIX}_get_data
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/single_request.diss ${CMAKE_CURRENT_BINARY_DIR}/single_request.diss
TARGET ${PREFIX}_copy_single_disseminations
TEST_REQUIRES ${PREFIX}_get_data
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/single_request.diss ${CMAKE_CURRENT_BINARY_DIR}/single_request.diss
)

ecbuild_add_test(
TARGET ${PREFIX}_copy_multiple_disseminations
TEST_DEPENDS ${PREFIX}_get_data
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/multiple_requests.diss ${CMAKE_CURRENT_BINARY_DIR}/multiple_requests.diss
TARGET ${PREFIX}_copy_multiple_disseminations
TEST_REQUIRES ${PREFIX}_get_data
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${CMAKE_CURRENT_SOURCE_DIR}/multiple_requests.diss ${CMAKE_CURRENT_BINARY_DIR}/multiple_requests.diss
)


Expand All @@ -40,68 +40,68 @@ set(_feed multio_tests_across_dissemination_data.grib )
if(HAVE_MULTIO_BUILD_TOOLS)

ecbuild_add_test(
TARGET ${PREFIX}_single_request_run
TEST_DEPENDS ${PREFIX}_copy_single_disseminations
COMMAND multio-feed
TARGET ${PREFIX}_single_request_run
TEST_REQUIRES ${PREFIX}_copy_single_disseminations
COMMAND multio-feed
ARGS --decode --plans=${CMAKE_CURRENT_SOURCE_DIR}/plan_single_request.yaml ${_feed}
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_single_request_check_metadata
TEST_DEPENDS ${PREFIX}_single_request_run
ARGS -H Reference_test-across-dissemination-single_0-ZZ1-M1.grib test-across-dissemination-single/0000/test-across-dissemination-single_0000-ZZ1:M1.grib
COMMAND grib_compare
ENABLED OFF
TARGET ${PREFIX}_single_request_check_metadata
TEST_REQUIRES ${PREFIX}_single_request_run
ARGS -H Reference_test-across-dissemination-single_0-ZZ1-M1.grib test-across-dissemination-single/0000/test-across-dissemination-single_0000-ZZ1:M1.grib
COMMAND grib_compare
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_single_request_check_values
TEST_DEPENDS ${PREFIX}_single_request_check_metadata
ARGS -P -T10 Reference_test-across-dissemination-single_0-ZZ1-M1.grib test-across-dissemination-single/0000/test-across-dissemination-single_0000-ZZ1:M1.grib
COMMAND grib_compare
ENABLED OFF
TARGET ${PREFIX}_single_request_check_values
TEST_REQUIRES ${PREFIX}_single_request_check_metadata
ARGS -P -T10 Reference_test-across-dissemination-single_0-ZZ1-M1.grib test-across-dissemination-single/0000/test-across-dissemination-single_0000-ZZ1:M1.grib
COMMAND grib_compare
)




ecbuild_add_test(
TARGET ${PREFIX}_multiple_request_run
TEST_DEPENDS ${PREFIX}_copy_multiple_disseminations
COMMAND multio-feed
TARGET ${PREFIX}_multiple_request_run
TEST_REQUIRES ${PREFIX}_copy_multiple_disseminations
COMMAND multio-feed
ARGS --decode --plans=${CMAKE_CURRENT_SOURCE_DIR}/plan_multiple_requests.yaml ${_feed}
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_metadata_0
TEST_DEPENDS ${PREFIX}_multiple_request_run
ARGS -H Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0000/test-across-dissemination-multiple_0000-ZZ1:M1.grib
COMMAND grib_compare
TARGET ${PREFIX}_multiple_request_check_metadata_0
TEST_REQUIRES ${PREFIX}_multiple_request_run
ARGS -H Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0000/test-across-dissemination-multiple_0000-ZZ1:M1.grib
COMMAND grib_compare
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_metadata_1
TEST_DEPENDS ${PREFIX}_multiple_request_run
ARGS -H Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0001/test-across-dissemination-multiple_0001-ZZ1:M1.grib
COMMAND grib_compare
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_metadata_1
TEST_REQUIRES ${PREFIX}_multiple_request_run
ARGS -H Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0001/test-across-dissemination-multiple_0001-ZZ1:M1.grib
COMMAND grib_compare
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_values_0
TEST_DEPENDS ${PREFIX}_multiple_request_check_metadata_0
ARGS -P -T10 Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0000/test-across-dissemination-multiple_0000-ZZ1:M1.grib
COMMAND grib_compare
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_values_0
TEST_REQUIRES ${PREFIX}_multiple_request_check_metadata_0
ARGS -P -T10 Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0000/test-across-dissemination-multiple_0000-ZZ1:M1.grib
COMMAND grib_compare
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_values_1
TEST_DEPENDS ${PREFIX}_multiple_request_check_metadata_1
ARGS -P -T10 Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0001/test-across-dissemination-multiple_0001-ZZ1:M1.grib
COMMAND grib_compare
ENABLED OFF
TARGET ${PREFIX}_multiple_request_check_values_1
TEST_REQUIRES ${PREFIX}_multiple_request_check_metadata_1
ARGS -P -T10 Reference_test-across-dissemination-multiple_0-ZZ1-M1.grib test-across-dissemination-multiple/0001/test-across-dissemination-multiple_0001-ZZ1:M1.grib
COMMAND grib_compare
)

endif()
Expand Down
28 changes: 15 additions & 13 deletions tests/ecom/extremesDT/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,18 @@ list( APPEND _arguments
"-i ${CMAKE_CURRENT_BINARY_DIR}/reproducer"
)

#ecbuild_add_test(
# TARGET ${PREFIX}_${_test}_run
# TEST_DEPENDS ${PREFIX}_get_test_data ${PREFIX}_get_test_cfg
# COMMAND secom
# ARGS ${_arguments}
#)
#
#ecbuild_add_test(
# TARGET ${PREFIX}_${_test}_metadata
# TEST_DEPENDS ${PREFIX}_get_data ${PREFIX}_get_cache
# COMMAND grib_compare -H
# ARGS -H ${CMAKE_CURRENT_BINARY_DIR}/reference.grib ${CMAKE_CURRENT_BINARY_DIR}/allfields.00000001.grib
#)
ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_${_test}_run
TEST_REQUIRES ${PREFIX}_get_test_data ${PREFIX}_get_test_cfg
COMMAND secom
ARGS ${_arguments}
)

ecbuild_add_test(
ENABLED OFF
TARGET ${PREFIX}_${_test}_metadata
TEST_REQUIRES ${PREFIX}_get_data ${PREFIX}_get_cache
COMMAND grib_compare
ARGS -H ${CMAKE_CURRENT_BINARY_DIR}/reference.grib ${CMAKE_CURRENT_BINARY_DIR}/allfields.00000001.grib
)
144 changes: 72 additions & 72 deletions tests/multio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -130,30 +130,30 @@ ecbuild_get_test_multidata( TARGET multio_get_test_data
NAMES ${_test_data} )

ecbuild_add_test( TARGET test_multio_ifs_plans
CONDITION HAVE_FDB5
CONDITION HAVE_FDB5
COMMAND $<TARGET_FILE:multio-feed>
TEST_DEPENDS multio_get_test_data
TEST_REQUIRES multio_get_test_data
ARGS ${_test_data}
ENVIRONMENT "${_test_environment}" "MULTIO_PLANS={ \"plans\": [{ \"name\": \"test plans fdb5\", \"actions\": [{ \"type\": \"sink\", \"sinks\": [{\"type\": \"fdb5\"}]}]}]}" )

ecbuild_add_test( TARGET test_multio_ifs_io
CONDITION HAVE_FDB5
COMMAND $<TARGET_FILE:multio-feed>
TEST_DEPENDS multio_get_test_data
TEST_REQUIRES multio_get_test_data
ARGS ${_test_data}
ENVIRONMENT "${_test_environment}" )

ecbuild_add_test( TARGET test_multio_subtoc
CONDITION HAVE_FDB5
COMMAND $<TARGET_FILE:multio-feed>
TEST_DEPENDS multio_get_test_data
TEST_REQUIRES multio_get_test_data
ARGS ${_test_data} --test-subtoc
ENVIRONMENT "${_test_environment}" )

ecbuild_add_test( TARGET test_multio_legacy_interface
CONDITION HAVE_FDB5 AND HAVE_LEGACY_IFSIO
COMMAND $<TARGET_FILE:multio-legacy>
TEST_DEPENDS multio_get_test_data
TEST_REQUIRES multio_get_test_data
ARGS ${_test_data}
ENVIRONMENT "${_test_environment}" )

Expand Down Expand Up @@ -187,14 +187,14 @@ ecbuild_get_test_multidata( TARGET multio_hammer_get_test_data
DIRNAME multio/tests/server
NAMES ${_hammer_test_data} )

ecbuild_add_test( ENABLED OFF
TARGET test_multio_hammer_none
CONDITION HAVE_FDB5
COMMAND $<TARGET_FILE:multio-hammer>
TEST_DEPENDS multio_hammer_get_test_data
ARGS ${_hammer_test_data} --transport=none
MPI 1
ENVIRONMENT "${_test_environment}" )
ecbuild_add_test( ENABLED OFF
TARGET test_multio_hammer_none
CONDITION HAVE_FDB5
COMMAND $<TARGET_FILE:multio-hammer>
TEST_REQUIRES multio_hammer_get_test_data
ARGS ${_hammer_test_data} --transport=none
MPI 1
ENVIRONMENT "${_test_environment}" )



Expand All @@ -209,81 +209,81 @@ ecbuild_get_test_multidata( EXTRACT TARGET multio_replay_get_test_data
NAMES ${_nemo_test_data}
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initfilepath_empi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --init-mpi-external=1 --config-file=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server.yaml"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initfilepath_empi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --init-mpi-external=1 --config-file=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server.yaml"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_empi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --init-mpi-external=1"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_empi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --init-mpi-external=1"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_impi1
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-capi>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_impi1
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-capi>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_impi2
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-capi>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_7FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-mpi-default-splitting.yaml"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_impi2
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-capi>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_7FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-mpi-default-splitting.yaml"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_impi3
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --mpi-group=custom"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-mpi-custom-splitting.yaml"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_impi3
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --mpi-group=custom"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-mpi-custom-splitting.yaml"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_passdown_mpi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --pass-down-mpi-comm=1"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_initdefault_passdown_mpi
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --pass-down-mpi-comm=1"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_fapi
CONDITION HAVE_FORTRAN
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-fapi>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
ecbuild_add_test( TARGET test_multio_replay_nemo_fapi
CONDITION HAVE_FORTRAN
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-fapi>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_masked
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --send-masks=1"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-masked.yaml"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_masked
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS "$<TARGET_FILE:multio-replay-nemo-capi> --send-masks=1"
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-masked.yaml"
)

ecbuild_add_test( TARGET test_multio_replay_nemo_capi_partial_agg
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_DEPENDS multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-capi-partial-agg>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-test-partial-agg.yaml"
ecbuild_add_test( TARGET test_multio_replay_nemo_capi_partial_agg
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/replay-nemo.sh
TEST_REQUIRES multio_replay_get_test_data
ARGS $<TARGET_FILE:multio-replay-nemo-capi-partial-agg>
$<TARGET_FILE:multio-probe> ${MPIEXEC_EXECUTABLE} ${MPI_ARGS}
ENVIRONMENT "${_test_environment}"
"MULTIO_SERVER_CONFIG_FILE=${CMAKE_CURRENT_SOURCE_DIR}/config/multio-server-test-partial-agg.yaml"
)

endif(eckit_HAVE_MPI)
Expand Down
Loading
Loading