blob: b837dd5baa9df0b31cbda97f125d3a55184186a3 [file] [log] [blame]
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:
# Install the npcap, windump and wireshark suites
- choco install -y npcap wireshark
- ps: .\.appveyor\InstallWindump.ps1
# Install Python modules
- "%PYTHON%\\python -m pip install cryptography coverage mock pyreadline keyboard"
- set PATH="%PYTHON%\\Scripts\\;%PATH%"
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 --parallel-mode bin\\UTscapy -f text -t test\\regression.uts -F -K mock_read_routes6_bsd || exit /b 42"
- 'del test\regression.uts'
# Secondary and contrib unit tests
- 'del test\bpf.uts' # Don't bother with BPF regression tests
- "%PYTHON%\\python -m coverage run --parallel-mode bin\\UTscapy -c test\\configs\\windows.utsc || exit /b 42"
# TLS unit tests
# Note: due to a multiprocessing bug, we got to be in the UTscapy.py folder and call it directly
- 'cd scapy/tools'
- "%PYTHON%\\python -m coverage run --concurrency=multiprocessing UTscapy.py -f text -t ..\\..\\test\\tls\\tests_tls_netaccess.uts -F -P \"sys.path.append(os.path.abspath('../../test/tls'))\" -K open_ssl_client || exit /b 42"
- 'cd ../../'
after_test:
# Install & run codecov
- "%PYTHON%\\python -m pip install codecov"
- "SET PATH=%PYTHON%\\Scripts\\;%PATH%"
- "coverage combine ./ ./scapy/tools/"
- codecov