# SPDX-License-Identifier: Apache-2.0

# tests don't depend on actually building tests...
# workaround from https://stackoverflow.com/questions/733475/cmake-ctest-make-test-doesnt-build-tests
# using all instead of specific target
ADD_TEST(ctest_build_all
         "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target all)

# command tests
add_executable(commandTest commandTest.cpp ../execute_command.cpp ../agent_log.cpp)
target_link_libraries(commandTest PRIVATE ${DEP_AWS_LIBS})
set_target_properties(commandTest PROPERTIES CXX_STANDARD 17)
target_compile_options(commandTest PRIVATE -Wall -Wextra -Wno-unused-parameter -pedantic -Werror)
add_test(NAME commandTest COMMAND commandTest)
SET_TESTS_PROPERTIES(commandTest
                     PROPERTIES DEPENDS ctest_build_all)

# shadow obj tests -- for manual execution and result inspection...
add_executable(shadowObjTest shadowObjTest.cpp ../shadow_obj.cpp ../shadow_factory.cpp
               ../agent_utils.cpp ../execute_command.cpp ../ping.cpp ../dbus.cpp ../mmc.cpp ../agent_log.cpp)
target_link_libraries(shadowObjTest PRIVATE ${DEP_AWS_LIBS} ${DBUS_LIBRARIES})
set_target_properties(shadowObjTest PROPERTIES CXX_STANDARD 17)
target_compile_options(shadowObjTest PRIVATE -Wall -Wextra -Wno-unused-parameter -pedantic -Werror)
add_test(NAME shadowObjTest COMMAND shadowObjTest)
SET_TESTS_PROPERTIES(shadowObjTest
                     PROPERTIES DEPENDS ctest_build_all)
