فهرست منبع

tests: Infrastructure for unit tests

MerryMage 10 سال پیش
والد
کامیت
a03f9b6fb6
6فایلهای تغییر یافته به همراه32 افزوده شده و 0 حذف شده
  1. 3 0
      .gitmodules
  2. 4 0
      appveyor.yml
  3. 1 0
      externals/catch
  4. 1 0
      src/CMakeLists.txt
  5. 14 0
      src/tests/CMakeLists.txt
  6. 9 0
      src/tests/tests.cpp

+ 3 - 0
.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

+ 4 - 0
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: >

+ 1 - 0
externals/catch

@@ -0,0 +1 @@
+Subproject commit c984fc3ecde60b59efa2203e82261acac8ac8502

+ 1 - 0
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()

+ 14 - 0
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})

+ 9 - 0
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.hpp>
+
+// Catch provides the main function since we've given it the
+// CATCH_CONFIG_MAIN preprocessor directive.