mirror of https://github.com/secdev/scapy.git
73 lines
1.7 KiB
Bash
73 lines
1.7 KiB
Bash
# Dump environment variables
|
|
echo "SCAPY_SUDO=" $SCAPY_SUDO
|
|
echo "TRAVIS_OS_NAME=" $TRAVIS_OS_NAME
|
|
|
|
# Dump Scapy config
|
|
python -c "from scapy.all import *; print conf"
|
|
|
|
# Don't run tests that require root privileges
|
|
if [ -z "$SCAPY_SUDO" -o "$SCAPY_SUDO" = "false" ]
|
|
then
|
|
UT_FLAGS="-K netaccess -K needs_root"
|
|
SCAPY_SUDO=""
|
|
fi
|
|
|
|
# Test AEAD modes in IPsec if available
|
|
if [ "$TEST_COMBINED_MODES" != "yes" ]
|
|
then
|
|
UT_FLAGS+=" -K combined_modes"
|
|
fi
|
|
|
|
# Set PATH
|
|
for _path in /sbin /usr/sbin /usr/local/sbin; do
|
|
[ -d "$_path" ] && echo "$PATH" | grep -qvE "(^|:)$_path(:|$)" && export PATH="$PATH:$_path"
|
|
done
|
|
|
|
# Create a fake Python executable
|
|
if [ "$SCAPY_COVERAGE" = "yes" ]
|
|
then
|
|
echo '#!/bin/bash' > test/python
|
|
echo '[ "$*" = "--version" ] && echo "Python 2 - fake version string"' >> test/python
|
|
echo '[ "$*" != "--version" ] && coverage run -a $*' >> test/python
|
|
chmod +x test/python
|
|
PATH=.:$PATH
|
|
|
|
# Copy the fake Python interpreter to bypass /etc/sudoers rules on Ubuntu
|
|
if [ "$SCAPY_SUDO" = "sudo" ]
|
|
then
|
|
$SCAPY_SUDO cp test/python /usr/local/sbin/
|
|
fi
|
|
fi
|
|
|
|
# Do we have tcpdump or thsark?
|
|
which tcpdump >/dev/null 2>&1 || UT_FLAGS+=" -K tcpdump"
|
|
which tshark >/dev/null 2>&1 || UT_FLAGS+=" -K tshark"
|
|
|
|
# Dump Environment (so that we can check PATH, UT_FLAGS, etc.)
|
|
set
|
|
|
|
# Run unit tests
|
|
cd test/
|
|
|
|
if [ "$TRAVIS_OS_NAME" = "osx" ]
|
|
then
|
|
if [ -z $SCAPY_USE_PCAPDNET ]
|
|
then
|
|
$SCAPY_SUDO ./run_tests -q -F -t bpf.uts $UT_FLAGS || exit $?
|
|
fi
|
|
fi
|
|
|
|
for f in *.uts
|
|
do
|
|
if [ "$f" = "bpf.uts" ]
|
|
then
|
|
continue
|
|
fi
|
|
$SCAPY_SUDO ./run_tests -q -F -t $f $UT_FLAGS || exit $?
|
|
done
|
|
|
|
for f in ../scapy/contrib/*.uts
|
|
do
|
|
$SCAPY_SUDO ./run_tests -f text -t $f $UT_FLAGS -P "load_contrib('$(basename ${f/.uts})')" || exit $?
|
|
done
|