mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #1564 from MerryMage/this-is-only-a-test
tests: Infrastructure for unit tests
This commit is contained in:
		
						commit
						5edff287b6
					
				
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							@ -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
 | 
			
		||||
 | 
			
		||||
@ -18,9 +18,16 @@ if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
 | 
			
		||||
    mkdir build && cd build
 | 
			
		||||
    cmake -DCITRA_FORCE_QT4=ON ..
 | 
			
		||||
    make -j4
 | 
			
		||||
 | 
			
		||||
    ctest -VV -C Release
 | 
			
		||||
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
 | 
			
		||||
    set -o pipefail
 | 
			
		||||
 | 
			
		||||
    export Qt5_DIR=$(brew --prefix)/opt/qt5
 | 
			
		||||
 | 
			
		||||
    mkdir build && cd build
 | 
			
		||||
    cmake .. -GXcode
 | 
			
		||||
    xcodebuild -configuration Release | xcpretty -c && exit ${PIPESTATUS[0]}
 | 
			
		||||
    xcodebuild -configuration Release | xcpretty -c
 | 
			
		||||
 | 
			
		||||
    ctest -VV -C Release
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@ -255,6 +255,8 @@ endif()
 | 
			
		||||
 | 
			
		||||
add_subdirectory(externals/soundtouch)
 | 
			
		||||
 | 
			
		||||
enable_testing()
 | 
			
		||||
 | 
			
		||||
add_subdirectory(src)
 | 
			
		||||
 | 
			
		||||
# Install freedesktop.org metadata files, following those specifications:
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,14 @@ before_build:
 | 
			
		||||
  - cmake -G "Visual Studio 14 2015 Win64" -DCITRA_USE_BUNDLED_QT=1 -DCITRA_USE_BUNDLED_SDL2=1 ..
 | 
			
		||||
  - cd ..
 | 
			
		||||
 | 
			
		||||
after_build:
 | 
			
		||||
build:
 | 
			
		||||
  project: build/citra.sln
 | 
			
		||||
  parallel: true
 | 
			
		||||
 | 
			
		||||
test_script:
 | 
			
		||||
  - cd build && ctest -VV -C Release
 | 
			
		||||
 | 
			
		||||
on_success:
 | 
			
		||||
    # copying the needed QT Dlls is now done post build. See the CMakeLists.txt file in the citra-qt folder
 | 
			
		||||
  - ps: >
 | 
			
		||||
        if (!"$env:APPVEYOR_PULL_REQUEST_TITLE" -and ("$env:APPVEYOR_REPO_BRANCH" -eq "master"))
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								externals/catch
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
								
							
						
						
									
										1
									
								
								externals/catch
									
									
									
									
										vendored
									
									
										Submodule
									
								
							@ -0,0 +1 @@
 | 
			
		||||
Subproject commit c984fc3ecde60b59efa2203e82261acac8ac8502
 | 
			
		||||
@ -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()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										16
									
								
								src/tests/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/tests/CMakeLists.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
			
		||||
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})
 | 
			
		||||
 | 
			
		||||
add_test(NAME tests COMMAND $<TARGET_FILE:tests>)
 | 
			
		||||
							
								
								
									
										9
									
								
								src/tests/tests.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/tests/tests.cpp
									
									
									
									
									
										Normal file
									
								
							@ -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.
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user