aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_cmdline.sh
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-09-05 12:54:09 -0400
committerDavid Goulet <dgoulet@torproject.org>2019-09-11 09:42:19 -0400
commit7a8ea0d3c35d73e149e4f804e517cefa10e7afc7 (patch)
tree8d88c2b80093bacd759e697b8bcb619576bd8024 /src/test/test_cmdline.sh
parent5ffe6ec0e34fdddbc56d7699ce21c3a763f22198 (diff)
downloadtor-7a8ea0d3c35d73e149e4f804e517cefa10e7afc7.tar.gz
tor-7a8ea0d3c35d73e149e4f804e517cefa10e7afc7.zip
integration test for --list-torrc-options
(This option tests our existing behavior, not necessarily the most sensible behavior.)
Diffstat (limited to 'src/test/test_cmdline.sh')
-rwxr-xr-xsrc/test/test_cmdline.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/test/test_cmdline.sh b/src/test/test_cmdline.sh
new file mode 100755
index 0000000000..cf758c3851
--- /dev/null
+++ b/src/test/test_cmdline.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+umask 077
+set -e
+
+if [ $# -ge 1 ]; then
+ TOR_BINARY="${1}"
+ shift
+else
+ TOR_BINARY="${TESTING_TOR_BINARY:-./src/app/tor}"
+fi
+
+echo "TOR BINARY IS ${TOR_BINARY}"
+
+die() { echo "$1" >&2 ; exit 5; }
+
+echo "A"
+
+DATA_DIR=$(mktemp -d -t tor_cmdline_tests.XXXXXX)
+trap 'rm -rf "$DATA_DIR"' 0
+
+# 1. Test list-torrc-options.
+OUT="${DATA_DIR}/output"
+
+echo "B"
+"${TOR_BINARY}" --list-torrc-options > "$OUT"
+
+echo "C"
+
+# regular options are given.
+grep -i "SocksPort" "$OUT" >/dev/null || die "Did not find SocksPort"
+
+
+echo "D"
+
+# unlisted options are given, since they do not have the NOSET flag.
+grep -i "__SocksPort" "$OUT" > /dev/null || die "Did not find __SocksPort"
+
+echo "E"
+
+# unsettable options are not given.
+if grep -i "DisableIOCP" "$OUT" /dev/null; then
+ die "Found DisableIOCP"
+fi
+if grep -i "HiddenServiceOptions" "$OUT" /dev/null ; then
+ die "Found HiddenServiceOptions"
+fi
+echo "OK"