From a42f899364cb603fdd247a9f0419017a395e671c Mon Sep 17 00:00:00 2001 From: Sergey Bronnikov <sergeyb@tarantool.org> Date: Mon, 7 Sep 2020 11:52:52 +0000 Subject: [PATCH] cmake: add targets to run Jepsen tests Added targets 'make jepsen-single' and 'make jepsen-cluster' to run Jepsen tests on a single Tarantool instance and cluster of Tarantool instances. Part of #5277 --- CMakeLists.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 695e80c217..e8850e3205 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 # -- GitLab