environment:

  # Python versions that will be tested
  # Note: it defines variables that can be used later
  matrix:
    - PYTHON: "C:\\Python27-x64"
      PYTHON_VERSION: "2.7.x"
      PYTHON_ARCH: "64"

# There is no build phase for Scapy
build: off

install:
  # Installing WinPcap directly does not work,
  # see http://help.appveyor.com/discussions/problems/2280-winpcap-installation-issue
  # - choco install -y nmap
  - choco install -y winpcap wireshark
  - ps: wget http://www.winpcap.org/windump/install/bin/windump_3_9_5/WinDump.exe -UseBasicParsing -OutFile C:\Windows\System32\windump.exe
  - refreshenv

  # Install Python modules
  - "%PYTHON%\\python -m pip install ecdsa cryptography coverage"

test_script:
  # Set environment variables
  - set PYTHONPATH=%APPVEYOR_BUILD_FOLDER%
  - set PATH="%APPVEYOR_BUILD_FOLDER%;C:\Program Files\Wireshark\;%PATH%"
  
  # Main unit tests
  - "%PYTHON%\\python -m coverage run -a bin\\UTscapy -f text -t test\\regression.uts -F -K automaton -K mock_read_routes6_bsd || exit /b 42"
  - 'del test\regression.uts'

  # Secondary unit tests
  - 'del test\bpf.uts' # Don't bother with BPF regression tests
  - "for %%t in (test\\*.uts) do (%PYTHON%\\python -m coverage run -a bin\\UTscapy -f text -t %%t -F -K combined_modes || exit /b 42)"
  
  # Contrib unit tests
  - "for %%t in (scapy\\contrib\\*.uts) do (%PYTHON%\\python -m coverage run -a bin\\UTscapy -f text -t %%t -F -P \"load_contrib(\'%%~nt\')\"  || exit /b 42)"

after_test:
  # Install & run codecov
  - "%PYTHON%\\python -m pip install codecov"
  - "SET PATH=%PYTHON%\\Scripts\\;%PATH%"
  - codecov
