version: '{build}' image: - Visual Studio 2015 - Visual Studio 2017 - Visual Studio 2019 environment: python_exe: C:\Python36-x64\python.exe install_dir: C:\Projects\install\pdb-repo platform: - Win32 - x64 configuration: - Debug - RelWithDebInfo matrix: fast_finish: true # On Win32, only build Debug to speed things up: exclude: - platform: Win32 configuration: RelWithDebInfo install: - git submodule update --init --recursive build_script: - '"%python_exe%" cmake\tools\clang-format.py' - cd cmake - >- "%python_exe%" -m project.ci.appveyor.cmake --install "%install_dir%" --boost "%appveyor_boost_root%" after_build: - 7z.exe a "%APPVEYOR_PROJECT_NAME%-%PLATFORM%-%CONFIGURATION%.zip" "%install_dir%" - appveyor.exe PushArtifact "%APPVEYOR_PROJECT_NAME%-%PLATFORM%-%CONFIGURATION%.zip" test_script: - '"%install_dir%\bin\test\unit_tests.exe" --log_level=all' - '"%install_dir%\bin\enum_symbols.exe" --pdb "%install_dir%\bin\test\test_lib.pdb" --mask "test_ns::*"' - ps: '$(& "$env:install_dir\bin\enum_symbols.exe" --pdb "$env:install_dir\bin\test\test_lib.pdb" | Select-String -Pattern "test_ns::baz" -SimpleMatch -Quiet) -or $(throw "test_ns::baz not enumerated among the symbols")' - ps: '$(& "$env:install_dir\bin\enum_symbols.exe" --pdb "$env:install_dir\bin\test\test_lib.pdb" | Select-String -Pattern "test_ns::bar" -SimpleMatch -Quiet) -or $(throw "test_ns::bar not enumerated among the symbols")' - ps: '$(& "$env:install_dir\bin\enum_symbols.exe" --pdb "$env:install_dir\bin\test\test_lib.pdb" | Select-String -Pattern "test_ns::foo" -SimpleMatch -Quiet) -or $(throw "test_ns::foo not enumerated among the symbols")' - ps: '$(& "$env:install_dir\bin\enum_symbols.exe" --pdb "$env:install_dir\bin\test\test_lib.pdb" | Select-String -Pattern "test_ns::var" -SimpleMatch -Quiet) -or $(throw "test_ns::var not enumerated among the symbols")' - '"%install_dir%\bin\test\call_stack.exe"' - ps: '$(& "$env:install_dir\bin\test\call_stack.exe" | Select-String -Pattern "[test_lib!test_ns::baz" -SimpleMatch -Quiet) -or $(throw "test_ns::baz not found in the call stack")' - ps: '$(& "$env:install_dir\bin\test\call_stack.exe" | Select-String -Pattern "[test_lib!test_ns::bar" -SimpleMatch -Quiet) -or $(throw "test_ns::bar not found in the call stack")' - ps: '$(& "$env:install_dir\bin\test\call_stack.exe" | Select-String -Pattern "[test_lib!test_ns::foo" -SimpleMatch -Quiet) -or $(throw "test_ns::foo not found in the call stack")' for: # Build Release on master only to speed things up: - branches: except: - master configuration: - Debug - matrix: only: - image: Visual Studio 2015 environment: appveyor_boost_root: C:\Libraries\boost_1_62_0 - matrix: only: - image: Visual Studio 2017 environment: appveyor_boost_root: C:\Libraries\boost_1_69_0 - matrix: only: - image: Visual Studio 2019 environment: appveyor_boost_root: C:\Libraries\boost_1_71_0