diff --git a/CMakeLists.txt b/CMakeLists.txt index 695e80c2176b10f79cc1f6d0b4597c19510d6b6f..e8850e3205caa2e427ad95a9448e2a9fef133edb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,9 +17,11 @@ include(TestBigEndian) include(CheckFunctionExists) include(FindOptionalPackage) include(FindPackageMessage) +include(ExternalProject) find_program(ECHO echo) find_program(CAT cat) +find_program(BASH bash) find_program(GIT git) find_program(LD ld) find_program(CTAGS ctags) @@ -162,6 +164,31 @@ add_custom_command(TARGET luacheck COMMENT "Perform static analysis of Lua code" ) +ExternalProject_Add( + jepsen-tests + GIT_REPOSITORY https://github.com/tarantool/jepsen.tarantool + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + TEST_COMMAND "" +) + +# +# Enable 'make jepsen-*' targets. +# + +add_custom_target(jepsen-single DEPENDS jepsen-tests) +add_custom_command(TARGET jepsen-single + COMMAND ${BASH} ${PROJECT_SOURCE_DIR}/tools/run-jepsen-tests.sh ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} + COMMENT "Running Jepsen tests on a single Tarantool instance" +) + +add_custom_target(jepsen-cluster DEPENDS jepsen-tests) +add_custom_command(TARGET jepsen-cluster + COMMAND ${BASH} ${PROJECT_SOURCE_DIR}/tools/run-jepsen-tests.sh ${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR} 5 + COMMENT "Running Jepsen tests on a cluster with 5 Tarantool instances" +) + # # Get version #