5 - name: OSX (xcode10.3 clang-10.0.1) with PCAP
10 - name: OSX (xcode10.3 clang-10.0.1) without PCAP
15 - name: OSX (xcode11.2 clang-11.0.0) with PCAP
19 - name: OSX (xcode11.2 clang-11.0.0) without PCAP
23 - name: Linux amd64 (gcc-8) with PCAP
29 - ubuntu-toolchain-r-test
35 - name: Linux arm64 (gcc-8) with PCAP
42 - ubuntu-toolchain-r-test
48 - name: Linux s390x (gcc-7) with PCAP
53 - name: Linux ppc64le (gcc-7) with PCAP
58 - name: Linux amd64 (gcc-8) without PCAP
64 - ubuntu-toolchain-r-test
70 - name: Linux amd64 (clang) with PCAP
76 - name: Linux arm64 (clang) with PCAP
83 - name: Linux s390x (clang) with PCAP
90 - name: Linux ppc64le (clang) with PCAP
97 - name: Linux amd64 (clang) without PCAP
103 - name: Windows (VS2017 x64)
104 # Set a supported language, otherwise the Windows worker will not start.
109 - WIRESHARK_BASE_DIR: C:/wireshark-libs
110 - QT5_BASE_DIR: C:/Qt/5.12.3/msvc2017_64
114 - name: Windows (VS2017 Win32)
115 # Set a supported language, otherwise the Windows worker will not start.
120 - WIRESHARK_BASE_DIR: C:/wireshark-libs
121 - QT5_BASE_DIR: C:/Qt/5.12.3/msvc2017
125 # Windows builds are experimental in Travis and are unreliable, do not force it.
129 - echo $TRAVIS_OS_NAME
131 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./tools/macos-setup-brew.sh; fi
132 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install softhsm; fi
133 - if [ "$TRAVIS_OS_NAME" == "osx" ]; then sed s/access_bpf/staff/ packaging/macosx/ChmodBPF/ChmodBPF | sudo bash; fi
135 - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo ./tools/debian-setup.sh --install-optional --install-test-deps -q; fi
136 - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -y python3-pip; fi
138 - if [ "$TRAVIS_OS_NAME" == "windows" ]; then tools/travis-cache-windows.sh restore; fi
139 - if [ "$TRAVIS_OS_NAME" == "windows" ]; then cinst -y --no-progress python3 winflexbison strawberryperl; fi
141 if [ "$TRAVIS_OS_NAME" == "windows" ]; then
142 # Ensure Python and the Scripts folder is available in PATH.
143 # refreshenv does not seem to work in bash, so reload it manually.
144 # Entries in the Machine PATH might contain trailing slashes, drop those.
145 # Apply Process paths before Machine to ensure /bin appears before others (otherwise casher will break and stall).
146 export PATH="$(powershell -Command '("Process", "Machine" | % {
147 [Environment]::GetEnvironmentVariable("PATH", $_) -Split ";" -Replace "\\$", ""
148 } | Select -Unique | % { cygpath $_ }) -Join ":"')"
150 # Workaround to avoid using perl from git-bash $PATH which lacks modules such as Pod::Usage
151 export CMAKE_PROGRAM_PATH=C:/Strawberry/perl/bin
153 - if [ "$TRAVIS_OS_NAME" == "windows" ]; then tools/travis-install-qt-windows.sh; fi
155 - pip3 install pytest pytest-xdist
159 - if [ "$TRAVIS_OS_NAME" != "windows" ]; then cmake -GNinja -DENABLE_PCAP=${PCAP} ..; fi
160 - if [ "$TRAVIS_OS_NAME" == "windows" ]; then cmake -A $PLATFORM ..; fi
162 # Enable parallelism for msbuild too (since CMake 3.12; ninja does not need it)
163 - export CMAKE_BUILD_PARALLEL_LEVEL=
164 - if [ "$TRAVIS_OS_NAME" == "windows" ]; then cmake() { ../tools/filter-msbuild.py cmake "$@"; }; fi
165 # Invoke ninja (Linux/macOS, --config is ignored) or msbuild (Windows)
166 - cmake --build . --config RelWithDebInfo
167 - cmake --build . --config RelWithDebInfo --target test-programs
168 - if [ "$PCAP" = "OFF" ]; then export PYTEST_ADDOPTS=--skip-missing-programs=dumpcap,rawshark; fi
169 - if [ "$TRAVIS_OS_NAME" == "linux" -a "$PCAP" = "ON" ]; then sudo setcap cap_net_raw,cap_net_admin+eip run/dumpcap; fi
173 - if [ "$TRAVIS_OS_NAME" == "windows" ]; then tools/travis-cache-windows.sh save; fi
176 - if [ -f run/tshark ]; then run/tshark --version; fi
177 - if [ -f run/RelWithDebInfo/tshark.exe ]; then run/RelWithDebInfo/tshark.exe --version; fi
178 - ../test/travis-upload-artifacts.sh