Fix some mistakes to correct tests
This commit is contained in:
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
[submodule "lib/mdlp"]
|
||||||
|
path = lib/mdlp
|
||||||
|
url = https://github.com/rmontanana/mdlp
|
||||||
|
[submodule "lib/catch2"]
|
||||||
|
path = lib/catch2
|
||||||
|
url = https://github.com/catchorg/Catch2.git
|
@@ -33,12 +33,22 @@ set(CMAKE_BUILD_TYPE "Debug")
|
|||||||
# --------------
|
# --------------
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
|
||||||
|
|
||||||
|
include(AddGitSubmodule)
|
||||||
|
include(StaticAnalyzers) # clang-tidy
|
||||||
|
include(CodeCoverage)
|
||||||
|
|
||||||
|
# External libraries - dependencies of BayesNet
|
||||||
|
# ---------------------------------------------
|
||||||
|
# include(FetchContent)
|
||||||
|
add_git_submodule("lib/mdlp")
|
||||||
|
add_git_submodule("lib/catch2")
|
||||||
|
|
||||||
# Subdirectories
|
# Subdirectories
|
||||||
# --------------
|
# --------------
|
||||||
add_subdirectory(config)
|
add_subdirectory(config)
|
||||||
add_subdirectory(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
add_subdirectory(lib/Files)
|
||||||
add_subdirectory(${BayesNet_SOURCE_DIR}/src/Platform)
|
add_subdirectory(src/BayesNet)
|
||||||
|
add_subdirectory(src/Platform)
|
||||||
add_subdirectory(sample)
|
add_subdirectory(sample)
|
||||||
|
|
||||||
file(GLOB BayesNet_HEADERS CONFIGURE_DEPENDS ${BayesNet_SOURCE_DIR}/src/BayesNet/*.h ${BayesNet_SOURCE_DIR}/BayesNet/*.hpp)
|
file(GLOB BayesNet_HEADERS CONFIGURE_DEPENDS ${BayesNet_SOURCE_DIR}/src/BayesNet/*.h ${BayesNet_SOURCE_DIR}/BayesNet/*.hpp)
|
||||||
@@ -51,14 +61,14 @@ if (ENABLE_TESTING)
|
|||||||
MESSAGE("Testing enabled")
|
MESSAGE("Testing enabled")
|
||||||
enable_testing()
|
enable_testing()
|
||||||
if (CODE_COVERAGE)
|
if (CODE_COVERAGE)
|
||||||
include(CodeCoverage)
|
#include(CodeCoverage)
|
||||||
MESSAGE("Code coverage enabled")
|
MESSAGE("Code coverage enabled")
|
||||||
set(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
|
set(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
|
||||||
set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
|
set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
|
||||||
SET(GCC_COVERAGE_LINK_FLAGS " ${GCC_COVERAGE_LINK_FLAGS} -lgcov --coverage")
|
SET(GCC_COVERAGE_LINK_FLAGS " ${GCC_COVERAGE_LINK_FLAGS} -lgcov --coverage")
|
||||||
endif (CODE_COVERAGE)
|
endif (CODE_COVERAGE)
|
||||||
find_package(Catch2 3 REQUIRED)
|
#find_package(Catch2 3 REQUIRED)
|
||||||
include(CTest)
|
include(CTest)
|
||||||
include(Catch)
|
#include(Catch)
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif (ENABLE_TESTING)
|
endif (ENABLE_TESTING)
|
12
cmake/modules/AddGitSubmodule.cmake
Normal file
12
cmake/modules/AddGitSubmodule.cmake
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
function(add_git_submodule dir)
|
||||||
|
find_package(Git REQUIRED)
|
||||||
|
|
||||||
|
if(NOT EXISTS ${dir}/CMakeLists.txt)
|
||||||
|
message(STATUS "🚨 Adding git submodule => ${dir}")
|
||||||
|
execute_process(COMMAND ${GIT_EXECUTABLE}
|
||||||
|
submodule update --init --recursive -- ${dir}
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
||||||
|
endif()
|
||||||
|
add_subdirectory(${dir})
|
||||||
|
endfunction(add_git_submodule)
|
22
cmake/modules/StaticAnalyzers.cmake
Normal file
22
cmake/modules/StaticAnalyzers.cmake
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
if(ENABLE_CLANG_TIDY)
|
||||||
|
find_program(CLANG_TIDY_COMMAND NAMES clang-tidy)
|
||||||
|
|
||||||
|
if(NOT CLANG_TIDY_COMMAND)
|
||||||
|
message(WARNING "🔴 CMake_RUN_CLANG_TIDY is ON but clang-tidy is not found!")
|
||||||
|
set(CMAKE_CXX_CLANG_TIDY "" CACHE STRING "" FORCE)
|
||||||
|
else()
|
||||||
|
|
||||||
|
message(STATUS "🟢 CMake_RUN_CLANG_TIDY is ON")
|
||||||
|
set(CLANGTIDY_EXTRA_ARGS
|
||||||
|
"-extra-arg=-Wno-unknown-warning-option"
|
||||||
|
)
|
||||||
|
set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_COMMAND};-p=${CMAKE_BINARY_DIR};${CLANGTIDY_EXTRA_ARGS}" CACHE STRING "" FORCE)
|
||||||
|
|
||||||
|
add_custom_target(clang-tidy
|
||||||
|
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target ${CMAKE_PROJECT_NAME}
|
||||||
|
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target clang-tidy
|
||||||
|
COMMENT "Running clang-tidy..."
|
||||||
|
)
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
endif()
|
||||||
|
endif(ENABLE_CLANG_TIDY)
|
2
lib/Files/CMakeLists.txt
Normal file
2
lib/Files/CMakeLists.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
add_library(ArffFiles ArffFiles.cc)
|
||||||
|
#target_link_libraries(BayesNet "${TORCH_LIBRARIES}")
|
1
lib/catch2
Submodule
1
lib/catch2
Submodule
Submodule lib/catch2 added at 4acc51828f
1
lib/mdlp
Submodule
1
lib/mdlp
Submodule
Submodule lib/mdlp added at fbffc3a9c4
@@ -1,4 +1,6 @@
|
|||||||
include_directories(${BayesNet_SOURCE_DIR}/src/Platform)
|
include_directories(${BayesNet_SOURCE_DIR}/src/Platform)
|
||||||
include_directories(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
include_directories(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
||||||
add_executable(sample sample.cc ${BayesNet_SOURCE_DIR}/src/Platform/ArffFiles.cc ${BayesNet_SOURCE_DIR}/src/Platform/CPPFImdlp.cpp ${BayesNet_SOURCE_DIR}/src/Platform/Metrics.cpp ${BayesNet_SOURCE_DIR}/src/Platform/typesFImdlp.h ${BayesNet_HEADERS})
|
include_directories(${BayesNet_SOURCE_DIR}/lib/Files)
|
||||||
target_link_libraries(sample BayesNet "${TORCH_LIBRARIES}")
|
include_directories(${BayesNet_SOURCE_DIR}/lib/mdlp)
|
||||||
|
add_executable(BayesNetSample sample.cc)
|
||||||
|
target_link_libraries(BayesNetSample BayesNet ArffFiles mdlp "${TORCH_LIBRARIES}")
|
@@ -5,7 +5,7 @@
|
|||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include "ArffFiles.h"
|
#include "ArffFiles.h"
|
||||||
#include "Network.h"
|
#include "Network.h"
|
||||||
#include "Metrics.hpp"
|
#include "BayesMetrics.h"
|
||||||
#include "CPPFImdlp.h"
|
#include "CPPFImdlp.h"
|
||||||
#include "KDB.h"
|
#include "KDB.h"
|
||||||
#include "SPODE.h"
|
#include "SPODE.h"
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
#define CLASSIFIERS_H
|
#define CLASSIFIERS_H
|
||||||
#include <torch/torch.h>
|
#include <torch/torch.h>
|
||||||
#include "Network.h"
|
#include "Network.h"
|
||||||
#include "Metrics.hpp"
|
#include "BayesMetrics.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace torch;
|
using namespace torch;
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
#include "Metrics.hpp"
|
#include "BayesMetrics.h"
|
||||||
#include "Mst.h"
|
#include "Mst.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
namespace bayesnet {
|
namespace bayesnet {
|
@@ -1,2 +1,2 @@
|
|||||||
add_library(BayesNet bayesnetUtils.cc Network.cc Node.cc Metrics.cc BaseClassifier.cc KDB.cc TAN.cc SPODE.cc Ensemble.cc AODE.cc Mst.cc)
|
add_library(BayesNet bayesnetUtils.cc Network.cc Node.cc BayesMetrics.cc BaseClassifier.cc KDB.cc TAN.cc SPODE.cc Ensemble.cc AODE.cc Mst.cc)
|
||||||
target_link_libraries(BayesNet "${TORCH_LIBRARIES}")
|
target_link_libraries(BayesNet "${TORCH_LIBRARIES}")
|
@@ -2,7 +2,7 @@
|
|||||||
#define ENSEMBLE_H
|
#define ENSEMBLE_H
|
||||||
#include <torch/torch.h>
|
#include <torch/torch.h>
|
||||||
#include "BaseClassifier.h"
|
#include "BaseClassifier.h"
|
||||||
#include "Metrics.hpp"
|
#include "BayesMetrics.h"
|
||||||
#include "bayesnetUtils.h"
|
#include "bayesnetUtils.h"
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace torch;
|
using namespace torch;
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
include_directories(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
include_directories(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
||||||
include_directories(${BayesNet_SOURCE_DIR}/src/Platform)
|
include_directories(${BayesNet_SOURCE_DIR}/src/Platform)
|
||||||
add_executable(main Experiment.cc ArffFiles.cc CPPFImdlp.cpp Metrics.cpp platformUtils.cc)
|
include_directories(${BayesNet_SOURCE_DIR}/lib/Files)
|
||||||
target_link_libraries(main BayesNet "${TORCH_LIBRARIES}")
|
include_directories(${BayesNet_SOURCE_DIR}/lib/mdlp)
|
||||||
|
add_executable(main Experiment.cc platformUtils.cc)
|
||||||
|
target_link_libraries(main BayesNet ArffFiles mdlp "${TORCH_LIBRARIES}")
|
@@ -5,7 +5,7 @@
|
|||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
#include "ArffFiles.h"
|
#include "ArffFiles.h"
|
||||||
#include "Network.h"
|
#include "Network.h"
|
||||||
#include "Metrics.hpp"
|
#include "BayesMetrics.h"
|
||||||
#include "CPPFImdlp.h"
|
#include "CPPFImdlp.h"
|
||||||
#include "KDB.h"
|
#include "KDB.h"
|
||||||
#include "SPODE.h"
|
#include "SPODE.h"
|
||||||
|
@@ -2,8 +2,10 @@ if(ENABLE_TESTING)
|
|||||||
set(TEST_MAIN "unit_tests")
|
set(TEST_MAIN "unit_tests")
|
||||||
include_directories(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
include_directories(${BayesNet_SOURCE_DIR}/src/BayesNet)
|
||||||
include_directories(${BayesNet_SOURCE_DIR}/src/Platform)
|
include_directories(${BayesNet_SOURCE_DIR}/src/Platform)
|
||||||
set(TEST_SOURCES BayesModels.cc BayesNetwork.cc ${BayesNet_SOURCES} ${Platform_SOURCES})
|
include_directories(${BayesNet_SOURCE_DIR}/lib/Files)
|
||||||
|
include_directories(${BayesNet_SOURCE_DIR}/lib/mdlp)
|
||||||
|
set(TEST_SOURCES BayesModels.cc BayesNetwork.cc ${BayesNet_SOURCE_DIR}/src/Platform/platformUtils.cc ${BayesNet_SOURCES})
|
||||||
add_executable(${TEST_MAIN} ${TEST_SOURCES})
|
add_executable(${TEST_MAIN} ${TEST_SOURCES})
|
||||||
target_link_libraries(${TEST_MAIN} PUBLIC "${TORCH_LIBRARIES}" Catch2::Catch2WithMain)
|
target_link_libraries(${TEST_MAIN} PUBLIC "${TORCH_LIBRARIES}" ArffFiles mdlp Catch2::Catch2WithMain)
|
||||||
add_test(NAME ${TEST_MAIN} COMMAND ${TEST_MAIN})
|
add_test(NAME ${TEST_MAIN} COMMAND ${TEST_MAIN})
|
||||||
endif(ENABLE_TESTING)
|
endif(ENABLE_TESTING)
|
||||||
|
Reference in New Issue
Block a user