'СTests don't runs
I have a following CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
set(CMAKE_CONFIGURATION_TYPES "Debug" CACHE STRING "" FORCE)
project("sql_cli")
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# compiler must be 11 or 14
set(CMAKE_CXX_STANDARD 11)
# required if linking to static library
add_definitions(-DANTLR4CPP_STATIC)
# using /MD flag for antlr4_runtime (for Visual C++ compilers only)
set(ANTLR4_WITH_STATIC_CRT OFF)
# add external build for antlrcpp
include(ExternalAntlr4Cpp)
# add antrl4cpp artifacts to project environment
include_directories(${ANTLR4_INCLUDE_DIRS})
# set variable pointing to the antlr tool that supports C++
# this is not required if the jar file can be found under PATH environment
set(ANTLR_EXECUTABLE ${CMAKE_CURRENT_SOURCE_DIR}/tools/antlr-4.9.1-complete.jar)
# add macros to generate ANTLR Cpp code from grammar
find_package(ANTLR REQUIRED)
if(NOT WIN32)
FIND_PACKAGE(X11)
FIND_PACKAGE(Threads REQUIRED)
endif()
if(X11_FOUND)
link_directories(${X11_LIB_DIRS})
include_directories(${X11_INCLUDE_DIR})
SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${X11_LIBRARIES} )
endif()
if (NOT WIN32)
SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${CMAKE_THREAD_LIBS_INIT} )
endif()
if( WIN32)
SET( SYSTEM_LIBS ${SYSTEM_LIBS} gdi32 )
endif()
# Add CIMG Flags to Compilation Flags
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CIMG_CFLAGS}")
# CMake commands for this specific project start here
# to disable some warnings for CImg
if (NOT WIN32)
set(CMAKE_CXX_FLAGS "-Wdeprecated -Wno-attributes" )
endif()
if (APPLE)
set(CMAKE_CXX_FLAGS "-Wdeprecated -std=c++11" )
endif()
if (MSVC)
set(CMAKE_CXX_FLAGS "/EHsc /wd4127 /wd4311 /wd4312 /wd4512 /wd4571 /wd4640 /wd4706 /wd4710 /wd4800 /wd4804 /wd4820 /wd4996")
endif()
# Call macro to add lexer and grammar to your build dependencies.
antlr_target(SceneGrammarParser Cli.g4 VISITOR OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/libs/)
# add our project source directories
include_directories(${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/libs/
)
add_executable(sql_cli Hello.cpp
${ANTLR_SceneGrammarParser_CXX_OUTPUTS})
target_link_libraries(sql_cli antlr4_static ${SYSTEM_LIBS})
set(MULTIPLY_TIMEOUT 1)
enable_testing()
# Добавить тесты:
add_test(FirstTest sql_cli 15 207)
add_test(SecondTest sql_cli -54 -785)
add_test(ThirdTest sql_cli 85234)
# Установить поведение тестов:
set_tests_properties(FirstTest SecondTest ThirdTest
PROPERTIES TIMEOUT ${MULTIPLY_TIMEOUT})
set_tests_properties(FirstTest PROPERTIES
PASS_REGULAR_EXPRESSION "The result is: 3105"
FAIL_REGULAR_EXPRESSION "Error!")
set_tests_properties(SecondTest PROPERTIES
PASS_REGULAR_EXPRESSION "The result is: 42390"
FAIL_REGULAR_EXPRESSION "Error!")
set_tests_properties(ThirdTest PROPERTIES
PASS_REGULAR_EXPRESSION "Error!")
install(TARGETS sql_cli DESTINATION bin)
set(CPACK_PACKAGE_NAME "Multiply")
set(CPACK_PACKAGE_VENDOR "MyCompany")
set(CPACK_PACKAGE_CONTACT "https://myprojectsite.org")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "[email protected]")
set(CPACK_PACKAGE_DESCRIPTION "The most stupid program ever written")
set(CPACK_GENERATOR "DEB")
# Включить стандартный модуль "CPack":
include(CPack)
And when I run a tests. have following problem
> sql_cli.vcxproj ->
> C:\Users\Anna\Documents\GitHub\sql_cli\build\Debug\sql_cli.exe [build]
> Build finished with exit code 0 [proc] Executing command: ctest -j10
> -C Debug -T test --output-on-failure [ctest] Site: DESKTOP-CMT3HU6 [ctest] Build name: Win32-MSBuild [ctest] Test project
> C:/Users/Anna/Documents/GitHub/sql_cli/build [ctest] Start 1:
> FirstTest [ctest] Process not started [ctest]
> C:/Users/Anna/Documents/GitHub/sql_cli/build/Debug/sql_cli.exe [ctest]
> [unknown error] [ctest] 1/3 Test #1: FirstTest
> ........................***Not Run 0.00 sec [ctest] Start 2:
> SecondTest [ctest] Process not started [ctest]
> C:/Users/Anna/Documents/GitHub/sql_cli/build/Debug/sql_cli.exe [ctest]
> [unknown error] [ctest] 2/3 Test #2: SecondTest
> .......................***Not Run 0.00 sec [ctest] Start 3:
> ThirdTest [ctest] Process not started [ctest]
> C:/Users/Anna/Documents/GitHub/sql_cli/build/Debug/sql_cli.exe [ctest]
> [unknown error] [ctest] 3/3 Test #3: ThirdTest
> ........................***Not Run 0.00 sec [ctest] [ctest] 0%
> tests passed, 3 tests failed out of 3 [ctest] [ctest] Total Test time
> (real) = 0.03 sec [ctest] [ctest] The following tests FAILED:
> [ctest] 1 - FirstTest (BAD_COMMAND) [ctest] 2 - SecondTest
> (BAD_COMMAND) [ctest] 3 - ThirdTest (BAD_COMMAND) [ctest] Errors
> while running CTest [ctest] CTest finished with return code 8
And this is my C++ file
#include <stdio.h>
#include <stdlib.h>
#include <BailErrorStrategy.h>
#define ARG_COUNT 3
int main(const int argc, const char *argv[]) {
if (argc != ARG_COUNT) {
fprintf(stderr, "Error!\n");
return EXIT_FAILURE;
}
const int first = atoi(argv[1]);
const int second = atoi(argv[2]);
printf("The result is: %d\n", first * second);
return EXIT_SUCCESS;
}
Where I'm wrong?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
