From f7a52e19e7d49fd3b8d2448d435879d81b3141d9 Mon Sep 17 00:00:00 2001 From: Norbert Podhorszki Date: Wed, 29 Jul 2020 09:30:53 -0400 Subject: [PATCH] Add 65 tests using FileStream virtual engine to test BP4 with stream reading mode Speed up BP4_stream tests by changing the polling frequency for open (1 sec -> 0.1 sec) --- testing/adios2/engine/bp/CMakeLists.txt | 10 ++++++ .../engine/staging-common/CMakeLists.txt | 34 ++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/testing/adios2/engine/bp/CMakeLists.txt b/testing/adios2/engine/bp/CMakeLists.txt index 60ed8f65a4..c83a49a6ed 100644 --- a/testing/adios2/engine/bp/CMakeLists.txt +++ b/testing/adios2/engine/bp/CMakeLists.txt @@ -5,8 +5,10 @@ set(BP3_DIR ${CMAKE_CURRENT_BINARY_DIR}/bp3) set(BP4_DIR ${CMAKE_CURRENT_BINARY_DIR}/bp4) +set(FS_DIR ${CMAKE_CURRENT_BINARY_DIR}/filestream) file(MAKE_DIRECTORY ${BP3_DIR}) file(MAKE_DIRECTORY ${BP4_DIR}) +file(MAKE_DIRECTORY ${FS_DIR}) macro(bp3_bp4_gtest_add_tests_helper testname mpi) gtest_add_tests_helper(${testname} ${mpi} BP Engine.BP. .BP3 @@ -68,3 +70,11 @@ gtest_add_tests_helper(StepsInSituLocalArray MPI_ALLOW BP Engine.BP. .BP4 WORKING_DIRECTORY ${BP4_DIR} EXTRA_ARGS "BP4" ) +# FileStream is BP4 + StreamReader=true +gtest_add_tests_helper(StepsInSituGlobalArray MPI_ALLOW BP Engine.BP. .FileStream + WORKING_DIRECTORY ${FS_DIR} EXTRA_ARGS "FileStream" +) +gtest_add_tests_helper(StepsInSituLocalArray MPI_ALLOW BP Engine.BP. .FileStream + WORKING_DIRECTORY ${FS_DIR} EXTRA_ARGS "FileStream" +) + diff --git a/testing/adios2/engine/staging-common/CMakeLists.txt b/testing/adios2/engine/staging-common/CMakeLists.txt index a2b8d343d6..319bf12de1 100644 --- a/testing/adios2/engine/staging-common/CMakeLists.txt +++ b/testing/adios2/engine/staging-common/CMakeLists.txt @@ -12,6 +12,7 @@ if(ADIOS2_HAVE_SST) gtest_add_tests_helper(Threads MPI_NONE "" Engine.Staging. ".SST.FFS" EXTRA_ARGS "SST" "MarshalMethod=FFS") gtest_add_tests_helper(Threads MPI_NONE "" Engine.Staging. ".SST.BP" EXTRA_ARGS "SST" "MarshalMethod=BP") gtest_add_tests_helper(Threads MPI_NONE "" Engine.Staging. ".BP4_stream" EXTRA_ARGS "BP4" "OpenTimeoutSecs=5") + gtest_add_tests_helper(Threads MPI_NONE "" Engine.Staging. ".FileStream" EXTRA_ARGS "FileStream") endif() foreach(helper @@ -230,7 +231,7 @@ endif() if(NOT MSVC) # not on windows # BP4 streaming tests start with all the simple tests, but with a timeout added on open LIST (APPEND BP4_STREAM_TESTS ${ALL_SIMPLE_TESTS} ${SPECIAL_TESTS}) - MutateTestSet( BP4_STREAM_TESTS "BPS" reader "OpenTimeoutSecs=10" "${BP4_STREAM_TESTS}") + MutateTestSet( BP4_STREAM_TESTS "BPS" reader "OpenTimeoutSecs=10,BeginStepPollingFrequencySecs=0.1" "${BP4_STREAM_TESTS}") # SharedVars fail with BP4_streaming* list (FILTER BP4_STREAM_TESTS EXCLUDE REGEX ".*SharedVar.BPS$") # Discard not a feature of BP4 @@ -268,6 +269,37 @@ if(NOT MSVC) # not on windows endif() +# +# Setup streaming tests for FileStream virtual engine (BP4+StreamReader=true) +# +if(NOT MSVC) # not on windows + # FileStream streaming tests start with all the simple tests, but with a timeout added on open + LIST (APPEND FILESTREAM_TESTS ${SIMPLE_TESTS} ${SIMPLE_MPI_TESTS}) + MutateTestSet( FILESTREAM_TESTS "FS" reader "OpenTimeoutSecs=10,BeginStepPollingFrequencySecs=0.1" "${FILESTREAM_TESTS}") + # SharedVars fail with file_streaming* + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*SharedVar.FS$") + # SharedVars fail with file_streaming* + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*SharedVar.FS$") + # Local fail with file_streaming* + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*Local.FS$") + # The nobody-writes-data-in-a-timestep tests don't work for any BP-file based engine + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*NoData.FS$") + # Don't need to repeat tests that are identical for BP4 and FileStream + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*NoReaderNoWait.FS$") + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*TimeoutOnOpen.FS$") + list (FILTER FILESTREAM_TESTS EXCLUDE REGEX ".*NoReaderNoWait.FS$") + + foreach(test ${FILESTREAM_TESTS}) + add_common_test(${test} FileStream) + endforeach() + + MutateTestSet( FileStream_BBSTREAM_TESTS "BB" writer "BurstBufferPath=bb,BurstBufferVerbose=2" "${FILESTREAM_TESTS}") + foreach(test ${FileStream_BBSTREAM_TESTS}) + add_common_test(${test} FileStream) + endforeach() + +endif() + # # Setup tests for HDF5 engine #