From 74312b0405d6fb5ed75c675ceed471e1e5086f00 Mon Sep 17 00:00:00 2001 From: Piotr Dziwinski Date: Tue, 12 Aug 2014 20:03:56 +0200 Subject: [PATCH] Better CMake organization and unit test cleanups * created a static library containing most source modules to avoid compiling source modules twice in code and unit tests * moved profile_test to main unit tests executable * removed image_test and edit_test as not really useful --- CMakeLists.txt | 74 +++--- src/CMakeLists.txt | 339 ++++++++++++++------------ src/common/profile.cpp | 26 +- src/common/profile.h | 7 + test/unit/CMakeLists.txt | 258 ++++---------------- test/unit/common/CMakeLists.txt | 21 -- test/unit/common/image_test.cpp | 57 ----- test/unit/common/profile_test.cpp | 9 +- test/unit/ui/CMakeLists.txt | 46 ---- test/unit/ui/edit_test.cpp | 90 ------- test/unit/ui/mocks/text_mock.h | 35 --- test/unit/ui/stubs/app_stub.cpp | 42 ---- test/unit/ui/stubs/engine_stub.cpp | 104 -------- test/unit/ui/stubs/particle_stub.cpp | 205 ---------------- test/unit/ui/stubs/restext_stub.cpp | 12 - test/unit/ui/stubs/robotmain_stub.cpp | 25 -- 16 files changed, 280 insertions(+), 1070 deletions(-) delete mode 100644 test/unit/common/CMakeLists.txt delete mode 100644 test/unit/common/image_test.cpp delete mode 100644 test/unit/ui/CMakeLists.txt delete mode 100644 test/unit/ui/edit_test.cpp delete mode 100644 test/unit/ui/mocks/text_mock.h delete mode 100644 test/unit/ui/stubs/app_stub.cpp delete mode 100644 test/unit/ui/stubs/engine_stub.cpp delete mode 100644 test/unit/ui/stubs/particle_stub.cpp delete mode 100644 test/unit/ui/stubs/restext_stub.cpp delete mode 100644 test/unit/ui/stubs/robotmain_stub.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index bf1e12ee..6deed31d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -294,43 +294,6 @@ endif() # Targets ## -if(TESTS) - # Google Test library - find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest) - find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include) - if(NOT(FORCE_BUNDLED_GTEST) AND GTEST_SRC_DIR AND GTEST_INCLUDE_DIR) - message(STATUS "Using system gtest library in ${GTEST_SRC_DIR}") - else() - message(STATUS "Using bundled gtest library") - set(GTEST_SRC_DIR ${colobot_SOURCE_DIR}/lib/gtest) - set(GTEST_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gtest/include) - endif() - - add_subdirectory(${GTEST_SRC_DIR} lib/gtest) - - # Google Mock library - find_path(GMOCK_SRC_DIR NAMES src/gmock.cc src/gmock-all.cc PATHS /usr/src PATH_SUFFIXES gmock) - find_path(GMOCK_INCLUDE_DIR gmock/gmock.h PATHS /usr/include) - if(NOT(FORCE_BUNDLED_GMOCK) AND GMOCK_SRC_DIR AND GMOCK_INCLUDE_DIR) - message(STATUS "Using system gmock library in ${GMOCK_SRC_DIR}") - - include_directories(${GMOCK_SRC_DIR}) - # gmock-all.cc includes all other sources - add_library(gmock STATIC ${GMOCK_SRC_DIR}/src/gmock-all.cc) - else() - message(STATUS "Using bundled gmock library") - set(GMOCK_SRC_DIR ${colobot_SOURCE_DIR}/lib/gmock) - set(GMOCK_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gmock/include) - add_subdirectory(${GMOCK_SRC_DIR} lib/gmock) - endif() - - - # Tests targets - enable_testing() - add_subdirectory(test) - -endif() - # Installation paths defined before compiling sources if(PLATFORM_WINDOWS) if(MXE) @@ -370,6 +333,43 @@ if(DESKTOP) add_subdirectory(desktop) endif() +if(TESTS) + # Google Test library + find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest) + find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include) + if(NOT(FORCE_BUNDLED_GTEST) AND GTEST_SRC_DIR AND GTEST_INCLUDE_DIR) + message(STATUS "Using system gtest library in ${GTEST_SRC_DIR}") + else() + message(STATUS "Using bundled gtest library") + set(GTEST_SRC_DIR ${colobot_SOURCE_DIR}/lib/gtest) + set(GTEST_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gtest/include) + endif() + + add_subdirectory(${GTEST_SRC_DIR} lib/gtest) + + # Google Mock library + find_path(GMOCK_SRC_DIR NAMES src/gmock.cc src/gmock-all.cc PATHS /usr/src PATH_SUFFIXES gmock) + find_path(GMOCK_INCLUDE_DIR gmock/gmock.h PATHS /usr/include) + if(NOT(FORCE_BUNDLED_GMOCK) AND GMOCK_SRC_DIR AND GMOCK_INCLUDE_DIR) + message(STATUS "Using system gmock library in ${GMOCK_SRC_DIR}") + + include_directories(${GMOCK_SRC_DIR}) + # gmock-all.cc includes all other sources + add_library(gmock STATIC ${GMOCK_SRC_DIR}/src/gmock-all.cc) + else() + message(STATUS "Using bundled gmock library") + set(GMOCK_SRC_DIR ${colobot_SOURCE_DIR}/lib/gmock) + set(GMOCK_INCLUDE_DIR ${colobot_SOURCE_DIR}/lib/gmock/include) + add_subdirectory(${GMOCK_SRC_DIR} lib/gmock) + endif() + + + # Tests targets + enable_testing() + add_subdirectory(test) + +endif() + ## # Installation diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 12171f36..fbbaa37b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -59,178 +59,197 @@ if(PLATFORM_WINDOWS) endif() # Source files -set(SOURCES -app/app.cpp -app/gamedata.cpp -app/main.cpp -app/pausemanager.cpp -app/system.cpp -app/${SYSTEM_CPP_MODULE} -app/system_other.cpp -common/event.cpp -common/image.cpp -common/iman.cpp -common/logger.cpp -common/misc.cpp -common/profile.cpp -common/restext.cpp -common/stringutils.cpp -graphics/core/color.cpp -graphics/engine/camera.cpp -graphics/engine/cloud.cpp -graphics/engine/engine.cpp -graphics/engine/lightman.cpp -graphics/engine/lightning.cpp -graphics/engine/modelfile.cpp -graphics/engine/modelmanager.cpp -graphics/engine/particle.cpp -graphics/engine/planet.cpp -graphics/engine/pyro.cpp -graphics/engine/terrain.cpp -graphics/engine/text.cpp -graphics/engine/water.cpp -graphics/opengl/gldevice.cpp -object/auto/auto.cpp -object/auto/autobase.cpp -object/auto/autoconvert.cpp -object/auto/autoderrick.cpp -object/auto/autodestroyer.cpp -object/auto/autoegg.cpp -object/auto/autoenergy.cpp -object/auto/autofactory.cpp -object/auto/autoflag.cpp -object/auto/autohuston.cpp -object/auto/autoinfo.cpp -object/auto/autojostle.cpp -object/auto/autokid.cpp -object/auto/autolabo.cpp -object/auto/automush.cpp -object/auto/autonest.cpp -object/auto/autonuclear.cpp -object/auto/autopara.cpp -object/auto/autoportico.cpp -object/auto/autoradar.cpp -object/auto/autorepair.cpp -object/auto/autoresearch.cpp -object/auto/autoroot.cpp -object/auto/autosafe.cpp -object/auto/autostation.cpp -object/auto/autotower.cpp -object/brain.cpp -object/mainmovie.cpp -object/motion/motion.cpp -object/motion/motionant.cpp -object/motion/motionbee.cpp -object/motion/motiondummy.cpp -object/motion/motionhuman.cpp -object/motion/motionmother.cpp -object/motion/motionspider.cpp -object/motion/motiontoto.cpp -object/motion/motionvehicle.cpp -object/motion/motionworm.cpp -object/object.cpp -object/robotmain.cpp -object/objman.cpp -object/task/task.cpp -object/task/taskadvance.cpp -object/task/taskbuild.cpp -object/task/taskfire.cpp -object/task/taskfireant.cpp -object/task/taskflag.cpp -object/task/taskgoto.cpp -object/task/taskgungoal.cpp -object/task/taskinfo.cpp -object/task/taskmanager.cpp -object/task/taskmanip.cpp -object/task/taskpen.cpp -object/task/taskrecover.cpp -object/task/taskreset.cpp -object/task/tasksearch.cpp -object/task/taskshield.cpp -object/task/taskspiderexplo.cpp -object/task/tasktake.cpp -object/task/taskterraform.cpp -object/task/taskturn.cpp -object/task/taskwait.cpp -physics/physics.cpp -script/cbottoken.cpp -script/cmdtoken.cpp -script/script.cpp -sound/sound.cpp -ui/button.cpp -ui/check.cpp -ui/color.cpp -ui/compass.cpp -ui/control.cpp -ui/displayinfo.cpp -ui/displaytext.cpp -ui/edit.cpp -ui/editvalue.cpp -ui/gauge.cpp -ui/group.cpp -ui/image.cpp -ui/interface.cpp -ui/key.cpp -ui/label.cpp -ui/list.cpp -ui/maindialog.cpp -ui/mainmap.cpp -ui/mainshort.cpp -ui/map.cpp -ui/scroll.cpp -ui/shortcut.cpp -ui/slider.cpp -ui/studio.cpp -ui/target.cpp -ui/window.cpp -${OPENAL_SRC} -${RES_FILES} +set(BASE_SOURCES + app/app.cpp + app/gamedata.cpp + app/pausemanager.cpp + app/system.cpp + app/${SYSTEM_CPP_MODULE} + app/system_other.cpp + common/event.cpp + common/image.cpp + common/iman.cpp + common/logger.cpp + common/misc.cpp + common/profile.cpp + common/restext.cpp + common/stringutils.cpp + graphics/core/color.cpp + graphics/engine/camera.cpp + graphics/engine/cloud.cpp + graphics/engine/engine.cpp + graphics/engine/lightman.cpp + graphics/engine/lightning.cpp + graphics/engine/modelfile.cpp + graphics/engine/modelmanager.cpp + graphics/engine/particle.cpp + graphics/engine/planet.cpp + graphics/engine/pyro.cpp + graphics/engine/terrain.cpp + graphics/engine/text.cpp + graphics/engine/water.cpp + graphics/opengl/gldevice.cpp + object/auto/auto.cpp + object/auto/autobase.cpp + object/auto/autoconvert.cpp + object/auto/autoderrick.cpp + object/auto/autodestroyer.cpp + object/auto/autoegg.cpp + object/auto/autoenergy.cpp + object/auto/autofactory.cpp + object/auto/autoflag.cpp + object/auto/autohuston.cpp + object/auto/autoinfo.cpp + object/auto/autojostle.cpp + object/auto/autokid.cpp + object/auto/autolabo.cpp + object/auto/automush.cpp + object/auto/autonest.cpp + object/auto/autonuclear.cpp + object/auto/autopara.cpp + object/auto/autoportico.cpp + object/auto/autoradar.cpp + object/auto/autorepair.cpp + object/auto/autoresearch.cpp + object/auto/autoroot.cpp + object/auto/autosafe.cpp + object/auto/autostation.cpp + object/auto/autotower.cpp + object/brain.cpp + object/mainmovie.cpp + object/motion/motion.cpp + object/motion/motionant.cpp + object/motion/motionbee.cpp + object/motion/motiondummy.cpp + object/motion/motionhuman.cpp + object/motion/motionmother.cpp + object/motion/motionspider.cpp + object/motion/motiontoto.cpp + object/motion/motionvehicle.cpp + object/motion/motionworm.cpp + object/object.cpp + object/robotmain.cpp + object/objman.cpp + object/task/task.cpp + object/task/taskadvance.cpp + object/task/taskbuild.cpp + object/task/taskfire.cpp + object/task/taskfireant.cpp + object/task/taskflag.cpp + object/task/taskgoto.cpp + object/task/taskgungoal.cpp + object/task/taskinfo.cpp + object/task/taskmanager.cpp + object/task/taskmanip.cpp + object/task/taskpen.cpp + object/task/taskrecover.cpp + object/task/taskreset.cpp + object/task/tasksearch.cpp + object/task/taskshield.cpp + object/task/taskspiderexplo.cpp + object/task/tasktake.cpp + object/task/taskterraform.cpp + object/task/taskturn.cpp + object/task/taskwait.cpp + physics/physics.cpp + script/cbottoken.cpp + script/cmdtoken.cpp + script/script.cpp + sound/sound.cpp + ui/button.cpp + ui/check.cpp + ui/color.cpp + ui/compass.cpp + ui/control.cpp + ui/displayinfo.cpp + ui/displaytext.cpp + ui/edit.cpp + ui/editvalue.cpp + ui/gauge.cpp + ui/group.cpp + ui/image.cpp + ui/interface.cpp + ui/key.cpp + ui/label.cpp + ui/list.cpp + ui/maindialog.cpp + ui/mainmap.cpp + ui/mainshort.cpp + ui/map.cpp + ui/scroll.cpp + ui/shortcut.cpp + ui/slider.cpp + ui/studio.cpp + ui/target.cpp + ui/window.cpp + ${OPENAL_SRC} + ${RES_FILES} +) + +set(MAIN_SOURCES + app/main.cpp ) +# Libraries set(LIBS -CBot -clipboard -localename -${SDL_LIBRARY} -${SDLIMAGE_LIBRARY} -${SDLTTF_LIBRARY} -${OPENGL_LIBRARY} -${PNG_LIBRARIES} -${GLEW_LIBRARY} -${Boost_LIBRARIES} -${LIBSNDFILE_LIBRARY} -${OPTIONAL_LIBS} -${PLATFORM_LIBS} + CBot + clipboard + localename + ${SDL_LIBRARY} + ${SDLIMAGE_LIBRARY} + ${SDLTTF_LIBRARY} + ${OPENGL_LIBRARY} + ${PNG_LIBRARIES} + ${GLEW_LIBRARY} + ${Boost_LIBRARIES} + ${LIBSNDFILE_LIBRARY} + ${OPTIONAL_LIBS} + ${PLATFORM_LIBS} ) -# Local -include_directories( -. -.. -${CMAKE_CURRENT_BINARY_DIR} +set(COLOBOT_LIBS ${LIBS} PARENT_SCOPE) + + +# Includes +set(LOCAL_INCLUDES + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/.. + ${CMAKE_CURRENT_BINARY_DIR} ) -# System -include_directories( -SYSTEM -${SDL_INCLUDE_DIR} -${SDLIMAGE_INCLUDE_DIR} -${SDLTTF_INCLUDE_DIR} -${PNG_INCLUDE_DIRS} -${GLEW_INCLUDE_PATH} -${Boost_INCLUDE_DIRS} -${LIBSNDFILE_INCLUDE_DIR} -${LOCALENAME_INCLUDE_DIR} -${OPTIONAL_INCLUDE_DIRS} -${CLIPBOARD_INCLUDE_DIR} +set(SYSTEM_INCLUDES + ${SDL_INCLUDE_DIR} + ${SDLIMAGE_INCLUDE_DIR} + ${SDLTTF_INCLUDE_DIR} + ${PNG_INCLUDE_DIRS} + ${GLEW_INCLUDE_PATH} + ${Boost_INCLUDE_DIRS} + ${LIBSNDFILE_INCLUDE_DIR} + ${LOCALENAME_INCLUDE_DIR} + ${OPTIONAL_INCLUDE_DIRS} + ${CLIPBOARD_INCLUDE_DIR} ) -link_directories(${CMAKE_CURRENT_SOURCE_DIR}/CBot) +set(COLOBOT_LOCAL_INCLUDES ${LOCAL_INCLUDES} PARENT_SCOPE) +set(COLOBOT_SYSTEM_INCLUDES ${SYSTEM_INCLUDES} PARENT_SCOPE) -add_executable(colobot ${SOURCES}) +include_directories(${LOCAL_INCLUDES}) +include_directories(SYSTEM ${SYSTEM_INCLUDES}) -target_link_libraries(colobot ${LIBS}) + +# Link directories +link_directories( + ${CMAKE_CURRENT_SOURCE_DIR}/CBot +) + + +# Targets + +add_library(colobotbase STATIC ${BASE_SOURCES}) + +add_executable(colobot ${MAIN_SOURCES}) +target_link_libraries(colobot colobotbase ${LIBS}) install(TARGETS colobot RUNTIME DESTINATION ${COLOBOT_INSTALL_BIN_DIR}) if(NOT CBOT_STATIC) diff --git a/src/common/profile.cpp b/src/common/profile.cpp index ee3e8738..a63a772e 100644 --- a/src/common/profile.cpp +++ b/src/common/profile.cpp @@ -31,8 +31,9 @@ template<> CProfile* CSingleton::m_instance = nullptr; namespace bp = boost::property_tree; -CProfile::CProfile() : - m_profileNeedSave(false) +CProfile::CProfile() + : m_profileNeedSave(false) + , m_useLocalDirectory(false) { } @@ -42,16 +43,21 @@ CProfile::~CProfile() SaveCurrentDirectory(); } +void CProfile::SetUseLocalDirectory(bool useLocalDirectory) +{ + m_useLocalDirectory = useLocalDirectory; +} + +std::string CProfile::GetIniFileLocation() +{ + return m_useLocalDirectory ? "colobot.ini" : GetSystemUtils()->GetProfileFileLocation(); +} bool CProfile::InitCurrentDirectory() { try { - #if DEV_BUILD - bp::ini_parser::read_ini("colobot.ini", m_propertyTree); - #else - bp::ini_parser::read_ini(GetSystemUtils()->GetProfileFileLocation(), m_propertyTree); - #endif + bp::ini_parser::read_ini(GetIniFileLocation(), m_propertyTree); } catch (std::exception & e) { @@ -67,11 +73,7 @@ bool CProfile::SaveCurrentDirectory() { try { - #if DEV_BUILD - bp::ini_parser::write_ini("colobot.ini", m_propertyTree); - #else - bp::ini_parser::write_ini(GetSystemUtils()->GetProfileFileLocation(), m_propertyTree); - #endif + bp::ini_parser::write_ini(GetIniFileLocation(), m_propertyTree); } catch (std::exception & e) { diff --git a/src/common/profile.h b/src/common/profile.h index f084ece9..52f9f157 100644 --- a/src/common/profile.h +++ b/src/common/profile.h @@ -45,6 +45,9 @@ public: CProfile(); virtual ~CProfile(); + /** Set flag to force using ini file from local directory */ + void SetUseLocalDirectory(bool useLocalDirectory); + /** Loads colobot.ini from current directory * \return return true on success */ @@ -129,10 +132,14 @@ public: */ bool CopyFileToTemp(std::string filename); +private: + std::string GetIniFileLocation(); + private: boost::property_tree::ptree m_propertyTree; bool m_profileNeedSave; std::string m_userDirectory; + bool m_useLocalDirectory; }; //! Global function to get profile instance diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index bdb5a67b..cd745c3a 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -1,170 +1,3 @@ -set(SRC_DIR ${colobot_SOURCE_DIR}/src) - -# Additional libraries per platform -if(MXE) # MXE requires special treatment - set(PLATFORM_LIBS ${MXE_LIBS}) -elseif(PLATFORM_WINDOWS) - # because it isn't included in standard linking libraries - set(PLATFORM_LIBS "-lintl") -elseif(PLATFORM_GNU) - set(PLATFORM_LIBS "-lX11") -elseif(PLATFORM_LINUX) - # for clock_gettime - set(PLATFORM_LIBS "-lrt -lX11") -elseif(PLATFORM_MACOSX) - find_library(LIBINTL_LIBRARY NAMES intl libintl ) - set(PLATFORM_LIBS ${LIBINTL_LIBRARY} ${X11_X11_LIB}) -endif() - - -# Configure file -configure_file(${SRC_DIR}/common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h) - -# Code sources -set(COLOBOT_SOURCES -${SRC_DIR}/app/app.cpp -${SRC_DIR}/app/gamedata.cpp -${SRC_DIR}/app/pausemanager.cpp -${SRC_DIR}/app/system.cpp -${SRC_DIR}/app/${SYSTEM_CPP_MODULE} -${SRC_DIR}/app/system_other.cpp -${SRC_DIR}/common/event.cpp -${SRC_DIR}/common/image.cpp -${SRC_DIR}/common/iman.cpp -${SRC_DIR}/common/logger.cpp -${SRC_DIR}/common/misc.cpp -${SRC_DIR}/common/profile.cpp -${SRC_DIR}/common/restext.cpp -${SRC_DIR}/common/stringutils.cpp -${SRC_DIR}/graphics/core/color.cpp -${SRC_DIR}/graphics/engine/camera.cpp -${SRC_DIR}/graphics/engine/cloud.cpp -${SRC_DIR}/graphics/engine/engine.cpp -${SRC_DIR}/graphics/engine/lightman.cpp -${SRC_DIR}/graphics/engine/lightning.cpp -${SRC_DIR}/graphics/engine/modelfile.cpp -${SRC_DIR}/graphics/engine/modelmanager.cpp -${SRC_DIR}/graphics/engine/particle.cpp -${SRC_DIR}/graphics/engine/planet.cpp -${SRC_DIR}/graphics/engine/pyro.cpp -${SRC_DIR}/graphics/engine/terrain.cpp -${SRC_DIR}/graphics/engine/text.cpp -${SRC_DIR}/graphics/engine/water.cpp -${SRC_DIR}/graphics/opengl/gldevice.cpp -${SRC_DIR}/object/auto/auto.cpp -${SRC_DIR}/object/auto/autobase.cpp -${SRC_DIR}/object/auto/autoconvert.cpp -${SRC_DIR}/object/auto/autoderrick.cpp -${SRC_DIR}/object/auto/autodestroyer.cpp -${SRC_DIR}/object/auto/autoegg.cpp -${SRC_DIR}/object/auto/autoenergy.cpp -${SRC_DIR}/object/auto/autofactory.cpp -${SRC_DIR}/object/auto/autoflag.cpp -${SRC_DIR}/object/auto/autohuston.cpp -${SRC_DIR}/object/auto/autoinfo.cpp -${SRC_DIR}/object/auto/autojostle.cpp -${SRC_DIR}/object/auto/autokid.cpp -${SRC_DIR}/object/auto/autolabo.cpp -${SRC_DIR}/object/auto/automush.cpp -${SRC_DIR}/object/auto/autonest.cpp -${SRC_DIR}/object/auto/autonuclear.cpp -${SRC_DIR}/object/auto/autopara.cpp -${SRC_DIR}/object/auto/autoportico.cpp -${SRC_DIR}/object/auto/autoradar.cpp -${SRC_DIR}/object/auto/autorepair.cpp -${SRC_DIR}/object/auto/autoresearch.cpp -${SRC_DIR}/object/auto/autoroot.cpp -${SRC_DIR}/object/auto/autosafe.cpp -${SRC_DIR}/object/auto/autostation.cpp -${SRC_DIR}/object/auto/autotower.cpp -${SRC_DIR}/object/brain.cpp -${SRC_DIR}/object/mainmovie.cpp -${SRC_DIR}/object/motion/motion.cpp -${SRC_DIR}/object/motion/motionant.cpp -${SRC_DIR}/object/motion/motionbee.cpp -${SRC_DIR}/object/motion/motionhuman.cpp -${SRC_DIR}/object/motion/motionmother.cpp -${SRC_DIR}/object/motion/motionspider.cpp -${SRC_DIR}/object/motion/motiontoto.cpp -${SRC_DIR}/object/motion/motionvehicle.cpp -${SRC_DIR}/object/motion/motionworm.cpp -${SRC_DIR}/object/motion/motiondummy.cpp -${SRC_DIR}/object/object.cpp -${SRC_DIR}/object/objman.cpp -${SRC_DIR}/object/robotmain.cpp -${SRC_DIR}/object/task/task.cpp -${SRC_DIR}/object/task/taskadvance.cpp -${SRC_DIR}/object/task/taskbuild.cpp -${SRC_DIR}/object/task/taskfire.cpp -${SRC_DIR}/object/task/taskfireant.cpp -${SRC_DIR}/object/task/taskflag.cpp -${SRC_DIR}/object/task/taskgoto.cpp -${SRC_DIR}/object/task/taskgungoal.cpp -${SRC_DIR}/object/task/taskinfo.cpp -${SRC_DIR}/object/task/taskmanager.cpp -${SRC_DIR}/object/task/taskmanip.cpp -${SRC_DIR}/object/task/taskpen.cpp -${SRC_DIR}/object/task/taskrecover.cpp -${SRC_DIR}/object/task/taskreset.cpp -${SRC_DIR}/object/task/tasksearch.cpp -${SRC_DIR}/object/task/taskshield.cpp -${SRC_DIR}/object/task/taskspiderexplo.cpp -${SRC_DIR}/object/task/tasktake.cpp -${SRC_DIR}/object/task/taskterraform.cpp -${SRC_DIR}/object/task/taskturn.cpp -${SRC_DIR}/object/task/taskwait.cpp -${SRC_DIR}/physics/physics.cpp -${SRC_DIR}/script/cbottoken.cpp -${SRC_DIR}/script/cmdtoken.cpp -${SRC_DIR}/script/script.cpp -${SRC_DIR}/sound/sound.cpp -${SRC_DIR}/ui/button.cpp -${SRC_DIR}/ui/check.cpp -${SRC_DIR}/ui/color.cpp -${SRC_DIR}/ui/compass.cpp -${SRC_DIR}/ui/control.cpp -${SRC_DIR}/ui/displayinfo.cpp -${SRC_DIR}/ui/displaytext.cpp -${SRC_DIR}/ui/edit.cpp -${SRC_DIR}/ui/editvalue.cpp -${SRC_DIR}/ui/gauge.cpp -${SRC_DIR}/ui/group.cpp -${SRC_DIR}/ui/image.cpp -${SRC_DIR}/ui/interface.cpp -${SRC_DIR}/ui/key.cpp -${SRC_DIR}/ui/label.cpp -${SRC_DIR}/ui/list.cpp -${SRC_DIR}/ui/maindialog.cpp -${SRC_DIR}/ui/mainmap.cpp -${SRC_DIR}/ui/mainshort.cpp -${SRC_DIR}/ui/map.cpp -${SRC_DIR}/ui/scroll.cpp -${SRC_DIR}/ui/shortcut.cpp -${SRC_DIR}/ui/slider.cpp -${SRC_DIR}/ui/studio.cpp -${SRC_DIR}/ui/target.cpp -${SRC_DIR}/ui/window.cpp -) - -set(OPENAL_SOURCES "") - -if(OPENAL_SOUND) - set(OPENAL_SOURCES - ${SRC_DIR}/sound/oalsound/alsound.cpp - ${SRC_DIR}/sound/oalsound/buffer.cpp - ${SRC_DIR}/sound/oalsound/channel.cpp - ) -endif() - -# Optional libraries -set(OPTIONAL_LIBS "") - -if(OPENAL_SOUND) - set(OPTIONAL_LIBS ${OPENAL_LIBRARY}) - set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR}) -endif() - - # Platform-dependent tests if(PLATFORM_WINDOWS) set(PLATFORM_TESTS app/system_windows_test.cpp) @@ -172,67 +5,58 @@ elseif(PLATFORM_LINUX) set(PLATFORM_TESTS app/system_linux_test.cpp) endif() -# Tests +# Sources set(UT_SOURCES -main.cpp -app/app_test.cpp -graphics/engine/lightman_test.cpp -math/func_test.cpp -math/geometry_test.cpp -math/matrix_test.cpp -math/vector_test.cpp -${PLATFORM_TESTS} + main.cpp + app/app_test.cpp + common/profile_test.cpp + graphics/engine/lightman_test.cpp + math/func_test.cpp + math/geometry_test.cpp + math/matrix_test.cpp + math/vector_test.cpp + ${PLATFORM_TESTS} ) -# Local +# Includes include_directories( -. -common -math -${SRC_DIR} -${CMAKE_CURRENT_BINARY_DIR} + common + math + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${COLOBOT_LOCAL_INCLUDES} ) -# System include_directories( -SYSTEM -${GTEST_INCLUDE_DIR} -${GMOCK_INCLUDE_DIR} -${SDL_INCLUDE_DIR} -${SDLIMAGE_INCLUDE_DIR} -${SDLTTF_INCLUDE_DIR} -${PNG_INCLUDE_DIRS} -${GLEW_INCLUDE_PATH} -${Boost_INCLUDE_DIRS} -${OPTIONAL_INCLUDE_DIRS} -${LIBSNDFILE_INCLUDE_DIR} -${CLIPBOARD_INCLUDE_DIR} -${LOCALENAME_INCLUDE_DIR} + SYSTEM + ${GTEST_INCLUDE_DIR} + ${GMOCK_INCLUDE_DIR} + ${COLOBOT_SYSTEM_INCLUDES} ) +# Libraries set(LIBS -gtest -gmock -CBot -clipboard -localename -${SDL_LIBRARY} -${SDLIMAGE_LIBRARY} -${SDLTTF_LIBRARY} -${OPENGL_LIBRARY} -${PNG_LIBRARIES} -${GLEW_LIBRARY} -${Boost_LIBRARIES} -${OPTIONAL_LIBS} -${PLATFORM_LIBS} -${LIBSNDFILE_LIBRARY} + gtest + gmock + colobotbase + ${COLOBOT_LIBS} ) -add_executable(colobot_ut ${COLOBOT_SOURCES} ${UT_SOURCES} ${OPENAL_SOURCES}) +# Test files + +set(TEST_FILES + common/colobot.ini +) + +file(COPY ${TEST_FILES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) + +# Targets + +add_executable(colobot_ut ${UT_SOURCES}) target_link_libraries(colobot_ut ${LIBS}) -add_test(colobot_ut ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/colobot_ut) - -# TODO: change the unit cases to independent automated tests to be included in colobot_ut -add_subdirectory(common) -add_subdirectory(ui) +add_test( + NAME colobot_ut + COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/colobot_ut + WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} +) diff --git a/test/unit/common/CMakeLists.txt b/test/unit/common/CMakeLists.txt deleted file mode 100644 index cf37961e..00000000 --- a/test/unit/common/CMakeLists.txt +++ /dev/null @@ -1,21 +0,0 @@ -set(SRC_DIR ${colobot_SOURCE_DIR}/src) - -include_directories( -${SRC_DIR} -${GTEST_INCLUDE_DIR} -) - -add_executable(image_test ${SRC_DIR}/common/image.cpp image_test.cpp) -target_link_libraries(image_test ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${PNG_LIBRARIES}) -add_test(NAME image_test - COMMAND ${CMAKE_BINARY_DIR}/image_test ${CMAKE_SOURCE_DIR}/test/envs/opengl/tex1.png ${CMAKE_BINARY_DIR}/tex1_test.png) - -file(COPY colobot.ini DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) - -add_executable(profile_test ${SRC_DIR}/common/profile.cpp ${SRC_DIR}/common/logger.cpp profile_test.cpp) -set_target_properties(profile_test PROPERTIES COMPILE_DEFINITIONS "DEV_BUILD=1") -target_link_libraries(profile_test gtest ${Boost_LIBRARIES}) - -add_test(NAME profile_test - COMMAND ${CMAKE_BINARY_DIR}/profile_test - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/test/unit/common/image_test.cpp b/test/unit/common/image_test.cpp deleted file mode 100644 index 2b20a178..00000000 --- a/test/unit/common/image_test.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include "common/image.h" - -#include -#include - -/* For now, just a simple test: loading a file from image - * and saving it to another in PNG. */ - -int main(int argc, char *argv[]) -{ - if (argc != 3) - { - printf("Usage: %s in_image out_image\n", argv[0]); - return 0; - } - - CImage image; - - if (! image.Load(argv[1])) - { - std::string err = image.GetError(); - printf("Error loading '%s': %s\n", argv[1], err.c_str()); - return 1; - } - Gfx::Color color; - std::string str; - - color = image.GetPixel(Math::IntPoint(0, 0)); - str = color.ToString(); - printf("pixel @ (0,0): %s\n", str.c_str()); - - color = image.GetPixel(Math::IntPoint(0, 1)); - str = color.ToString(); - printf("pixel @ (0,1): %s\n", str.c_str()); - - color = image.GetPixel(Math::IntPoint(1, 0)); - str = color.ToString(); - printf("pixel @ (1,0): %s\n", str.c_str()); - - color = image.GetPixel(Math::IntPoint(1, 1)); - str = color.ToString(); - printf("pixel @ (1,1): %s\n", str.c_str()); - - image.SetPixel(Math::IntPoint(0, 0), Gfx::Color(0.1f, 0.2f, 0.3f, 0.0f)); - image.SetPixel(Math::IntPoint(1, 0), Gfx::Color(0.3f, 0.2f, 0.1f, 1.0f)); - image.SetPixel(Math::IntPoint(0, 1), Gfx::Color(1.0f, 1.0f, 1.0f, 1.0f)); - image.SetPixel(Math::IntPoint(1, 1), Gfx::Color(0.0f, 0.0f, 0.0f, 1.0f)); - - if (! image.SavePNG(argv[2])) - { - std::string err = image.GetError(); - printf("Error saving PNG '%s': %s\n", argv[2], err.c_str()); - return 2; - } - - return 0; -} diff --git a/test/unit/common/profile_test.cpp b/test/unit/common/profile_test.cpp index dabcba66..1a4f239c 100644 --- a/test/unit/common/profile_test.cpp +++ b/test/unit/common/profile_test.cpp @@ -11,13 +11,14 @@ class CProfileTest : public testing::Test { protected: - CLogger m_logger; CProfile m_profile; }; TEST_F(CProfileTest, ReadTest) { + m_profile.SetUseLocalDirectory(true); + ASSERT_TRUE(m_profile.InitCurrentDirectory()); // load colobot.ini file std::string result; @@ -36,9 +37,3 @@ TEST_F(CProfileTest, ReadTest) list = m_profile.GetLocalProfileSection("test_multi", "entry"); ASSERT_EQ(5u, list.size()); } - -int main(int argc, char *argv[]) -{ - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/test/unit/ui/CMakeLists.txt b/test/unit/ui/CMakeLists.txt deleted file mode 100644 index 7f7b2f87..00000000 --- a/test/unit/ui/CMakeLists.txt +++ /dev/null @@ -1,46 +0,0 @@ -set(SRC_DIR ${colobot_SOURCE_DIR}/src) - -include_directories( -. -${SRC_DIR} -${GTEST_INCLUDE_DIR} -${GMOCK_INCLUDE_DIR} -${CLIPBOARD_INCLUDE_DIR} -) - -# Platform-dependent implementation of CSystemUtils -if(PLATFORM_WINDOWS) -elseif(PLATFORM_MACOSX) - set(ADDITIONAL_LIB "${X11_X11_LIB}") -else() - set(ADDITIONAL_LIB "-lX11") -endif() - -add_executable(edit_test -${SRC_DIR}/app/gamedata.cpp -${SRC_DIR}/app/system.cpp -${SRC_DIR}/app/${SYSTEM_CPP_MODULE} -${SRC_DIR}/app/system_other.cpp -${SRC_DIR}/common/event.cpp -${SRC_DIR}/common/logger.cpp -${SRC_DIR}/common/misc.cpp -${SRC_DIR}/common/profile.cpp -${SRC_DIR}/common/iman.cpp -${SRC_DIR}/common/stringutils.cpp -${SRC_DIR}/graphics/engine/text.cpp -${SRC_DIR}/ui/button.cpp -${SRC_DIR}/ui/control.cpp -${SRC_DIR}/ui/edit.cpp -${SRC_DIR}/ui/scroll.cpp -stubs/app_stub.cpp -stubs/engine_stub.cpp -stubs/particle_stub.cpp -stubs/restext_stub.cpp -stubs/robotmain_stub.cpp -edit_test.cpp) - -target_link_libraries(edit_test gtest gmock clipboard ${SDL_LIBRARY} ${SDLTTF_LIBRARY} ${Boost_LIBRARIES} ${ADDITIONAL_LIB}) - - - -add_test(edit_test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/edit_test) diff --git a/test/unit/ui/edit_test.cpp b/test/unit/ui/edit_test.cpp deleted file mode 100644 index 34af0138..00000000 --- a/test/unit/ui/edit_test.cpp +++ /dev/null @@ -1,90 +0,0 @@ -#include "app/app.h" -#include "app/gamedata.h" - -#include "ui/edit.h" - -#include "mocks/text_mock.h" - -#include - -#include -#include - -class CEditTest : public testing::Test -{ -public: - CEditTest() - : m_robotMain(nullptr) - , m_gameData(nullptr) - , m_engine(nullptr) - , m_edit(nullptr) - {} - - virtual void SetUp() - { - m_robotMain = new CRobotMain(&m_app, false); - - m_gameData = new CGameData(); - - m_engine = new Gfx::CEngine(nullptr); - - m_edit = new Ui::CEdit; - } - - virtual void TearDown() - { - delete m_edit; - m_edit = nullptr; - delete m_engine; - m_engine = nullptr; - delete m_gameData; - m_gameData = nullptr; - delete m_robotMain; - m_robotMain = nullptr; - } - virtual ~CEditTest() - { - - }; - -protected: - CApplication m_app; - CRobotMain* m_robotMain; - CGameData * m_gameData; - Gfx::CEngine * m_engine; - Ui::CEdit * m_edit; - CLogger m_logger; -}; - -using ::testing::_; -using ::testing::An; -using ::testing::Return; - -TEST_F(CEditTest, WriteTest) -{ - ASSERT_TRUE(true); - CTextMock * text = dynamic_cast(m_engine->GetText()); - EXPECT_CALL(*text, GetCharWidth(_, _, _, _)).WillRepeatedly(Return(1.0f)); - EXPECT_CALL(*text, GetStringWidth(An(), _, _, _)).WillOnce(Return(1.0f)); - std::string filename = "test.file"; - m_edit->SetMaxChar(Ui::EDITSTUDIOMAX); - m_edit->SetAutoIndent(true); - std::string inputScript = "{\ntext1\ntext2\n\ntext3\n{\ntext4\n}\n}"; - std::string expectedScript = "{\r\n\ttext1\r\n\ttext2\r\n\t\r\n\ttext3\r\n\t{\r\n\t\ttext4\r\n\t}\r\n}"; - m_edit->SetText(inputScript.c_str(), true); - GetLogger()->Info("Writing text \n"); - m_edit->WriteText("script.txt"); - - std::fstream scriptFile; - - scriptFile.open("script.txt", std::ios_base::binary | std::ios_base::in); - std::string outputScript((std::istreambuf_iterator(scriptFile)), std::istreambuf_iterator()); - ASSERT_STREQ(expectedScript.c_str(), outputScript.c_str()); -} - -int main(int argc, char *argv[]) -{ - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} - diff --git a/test/unit/ui/mocks/text_mock.h b/test/unit/ui/mocks/text_mock.h deleted file mode 100644 index b9af6d31..00000000 --- a/test/unit/ui/mocks/text_mock.h +++ /dev/null @@ -1,35 +0,0 @@ -#include "common/logger.h" - -#include "graphics/engine/text.h" - -#include - -class CTextMock : public Gfx::CText -{ -public: - CTextMock(Gfx::CEngine* engine) : CText(engine) - { - } - - virtual ~CTextMock() - { - }; - - MOCK_METHOD4(GetCharWidth, float(Gfx::UTF8Char ch, - Gfx::FontType type, - float size, - float offset)); - MOCK_METHOD4(GetStringWidth, float(const std::string &text, - std::vector::iterator format, - std::vector::iterator end, - float size)); - MOCK_METHOD3(GetStringWidth, float(std::string text, - Gfx::FontType font, - float size)); - MOCK_METHOD4(GetStringWidth, float(Gfx::UTF8Char ch, - Gfx::FontType font, - float size, - float offset)); - -}; - diff --git a/test/unit/ui/stubs/app_stub.cpp b/test/unit/ui/stubs/app_stub.cpp deleted file mode 100644 index 95430d87..00000000 --- a/test/unit/ui/stubs/app_stub.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include "app/app.h" - -#include "graphics/opengl/gldevice.h" - -template<> CApplication* CSingleton::m_instance = nullptr; - -namespace Gfx { - -GLDeviceConfig::GLDeviceConfig() -{ -} - -} /* Gfx */ - - -CApplication::CApplication() -{ -} - -CApplication::~CApplication() -{ -} - -CSoundInterface* CApplication::GetSound() -{ - return nullptr; -} - -CEventQueue* CApplication::GetEventQueue() -{ - return nullptr; -} - -Event CApplication::CreateUpdateEvent() -{ - return Event(EVENT_NULL); -} - -char CApplication::GetLanguageChar() const -{ - return 'E'; -} diff --git a/test/unit/ui/stubs/engine_stub.cpp b/test/unit/ui/stubs/engine_stub.cpp deleted file mode 100644 index 0a2777cf..00000000 --- a/test/unit/ui/stubs/engine_stub.cpp +++ /dev/null @@ -1,104 +0,0 @@ -#include "graphics/engine/engine.h" -#include "graphics/engine/text.h" - -#include "mocks/text_mock.h" - -template<> Gfx::CEngine* CSingleton::m_instance = nullptr; - -namespace Gfx { - -CEngine::CEngine(CApplication* app) : - m_app(app) -{ - m_text = new CTextMock(this); - m_text->Create(); -} - -CEngine::~CEngine() -{ - delete m_text; - m_text = nullptr; -} - -CParticle* CEngine::GetParticle() -{ - return nullptr; -} - -Math::Point CEngine::WindowToInterfaceSize(Math::IntPoint size) -{ - return Math::Point(size.x, size.y); -} - -void CEngine::SetState(int state, const Color& color) -{ - if (state == m_lastState && color == m_lastColor) - return; - - m_lastState = state; - m_lastColor = color; -} - -Math::IntPoint CEngine::GetWindowSize() -{ - return m_size; -} - -void CEngine::AddStatisticTriangle(int count) -{ - m_statisticTriangle += count; -} - -void CEngine::SetMouseType(EngineMouseType type) -{ - m_mouseType = type; -} - -bool CEngine::SetTexture(const std::string& /* name */, int /* stage */) -{ - return true; -} - -CText* CEngine::GetText() -{ - return m_text; -} - -CDevice* CEngine::GetDevice() -{ - return m_device; -} - -int CEngine::GetEditIndentValue() -{ - return m_editIndentValue; -} - -void CEngine::DeleteTexture(const std::string& /* texName */) -{ -} - -Texture CEngine::LoadTexture(const std::string& /* name */) -{ - Texture texture; - return texture; -} - -Math::Vector CEngine::GetEyePt() -{ - return Math::Vector(); -} - -Math::Vector CEngine::GetLookatPt() -{ - return Math::Vector(); -} - -bool CEngine::GetPause() -{ - return false; -} - - -} /* Gfx */ - diff --git a/test/unit/ui/stubs/particle_stub.cpp b/test/unit/ui/stubs/particle_stub.cpp deleted file mode 100644 index 34cf9730..00000000 --- a/test/unit/ui/stubs/particle_stub.cpp +++ /dev/null @@ -1,205 +0,0 @@ -#include "graphics/engine/particle.h" - -#include "common/logger.h" - - -// Graphics module namespace -namespace Gfx { - - -CParticle::CParticle(CEngine* /*engine*/) -{ -} - -CParticle::~CParticle() -{ -} - -void CParticle::SetDevice(CDevice* /*device*/) -{ -} - -void CParticle::FlushParticle() -{ -} - -void CParticle::FlushParticle(int /*sheet*/) -{ -} - -int CParticle::CreateParticle(Math::Vector /*pos*/, Math::Vector /*speed*/, Math::Point /*dim*/, - ParticleType /*type*/, float /*duration*/, float /*mass*/, - float /*windSensitivity*/, int /*sheet*/) -{ - return 0; -} - -int CParticle::CreateFrag(Math::Vector /*pos*/, Math::Vector /*speed*/, EngineTriangle */*triangle*/, - ParticleType /*type*/, float /*duration*/, float /*mass*/, - float /*windSensitivity*/, int /*sheet*/) -{ - return 0; -} - -int CParticle::CreatePart(Math::Vector /*pos*/, Math::Vector /*speed*/, ParticleType /*type*/, - float /*duration*/, float /*mass*/, float /*weight*/, - float /*windSensitivity*/, int /*sheet*/) -{ - return 0; -} - -int CParticle::CreateRay(Math::Vector /*pos*/, Math::Vector /*goal*/, ParticleType /*type*/, Math::Point /*dim*/, - float /*duration*/, int /*sheet*/) -{ - return 0; -} - -int CParticle::CreateTrack(Math::Vector /*pos*/, Math::Vector /*speed*/, Math::Point /*dim*/, ParticleType /*type*/, - float /*duration*/, float /*mass*/, float /*length*/, float /*width*/) -{ - return 0; -} - -void CParticle::CreateWheelTrace(const Math::Vector &/*p1*/, const Math::Vector &/*p2*/, const Math::Vector &/*p3*/, - const Math::Vector &/*p4*/, ParticleType /*type*/) -{ -} - -void CParticle::DeleteParticle(ParticleType /*type*/) -{ -} - -void CParticle::DeleteParticle(int /*channel*/) -{ -} - -void CParticle::SetObjectLink(int /*channel*/, CObject */*object*/) -{ -} - -void CParticle::SetObjectFather(int /*channel*/, CObject */*object*/) -{ -} - -void CParticle::SetPosition(int /*channel*/, Math::Vector /*pos*/) -{ -} - -void CParticle::SetDimension(int /*channel*/, Math::Point /*dim*/) -{ -} - -void CParticle::SetZoom(int /*channel*/, float /*zoom*/) -{ -} - -void CParticle::SetAngle(int /*channel*/, float /*angle*/) -{ -} - -void CParticle::SetIntensity(int /*channel*/, float /*intensity*/) -{ -} - -void CParticle::SetParam(int /*channel*/, Math::Vector /*pos*/, Math::Point /*dim*/, float /*zoom*/, float /*angle*/, float /*intensity*/) -{ -} - -void CParticle::SetPhase(int /*channel*/, ParticlePhase /*phase*/, float /*duration*/) -{ -} - -bool CParticle::GetPosition(int /*channel*/, Math::Vector &/*pos*/) -{ - return true; -} - -Color CParticle::GetFogColor(Math::Vector /*pos*/) -{ - return Color(); -} - -void CParticle::SetFrameUpdate(int /*sheet*/, bool /*update*/) -{ -} - -void CParticle::FrameParticle(float /*rTime*/) -{ -} - -void CParticle::DrawParticle(int /*sheet*/) -{ -} - -bool CParticle::WriteWheelTrace(const char */*filename*/, int /*width*/, int /*height*/, Math::Vector /*dl*/, Math::Vector /*ur*/) -{ - return true; -} - -void CParticle::DeleteRank(int /*rank*/) -{ -} - -bool CParticle::CheckChannel(int &/*channel*/) -{ - return true; -} - -void CParticle::DrawParticleTriangle(int /*i*/) -{ -} - -void CParticle::DrawParticleNorm(int /*i*/) -{ -} - -void CParticle::DrawParticleFlat(int /*i*/) -{ -} - -void CParticle::DrawParticleFog(int /*i*/) -{ -} - -void CParticle::DrawParticleRay(int /*i*/) -{ -} - -void CParticle::DrawParticleSphere(int /*i*/) -{ -} - -void CParticle::DrawParticleCylinder(int /*i*/) -{ -} - -void CParticle::DrawParticleWheel(int /*i*/) -{ -} - -CObject* CParticle::SearchObjectGun(Math::Vector /*old*/, Math::Vector /*pos*/, ParticleType /*type*/, CObject */*father*/) -{ - return nullptr; -} - -CObject* CParticle::SearchObjectRay(Math::Vector /*pos*/, Math::Vector /*goal*/, ParticleType /*type*/, CObject */*father*/) -{ - return nullptr; -} - -void CParticle::Play(Sound /*sound*/, Math::Vector /*pos*/, float /*amplitude*/) -{ -} - -bool CParticle::TrackMove(int /*i*/, Math::Vector /*pos*/, float /*progress*/) -{ - return true; -} - -void CParticle::TrackDraw(int /*i*/, ParticleType /*type*/) -{ -} - - -} // namespace Gfx - diff --git a/test/unit/ui/stubs/restext_stub.cpp b/test/unit/ui/stubs/restext_stub.cpp deleted file mode 100644 index fa47da6e..00000000 --- a/test/unit/ui/stubs/restext_stub.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "common/restext.h" - -bool GetResource(ResType /* type */, int /* num */, std::string& /* text */) -{ - return true; -} - -bool SearchKey(const char * /* cmd */, InputSlot & /* key */) -{ - return true; -} - diff --git a/test/unit/ui/stubs/robotmain_stub.cpp b/test/unit/ui/stubs/robotmain_stub.cpp deleted file mode 100644 index 692f67f8..00000000 --- a/test/unit/ui/stubs/robotmain_stub.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "object/robotmain.h" - - -template<> CRobotMain* CSingleton::m_instance = nullptr; - -CRobotMain::CRobotMain(CApplication* app, bool loadProfile) -{ -} - -CRobotMain::~CRobotMain() -{ -} - -bool CRobotMain::GetGlint() -{ - return false; -} - -const InputBinding& CRobotMain::GetInputBinding(InputSlot slot) -{ - unsigned int index = static_cast(slot); - assert(index >= 0 && index < INPUT_SLOT_MAX); - return m_inputBindings[index]; -} -