version: 1.0.{build}

environment:
  NPCAP_USERNAME:
    secure: iVuVl18E7ZfsuRjz0YKJKQ==
  NPCAP_PASSWORD:
    secure: 8sWBrDudyutFv+4Eq6teJA==
  PYTHON: "C:\\Python38-x64"
  BUILD_DIR: "build"
  matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      compiler: "Visual Studio 15 2017"
      platform: x64
      config: Debug

init:
  - set PATH=%PYTHON%;%PYTHON%\Scripts;%PATH%

install:
  - cmd: ci\install_npcap.bat
  - cmd: python -m pip install --upgrade pip
  - cmd: ci\install_tcpreplay.bat
  - cmd: choco install OpenCppCoverage -y
  - cmd: set PATH="C:\\Program Files\\OpenCppCoverage";%PATH%

before_build:
  - ps: cmake -A "$env:platform" -G "$env:compiler" -DPCAP_ROOT=C:\Npcap-sdk -S . -B "$env:BUILD_DIR"

build_script:
  - ps: cmake --build "$env:BUILD_DIR" --config "$env:config" -j

test_script:
  - cmd: python -m pip install -r ci\run_tests\requirements.txt
  - cmd: python ci\run_tests\run_tests_windows.py -s TestRawSockets --coverage
  - cmd: ci\find_ip.bat
  - cmd: cd Tests\ExamplesTest
  - cmd: python -m pip install -r requirements.txt
  - cmd: python -m pytest --interface %NetworkIP% --root-path=..\..\%BUILD_DIR%\examples_bin\%config%
  - cmd: cd ..\..\
  - ps: Invoke-WebRequest -Uri https://uploader.codecov.io/latest/windows/codecov.exe -Outfile codecov.exe
  - cmd: .\codecov.exe -v -f ./Tests/Pcap++Test/Pcap++Coverage.xml -f ./Tests/Packet++Test/Packet++Coverage.xml -F vs2017 -F unittest -B %APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH% || ver>nul
