Merge pull request #723 from KindDragon/master
Run MSVC tests on AppVeyor
This commit is contained in:
commit
8134585072
71
appveyor.yml
Normal file
71
appveyor.yml
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
version: '{build}'
|
||||||
|
|
||||||
|
os: Visual Studio 2015
|
||||||
|
|
||||||
|
environment:
|
||||||
|
matrix:
|
||||||
|
- Toolset: v140
|
||||||
|
- Toolset: v120
|
||||||
|
- Toolset: v110
|
||||||
|
- Toolset: v100
|
||||||
|
|
||||||
|
platform:
|
||||||
|
- Win32
|
||||||
|
- x64
|
||||||
|
|
||||||
|
configuration:
|
||||||
|
# - Release
|
||||||
|
- Debug
|
||||||
|
|
||||||
|
build:
|
||||||
|
verbosity: minimal
|
||||||
|
|
||||||
|
artifacts:
|
||||||
|
- path: '_build/Testing/Temporary/*'
|
||||||
|
name: test_results
|
||||||
|
|
||||||
|
before_build:
|
||||||
|
- ps: |
|
||||||
|
Write-Output "Configuration: $env:CONFIGURATION"
|
||||||
|
Write-Output "Platform: $env:PLATFORM"
|
||||||
|
$generator = switch ($env:TOOLSET)
|
||||||
|
{
|
||||||
|
"v140" {"Visual Studio 14 2015"}
|
||||||
|
"v120" {"Visual Studio 12 2013"}
|
||||||
|
"v110" {"Visual Studio 11 2012"}
|
||||||
|
"v100" {"Visual Studio 10 2010"}
|
||||||
|
}
|
||||||
|
if ($env:PLATFORM -eq "x64")
|
||||||
|
{
|
||||||
|
$generator = "$generator Win64"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- ps: |
|
||||||
|
if (($env:TOOLSET -eq "v100") -and ($env:PLATFORM -eq "x64"))
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
md _build -Force | Out-Null
|
||||||
|
cd _build
|
||||||
|
|
||||||
|
& cmake -G "$generator" -DCMAKE_CONFIGURATION_TYPES="Debug;Release" -Dgtest_build_tests=ON -Dgtest_build_samples=ON -Dgmock_build_tests=ON ..
|
||||||
|
if ($LastExitCode -ne 0) {
|
||||||
|
throw "Exec: $ErrorMessage"
|
||||||
|
}
|
||||||
|
& cmake --build . --config $env:CONFIGURATION
|
||||||
|
if ($LastExitCode -ne 0) {
|
||||||
|
throw "Exec: $ErrorMessage"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- ps: |
|
||||||
|
if (($env:Toolset -eq "v100") -and ($env:PLATFORM -eq "x64"))
|
||||||
|
{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
& ctest -C $env:CONFIGURATION --output-on-failure
|
||||||
|
if ($LastExitCode -ne 0) {
|
||||||
|
throw "Exec: $ErrorMessage"
|
||||||
|
}
|
|
@ -80,6 +80,10 @@ macro(config_compiler_and_linker)
|
||||||
# http://stackoverflow.com/questions/3232669 explains the issue.
|
# http://stackoverflow.com/questions/3232669 explains the issue.
|
||||||
set(cxx_base_flags "${cxx_base_flags} -wd4702")
|
set(cxx_base_flags "${cxx_base_flags} -wd4702")
|
||||||
endif()
|
endif()
|
||||||
|
if (NOT (MSVC_VERSION GREATER 1900)) # 1900 is Visual Studio 2015
|
||||||
|
# BigObj required for tests.
|
||||||
|
set(cxx_base_flags "${cxx_base_flags} -bigobj")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")
|
set(cxx_base_flags "${cxx_base_flags} -D_UNICODE -DUNICODE -DWIN32 -D_WIN32")
|
||||||
set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")
|
set(cxx_base_flags "${cxx_base_flags} -DSTRICT -DWIN32_LEAN_AND_MEAN")
|
||||||
|
@ -235,8 +239,16 @@ function(py_test name)
|
||||||
# directly bind it from cmake. ${CTEST_CONFIGURATION_TYPE} is known
|
# directly bind it from cmake. ${CTEST_CONFIGURATION_TYPE} is known
|
||||||
# only at ctest runtime (by calling ctest -c <Configuration>), so
|
# only at ctest runtime (by calling ctest -c <Configuration>), so
|
||||||
# we have to escape $ to delay variable substitution here.
|
# we have to escape $ to delay variable substitution here.
|
||||||
add_test(${name}
|
if (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
|
||||||
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
|
add_test(
|
||||||
|
NAME ${name}
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
|
||||||
|
--build_dir=${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>)
|
||||||
|
else (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
|
||||||
|
add_test(
|
||||||
|
${name}
|
||||||
|
${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
|
||||||
--build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
|
--build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
|
||||||
|
endif (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 3.1)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
|
@ -71,7 +71,7 @@ FooTest\.
|
||||||
TypedTest/0\. # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
|
TypedTest/0\. # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
|
||||||
TestA
|
TestA
|
||||||
TestB
|
TestB
|
||||||
TypedTest/1\. # TypeParam = int\s*\*
|
TypedTest/1\. # TypeParam = int\s*\*( __ptr64)?
|
||||||
TestA
|
TestA
|
||||||
TestB
|
TestB
|
||||||
TypedTest/2\. # TypeParam = .*MyArray<bool,\s*42>
|
TypedTest/2\. # TypeParam = .*MyArray<bool,\s*42>
|
||||||
|
@ -80,7 +80,7 @@ TypedTest/2\. # TypeParam = .*MyArray<bool,\s*42>
|
||||||
My/TypeParamTest/0\. # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
|
My/TypeParamTest/0\. # TypeParam = (VeryLo{245}|class VeryLo{239})\.\.\.
|
||||||
TestA
|
TestA
|
||||||
TestB
|
TestB
|
||||||
My/TypeParamTest/1\. # TypeParam = int\s*\*
|
My/TypeParamTest/1\. # TypeParam = int\s*\*( __ptr64)?
|
||||||
TestA
|
TestA
|
||||||
TestB
|
TestB
|
||||||
My/TypeParamTest/2\. # TypeParam = .*MyArray<bool,\s*42>
|
My/TypeParamTest/2\. # TypeParam = .*MyArray<bool,\s*42>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user