aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.appveyor.yml
blob: 59400b624d77eace92ff18bf51b36c3abd38f437 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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