mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-10 17:42:29 +01:00
Enable integration tests on CI
This commit is contained in:
14
.travis.yml
14
.travis.yml
@@ -23,7 +23,7 @@ matrix:
|
|||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
env:
|
env:
|
||||||
- OPENRCT2_CMAKE_OPTS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=OpenRCT2 -DPORTABLE=ON -DDISABLE_RCT2_TESTS=on -DCMAKE_CXX_FLAGS=\"-static-libstdc++ -static-libgcc -Wl,--compress-debug-sections=zlib\"" TARGET=ubuntu_amd64
|
- OPENRCT2_CMAKE_OPTS="-G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=OpenRCT2 -DPORTABLE=ON -DCMAKE_CXX_FLAGS=\"-static-libstdc++ -static-libgcc -Wl,--compress-debug-sections=zlib\"" TARGET=ubuntu_amd64
|
||||||
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
||||||
after_success:
|
after_success:
|
||||||
# Android jobs are triggered from cron and overwrite `after_sucess` part
|
# Android jobs are triggered from cron and overwrite `after_sucess` part
|
||||||
@@ -47,7 +47,7 @@ matrix:
|
|||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
env:
|
env:
|
||||||
- OPENRCT2_CMAKE_OPTS="-G Ninja -DFORCE32=ON -DBUILD_SHARED_LIBS=off -DCMAKE_INSTALL_PREFIX=OpenRCT2 -DDISABLE_RCT2_TESTS=on -DCMAKE_CXX_FLAGS=\"-static-libstdc++ -static-libgcc -Wl,--compress-debug-sections=zlib\"" TARGET=ubuntu_i686
|
- OPENRCT2_CMAKE_OPTS="-G Ninja -DFORCE32=ON -DBUILD_SHARED_LIBS=off -DCMAKE_INSTALL_PREFIX=OpenRCT2 -DCMAKE_CXX_FLAGS=\"-static-libstdc++ -static-libgcc -Wl,--compress-debug-sections=zlib\"" TARGET=ubuntu_i686
|
||||||
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
- secure: "S3u2VCE2Vy8KNXoeh+DhnzjCmgTX0r95uEZrXDU+IKANOOCKn7Dg4OFDZE3LY/i1y2/EUDpnR5yLC38Ks795EUP/sv/OoMl4tjQ20yERjqWh+gcIRrgx7SdVabuAh3t4aBdaLD4Pfnj5avxeCt6rL7yGnj0wdbrbJSBZPsgSnuQ="
|
||||||
after_success:
|
after_success:
|
||||||
# Android jobs are triggered from cron and overwrite `after_sucess` part
|
# Android jobs are triggered from cron and overwrite `after_sucess` part
|
||||||
@@ -68,23 +68,23 @@ matrix:
|
|||||||
fi
|
fi
|
||||||
- os: linux
|
- os: linux
|
||||||
if: type != cron
|
if: type != cron
|
||||||
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DBUILD_SHARED_LIBS=ON -DDISABLE_RCT2_TESTS=on" TARGET=ubuntu_amd64
|
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DBUILD_SHARED_LIBS=ON" TARGET=ubuntu_amd64
|
||||||
- os: linux
|
- os: linux
|
||||||
if: type != cron
|
if: type != cron
|
||||||
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt -DFORCE32=on -DBUILD_SHARED_LIBS=ON -DDISABLE_RCT2_TESTS=on" TARGET=windows
|
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DCMAKE_TOOLCHAIN_FILE=../CMakeLists_mingw.txt -DFORCE32=on -DBUILD_SHARED_LIBS=ON" TARGET=windows
|
||||||
- os: linux
|
- os: linux
|
||||||
if: type != cron
|
if: type != cron
|
||||||
env: TARGET=docker64 OPENRCT2_CMAKE_OPTS="-G Ninja -DDISABLE_TTF=ON -DCMAKE_BUILD_TYPE=release -DBUILD_SHARED_LIBS=ON -DDISABLE_RCT2_TESTS=on"
|
env: TARGET=docker64 OPENRCT2_CMAKE_OPTS="-G Ninja -DDISABLE_TTF=ON -DCMAKE_BUILD_TYPE=release -DBUILD_SHARED_LIBS=ON"
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
- os: linux
|
- os: linux
|
||||||
if: type != cron
|
if: type != cron
|
||||||
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DBUILD_SHARED_LIBS=ON -DDISABLE_RCT2_TESTS=on" TARGET=docker64
|
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DDISABLE_NETWORK=ON -DDISABLE_HTTP_TWITCH=ON -DBUILD_SHARED_LIBS=ON" TARGET=docker64
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
- os: linux
|
- os: linux
|
||||||
if: type != cron
|
if: type != cron
|
||||||
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DDISABLE_OPENGL=ON -DBUILD_SHARED_LIBS=ON -DDISABLE_RCT2_TESTS=on" TARGET=docker64
|
env: OPENRCT2_CMAKE_OPTS="-G Ninja -DDISABLE_OPENGL=ON -DBUILD_SHARED_LIBS=ON" TARGET=docker64
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
- os: osx
|
- os: osx
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ configuration: Release
|
|||||||
build:
|
build:
|
||||||
project: openrct2.proj
|
project: openrct2.proj
|
||||||
test_script:
|
test_script:
|
||||||
- ps: msbuild openrct2.proj /t:TestNoRCT2 /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
- ps: msbuild openrct2.proj /t:Test /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||||
after_test:
|
after_test:
|
||||||
- ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\artifacts\test-results.xml))
|
- ps: (new-object net.webclient).UploadFile("https://ci.appveyor.com/api/testresults/junit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path .\artifacts\test-results.xml))
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|||||||
@@ -186,10 +186,8 @@
|
|||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="Test" DependsOnTargets="Build">
|
<Target Name="Test" DependsOnTargets="Build">
|
||||||
<Exec Command="$(TargetDir)tests\tests.exe "--gtest_output=xml:$(ArtifactsDir)test-results.xml"" />
|
<Exec Command="$(TargetDir)tests\tests.exe "--gtest_output=xml:$(ArtifactsDir)test-results.xml""
|
||||||
</Target>
|
WorkingDirectory="$(TargetDir)tests" />
|
||||||
<Target Name="TestNoRCT2" DependsOnTargets="Build">
|
|
||||||
<Exec Command="$(TargetDir)tests\tests.exe "--gtest_filter=-RideRatings*:MultiLaunch*" "--gtest_output=xml:$(ArtifactsDir)test-results.xml"" />
|
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<!-- Target to build g2.dat containing OpenRCT2 sprites -->
|
<!-- Target to build g2.dat containing OpenRCT2 sprites -->
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
cmake_minimum_required(VERSION 2.6)
|
cmake_minimum_required(VERSION 2.6)
|
||||||
|
|
||||||
option(DISABLE_RCT2_TESTS "Disable tests that require RollerCoaster Tycoon 2 assets.")
|
|
||||||
option(SYSTEM_GTEST "Use the googletest library provided by the system.")
|
option(SYSTEM_GTEST "Use the googletest library provided by the system.")
|
||||||
|
|
||||||
if (SYSTEM_GTEST)
|
if (SYSTEM_GTEST)
|
||||||
@@ -87,14 +86,7 @@ set(COMMON_TEST_SOURCES
|
|||||||
add_library(test-common STATIC ${COMMON_TEST_SOURCES})
|
add_library(test-common STATIC ${COMMON_TEST_SOURCES})
|
||||||
|
|
||||||
# Setup testdata. It should be fine here, as the only way to reach here is by explicitly requesting tests.
|
# Setup testdata. It should be fine here, as the only way to reach here is by explicitly requesting tests.
|
||||||
if (NOT "z$ENV{CI}" STREQUAL "z")
|
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_LIST_DIR}/testdata" "${CMAKE_CURRENT_BINARY_DIR}/testdata")
|
||||||
message("Detected CI environment. Disabling ride rating test.")
|
|
||||||
set(DISABLE_RCT2_TESTS ON)
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
if (NOT DISABLE_RCT2_TESTS)
|
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_CURRENT_LIST_DIR}/testdata" "${CMAKE_CURRENT_BINARY_DIR}/testdata")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
# Start of our tests
|
# Start of our tests
|
||||||
|
|
||||||
@@ -152,14 +144,11 @@ set(RIDE_RATINGS_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/RideRatings.cpp"
|
|||||||
"${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
|
"${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
|
||||||
add_executable(test_ride_ratings ${RIDE_RATINGS_TEST_SOURCES})
|
add_executable(test_ride_ratings ${RIDE_RATINGS_TEST_SOURCES})
|
||||||
target_link_libraries(test_ride_ratings ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
|
target_link_libraries(test_ride_ratings ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
|
||||||
|
add_test(NAME ride_ratings COMMAND test_ride_ratings)
|
||||||
|
|
||||||
# Multi-launch test
|
# Multi-launch test
|
||||||
set(MULTILAUNCH_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/MultiLaunch.cpp"
|
set(MULTILAUNCH_TEST_SOURCES "${CMAKE_CURRENT_LIST_DIR}/MultiLaunch.cpp"
|
||||||
"${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
|
"${CMAKE_CURRENT_LIST_DIR}/TestData.cpp")
|
||||||
add_executable(test_multilaunch ${MULTILAUNCH_TEST_SOURCES})
|
add_executable(test_multilaunch ${MULTILAUNCH_TEST_SOURCES})
|
||||||
target_link_libraries(test_multilaunch ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
|
target_link_libraries(test_multilaunch ${GTEST_LIBRARIES} libopenrct2 ${LDL} z)
|
||||||
|
add_test(NAME multilaunch COMMAND test_multilaunch)
|
||||||
if (NOT DISABLE_RCT2_TESTS)
|
|
||||||
add_test(NAME ride_ratings COMMAND test_ride_ratings)
|
|
||||||
add_test(NAME multilaunch COMMAND test_multilaunch)
|
|
||||||
endif ()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user