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 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::*"' - ps: '$(& "$env:install_dir\bin\enum_symbols.exe" --pdb "$env:install_dir\bin\test\test_lib.pdb" | Select-String -Pattern "test::baz" -SimpleMatch -Quiet) -or $(throw "test::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::bar" -SimpleMatch -Quiet) -or $(throw "test::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::foo" -SimpleMatch -Quiet) -or $(throw "test::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::var" -SimpleMatch -Quiet) -or $(throw "test::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::baz" -SimpleMatch -Quiet) -or $(throw "test::baz not found in the call stack")' - ps: '$(& "$env:install_dir\bin\test\call_stack.exe" | Select-String -Pattern "[test_lib!test::bar" -SimpleMatch -Quiet) -or $(throw "test::bar not found in the call stack")' - ps: '$(& "$env:install_dir\bin\test\call_stack.exe" | Select-String -Pattern "[test_lib!test::foo" -SimpleMatch -Quiet) -or $(throw "test::foo not found in the call stack")' for: # Only build Release builds on master 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