| 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 |