Verified Commit 3b4e9b69 authored by Alberto Miranda's avatar Alberto Miranda ♨️
Browse files

Add CMake tests to validate information in RPCs

parent 064a325d
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -23,13 +23,25 @@
################################################################################

if(SCORD_BUILD_TESTS)
  set(SCORD_TESTS_DIRECTORY "${CMAKE_BINARY_DIR}/Testing")
  file(MAKE_DIRECTORY ${SCORD_TESTS_DIRECTORY})

  # prepare the environment for the scord_daemon fixture
  set(TEST_DIRECTORY "${SCORD_TESTS_DIRECTORY}/scord_daemon")
  file(MAKE_DIRECTORY ${TEST_DIRECTORY})

  set(TEST_ENV)
  list(APPEND TEST_ENV SCORD_LOG=1)
  list(APPEND TEST_ENV SCORD_LOG_OUTPUT=${TEST_DIRECTORY}/scord_daemon.log)

  add_test(start_scord_daemon
    ${CMAKE_SOURCE_DIR}/scripts/runner.sh start scord.pid
           ${CMAKE_BINARY_DIR}/src/scord/scord -C -f
           ${CMAKE_BINARY_DIR}/src/scord/scord -f
  )

  set_tests_properties(start_scord_daemon PROPERTIES FIXTURES_SETUP
    scord_daemon)
  set_tests_properties(start_scord_daemon
    PROPERTIES FIXTURES_SETUP scord_daemon
    ENVIRONMENT "${TEST_ENV}")

  add_test(stop_scord_daemon
    ${CMAKE_SOURCE_DIR}/scripts/runner.sh stop TERM scord.pid
+25 −3
Original line number Diff line number Diff line
@@ -58,8 +58,30 @@ endforeach()

if(SCORD_BUILD_TESTS)
  foreach(example IN LISTS examples_c)
    add_test(${example}_c_test ${example} ${SCORD_TRANSPORT_PROTOCOL}://${SCORD_BIND_ADDRESS}:${SCORD_BIND_PORT})
    set_tests_properties(${example}_c_test
      PROPERTIES FIXTURES_REQUIRED scord_daemon)

    # prepare environment for the RPC test itself and its validation test
    set(TEST_NAME "${example}_c_test")
    set(TEST_DIRECTORY "${SCORD_TESTS_DIRECTORY}/${TEST_NAME}")
    file(MAKE_DIRECTORY ${TEST_DIRECTORY})

    set(TEST_ENV)
    list(APPEND TEST_ENV LIBSCORD_LOG=1)
    list(APPEND TEST_ENV LIBSCORD_LOG_OUTPUT=${TEST_DIRECTORY}/libscord.log)

    add_test(run_${TEST_NAME} ${example}
      ${SCORD_TRANSPORT_PROTOCOL}://${SCORD_BIND_ADDRESS}:${SCORD_BIND_PORT})
    set_tests_properties(run_${TEST_NAME}
      PROPERTIES FIXTURES_REQUIRED scord_daemon
      ENVIRONMENT "${TEST_ENV}")

    add_test(validate_${TEST_NAME}
      ${CMAKE_SOURCE_DIR}/ci/check_rpcs.py
      ${TEST_DIRECTORY}/libscord.log
      ${SCORD_TESTS_DIRECTORY}/scord_daemon/scord_daemon.log
      ${example}
      )
    set_tests_properties(validate_${TEST_NAME}
      PROPERTIES DEPENDS stop_scord_daemon
      )
  endforeach()
endif()
+28 −3
Original line number Diff line number Diff line
@@ -57,10 +57,35 @@ foreach(example IN LISTS examples_cxx)
  set_target_properties(${example}_cxx PROPERTIES OUTPUT_NAME ${example})
endforeach()

set(CXX_TEST_ID 0)

if(SCORD_BUILD_TESTS)
  foreach(example IN LISTS examples_cxx)
    add_test(${example}_cxx_test ${example} ${SCORD_TRANSPORT_PROTOCOL}://${SCORD_BIND_ADDRESS}:${SCORD_BIND_PORT})
    set_tests_properties(${example}_cxx_test
      PROPERTIES FIXTURES_REQUIRED scord_daemon)

    # prepare environment for the RPC test itself and its validation test
    set(TEST_NAME "${example}_cxx_test")
    set(TEST_DIRECTORY "${SCORD_TESTS_DIRECTORY}/${TEST_NAME}")
    file(MAKE_DIRECTORY ${TEST_DIRECTORY})

    set(TEST_ENV)
    list(APPEND TEST_ENV LIBSCORD_LOG=1)
    list(APPEND TEST_ENV LIBSCORD_LOG_OUTPUT=${TEST_DIRECTORY}/libscord.log)

    add_test(run_${TEST_NAME} ${example}
      ${SCORD_TRANSPORT_PROTOCOL}://${SCORD_BIND_ADDRESS}:${SCORD_BIND_PORT})
    set_tests_properties(run_${TEST_NAME}
      PROPERTIES FIXTURES_REQUIRED scord_daemon
      ENVIRONMENT "${TEST_ENV}"
      )

    add_test(validate_${TEST_NAME}
      ${CMAKE_SOURCE_DIR}/ci/check_rpcs.py
      ${TEST_DIRECTORY}/libscord.log
      ${SCORD_TESTS_DIRECTORY}/scord_daemon/scord_daemon.log
      ${example}
      )
    set_tests_properties(validate_${TEST_NAME}
      PROPERTIES DEPENDS stop_scord_daemon
      )
  endforeach()
endif()