summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtest/config.sh14
-rwxr-xr-xtest/suite-decryption.sh14
-rwxr-xr-xtest/suite-io.sh2
-rwxr-xr-xtest/suite-nameres.sh12
-rwxr-xr-xtest/suite-unittests.sh8
-rwxr-xr-xtest/test.sh19
6 files changed, 48 insertions, 21 deletions
diff --git a/test/config.sh b/test/config.sh
index 872bdbfe3b..82acb9c71a 100755
--- a/test/config.sh
+++ b/test/config.sh
@@ -40,18 +40,24 @@ if [ $? -eq 0 ] ; then
ENDIANNESS="big"
fi
-# Path to the Wireshark binaries, only used for the settings below
-WS_BIN_PATH=..
+# Absolute path to the source tree
+SOURCE_DIR="$(cd "$(dirname "$0")" && cd .. && pwd)"
+
+# Absolute path to this test directory (for capture and config files)
+TESTS_DIR="$SOURCE_DIR/test"
# Are we allowed to open interfaces or capture on this system?
SKIP_CAPTURE=${SKIP_CAPTURE:-1}
# Override the last two items if we're running Windows
if [ "$WS_SYSTEM" = "Windows" ] ; then
- WS_BIN_PATH=../wireshark-gtk2
+ WS_BIN_PATH=${WS_BIN_PATH:-$SOURCE_DIR/wireshark-gtk2}
SKIP_CAPTURE=0
fi
+# Path to the Wireshark binaries, default to source dir if unset
+WS_BIN_PATH=${WS_BIN_PATH:-$SOURCE_DIR}
+
# Tweak the following to your liking.
WIRESHARK=$WS_BIN_PATH/wireshark
TSHARK=$WS_BIN_PATH/tshark
@@ -91,7 +97,7 @@ fi
# Tell Wireshark to quit after capuring packets.
export WIRESHARK_QUIT_AFTER_CAPTURE="True"
-CAPTURE_DIR="captures/"
+CAPTURE_DIR="$TESTS_DIR/captures/"
# Configuration paths
TEST_HOME="$PWD/fakehome"
diff --git a/test/suite-decryption.sh b/test/suite-decryption.sh
index ba740a3b60..11e55d1438 100755
--- a/test/suite-decryption.sh
+++ b/test/suite-decryption.sh
@@ -49,7 +49,7 @@ UAT_FILES="
ssl_keys
"
-TEST_KEYS_DIR="$PWD/keys/"
+TEST_KEYS_DIR="$TESTS_DIR/keys/"
if [ "$WS_SYSTEM" == "Windows" ] ; then
TEST_KEYS_DIR="`cygpath -w $TEST_KEYS_DIR`"
fi
@@ -71,7 +71,7 @@ decryption_step_80211_wpa_psk() {
env $TS_DC_ENV $TSHARK $TS_DC_ARGS \
-o "wlan.enable_decryption: TRUE" \
-Tfields -e http.request.uri \
- -r captures/wpa-Induction.pcap.gz \
+ -r "$CAPTURE_DIR/wpa-Induction.pcap.gz" \
-Y http \
| grep favicon.ico > /dev/null 2>&1
RETURNVALUE=$?
@@ -87,7 +87,7 @@ decryption_step_80211_wpa_psk() {
decryption_step_dtls() {
env $TS_DC_ENV $TSHARK $TS_DC_ARGS \
-Tfields -e data.data \
- -r captures/snakeoil-dtls.pcap -Y http \
+ -r "$CAPTURE_DIR/snakeoil-dtls.pcap" -Y http \
| grep "69:74:20:77:6f:72:6b:20:21:0a" > /dev/null 2>&1
RETURNVALUE=$?
if [ ! $RETURNVALUE -eq $EXIT_OK ]; then
@@ -100,7 +100,9 @@ decryption_step_dtls() {
# SSL
# http://wiki.wireshark.org/SampleCaptures?action=AttachFile&do=view&target=snakeoil2_070531.tgz
decryption_step_ssl() {
- env $TS_DC_ENV $TSHARK $TS_DC_ARGS -Tfields -e http.request.uri -r captures/rsasnakeoil2.pcap -Y http | grep favicon.ico > /dev/null 2>&1
+ env $TS_DC_ENV $TSHARK $TS_DC_ARGS -Tfields -e http.request.uri \
+ -r "$CAPTURE_DIR/rsasnakeoil2.pcap" -Y http \
+ | grep favicon.ico > /dev/null 2>&1
RETURNVALUE=$?
if [ ! $RETURNVALUE -eq $EXIT_OK ]; then
test_step_failed "Failed to decrypt SSL"
@@ -113,7 +115,7 @@ decryption_step_ssl() {
# https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7022
decryption_step_zigbee() {
env $TS_DC_ENV $TSHARK $TS_DC_ARGS \
- -r captures/sample_control4_2012-03-24.pcap \
+ -r "$CAPTURE_DIR/sample_control4_2012-03-24.pcap" \
-Tfields -e data.data \
-Y zbee_aps \
| grep "30:67:63:63:38:65:20:63:34:2e:64:6d:2e:74:76:20" > /dev/null 2>&1
@@ -152,7 +154,7 @@ decryption_prep_step() {
test_remark_add "$WS_BIN_PATH/$UAT exists. One or more tests may fail."
else
echo "# Created by $DC_ID" > $WS_BIN_PATH/$UAT
- sed -e "s|TEST_KEYS_DIR|${TEST_KEYS_DIR//\\/\\\\x5c}|" < ./config/$UAT.tmpl >> $WS_BIN_PATH/$UAT
+ sed -e "s|TEST_KEYS_DIR|${TEST_KEYS_DIR//\\/\\\\x5c}|" < "$TESTS_DIR/config/$UAT.tmpl" >> "$WS_BIN_PATH/$UAT"
fi
done
}
diff --git a/test/suite-io.sh b/test/suite-io.sh
index 1c9dffd572..b85032e9c9 100755
--- a/test/suite-io.sh
+++ b/test/suite-io.sh
@@ -29,7 +29,7 @@ EXIT_OK=0
EXIT_COMMAND_LINE=1
EXIT_ERROR=2
-IO_RAWSHARK_DHCP_PCAP_BASELINE=./baseline/io-rawshark-dhcp-pcap.txt
+IO_RAWSHARK_DHCP_PCAP_BASELINE="$TESTS_DIR/baseline/io-rawshark-dhcp-pcap.txt"
IO_RAWSHARK_DHCP_PCAP_TESTOUT=./io-rawshark-dhcp-pcap-testout.txt
# input of file
diff --git a/test/suite-nameres.sh b/test/suite-nameres.sh
index 7366e278e2..672ac65114 100755
--- a/test/suite-nameres.sh
+++ b/test/suite-nameres.sh
@@ -29,13 +29,13 @@ EXIT_COMMAND_LINE=1
EXIT_ERROR=2
#TS_ARGS="-Tfields -e frame.number -e frame.time_epoch -e frame.time_delta"
-TS_NR_ARGS="-r captures/dns+icmp.pcapng.gz"
+TS_NR_ARGS="-r $CAPTURE_DIR/dns+icmp.pcapng.gz"
TS_NR_ENV="WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1 ${HOME_ENV}=${TEST_HOME}"
if [ "$WS_SYSTEM" == "Windows" ] ; then
- CONF_PATH="fakehome/Wireshark"
+ CONF_PATH="$TEST_HOME/Wireshark"
else
- CONF_PATH="fakehome/.wireshark"
+ CONF_PATH="$TEST_HOME/.wireshark"
fi
CUSTOM_PROFILE_NAME="Custom-$$"
@@ -169,9 +169,9 @@ name_resolution_cleanup_step() {
name_resolution_prep_step() {
name_resolution_cleanup_step
mkdir -p "$CUSTOM_PROFILE_PATH"
- cp hosts.global $WS_BIN_PATH/hosts
- cp hosts.personal "$CONF_PATH/hosts"
- cp hosts.custom "$CUSTOM_PROFILE_PATH/hosts"
+ cp "$TESTS_DIR/hosts.global" "$WS_BIN_PATH/hosts"
+ cp "$TESTS_DIR/hosts.personal" "$CONF_PATH/hosts"
+ cp "$TESTS_DIR/hosts.custom" "$CUSTOM_PROFILE_PATH/hosts"
}
name_resolution_suite() {
diff --git a/test/suite-unittests.sh b/test/suite-unittests.sh
index 8629ccb5fe..5e847fca39 100755
--- a/test/suite-unittests.sh
+++ b/test/suite-unittests.sh
@@ -64,25 +64,25 @@ unittests_step_test() {
unittests_step_exntest() {
- DUT=../epan/exntest
+ DUT=$SOURCE_DIR/epan/exntest
ARGS=
unittests_step_test
}
unittests_step_reassemble_test() {
- DUT=../epan/reassemble_test
+ DUT=$SOURCE_DIR/epan/reassemble_test
ARGS=
unittests_step_test
}
unittests_step_tvbtest() {
- DUT=../epan/tvbtest
+ DUT=$SOURCE_DIR/epan/tvbtest
ARGS=
unittests_step_test
}
unittests_step_wmem_test() {
- DUT=../epan/wmem/wmem_test
+ DUT=$SOURCE_DIR/epan/wmem/wmem_test
ARGS=--verbose
unittests_step_test
}
diff --git a/test/test.sh b/test/test.sh
index af8ae075a1..47e2465655 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -73,6 +73,25 @@ source suite-fileformats.sh
source suite-decryption.sh
source suite-nameres.sh
+# needed by some tests
+TEST_OUTDIR=$(mktemp -d)
+TEST_OUTDIR_CLEAN=${TEST_OUTDIR_CLEAN:-1}
+if [ -z "$TEST_OUTDIR" ] || ! cd "$TEST_OUTDIR"; then
+ # If for any reason the temporary tests output directory cannot be created...
+ TEST_OUTDIR=.
+ TEST_OUTDIR_CLEAN=0
+fi
+
+test_cleanup() {
+ if [ $TEST_OUTDIR_CLEAN = 1 ]; then
+ # display contents of test outputs
+ grep -r . .
+ rm -rf "$TEST_OUTDIR"
+ else
+ echo "Test results are available in $TEST_OUTDIR"
+ fi
+}
+trap test_cleanup EXIT
#check prerequisites
test_step_prerequisites() {