We use the workflow manager Snakemake to test workflows which consist of the execution of several steps which are based on each other.
snakemake
is installed in your virtual environment in your build-directory automatically. You can then call it via poetry run snakemake ...
.tee
-utility in the PATH
(can be installed from https://sourceforge.net/projects/unxutils)These example workflows are added to ctest as well:
if(SNAKEMAKE AND NOT OGS_USE_MPI)
add_test(NAME snakemake_ExtractBoundary
COMMAND ${SNAKEMAKE} -j 1
--configfile ${PROJECT_BINARY_DIR}/buildinfo.yaml
-s ${CMAKE_CURRENT_SOURCE_DIR}/ExtractBoundary.smk
)
add_test(NAME snakemake_VoxelGridFromLayers
# ...
)
add_dependencies(ctest ExtractBoundary Layers2Grid AddFaultToVoxelGrid)
endif()
We started on implementing modular rule definitions and tool wrapper in scripts/snakemake
.
This article was written by Lars Bilke. If you are missing something or you find an error please let us know.
Generated with Hugo 0.79.0. Last revision: March 22, 2021
Commit: [web] Fix links. c495f2c7d
| Edit this page on