From a03f9b6fb6cdaf480737faf37b9c244f46cd1a85 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Sun, 20 Mar 2016 14:58:24 +0000 Subject: [PATCH] tests: Infrastructure for unit tests --- .gitmodules | 3 +++ appveyor.yml | 4 ++++ externals/catch | 1 + src/CMakeLists.txt | 1 + src/tests/CMakeLists.txt | 14 ++++++++++++++ src/tests/tests.cpp | 9 +++++++++ 6 files changed, 32 insertions(+) create mode 160000 externals/catch create mode 100644 src/tests/CMakeLists.txt create mode 100644 src/tests/tests.cpp diff --git a/.gitmodules b/.gitmodules index db0905b3dc..1f0b80768b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule "soundtouch"] path = externals/soundtouch url = https://github.com/citra-emu/ext-soundtouch.git +[submodule "catch"] + path = externals/catch + url = https://github.com/philsquared/Catch.git diff --git a/appveyor.yml b/appveyor.yml index 1edd7041f4..e825ff85d7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,6 +22,10 @@ before_build: - cmake -G "Visual Studio 14 2015 Win64" -DCITRA_USE_BUNDLED_QT=1 -DCITRA_USE_BUNDLED_SDL2=1 .. - cd .. +build: + project: build/citra.sln + parallel: true + after_build: # copying the needed QT Dlls is now done post build. See the CMakeLists.txt file in the citra-qt folder - ps: > diff --git a/externals/catch b/externals/catch new file mode 160000 index 0000000000..c984fc3ecd --- /dev/null +++ b/externals/catch @@ -0,0 +1 @@ +Subproject commit c984fc3ecde60b59efa2203e82261acac8ac8502 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index de4fe716a8..1e12451607 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -5,6 +5,7 @@ add_subdirectory(common) add_subdirectory(core) add_subdirectory(video_core) add_subdirectory(audio_core) +add_subdirectory(tests) if (ENABLE_SDL2) add_subdirectory(citra) endif() diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 0000000000..dc476616c8 --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,14 @@ +set(SRCS + tests.cpp + ) + +set(HEADERS + ) + +create_directory_groups(${SRCS} ${HEADERS}) + +include_directories(../../externals/catch/single_include/) + +add_executable(tests ${SRCS} ${HEADERS}) +target_link_libraries(tests core video_core audio_core common) +target_link_libraries(tests ${PLATFORM_LIBRARIES}) diff --git a/src/tests/tests.cpp b/src/tests/tests.cpp new file mode 100644 index 0000000000..73978676f1 --- /dev/null +++ b/src/tests/tests.cpp @@ -0,0 +1,9 @@ +// Copyright 2016 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#define CATCH_CONFIG_MAIN +#include + +// Catch provides the main function since we've given it the +// CATCH_CONFIG_MAIN preprocessor directive.