12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/bin/sh
- # Exit on errors
- set -e
- # Verbose mode
- set -v
- # Output is prefixed with the name of the script
- myname=$(basename "$0")
- # Respect the user's $PYTHON
- PYTHON=${PYTHON:-python}
- echo "$myname: using python '$PYTHON'"
- echo "$myname: finding chutney directory"
- TEST_DIR=$(dirname "$0")
- CHUTNEY_DIR=$(dirname "$TEST_DIR")
- echo "$myname: changing to chutney directory"
- cd "$CHUTNEY_DIR"
- echo "$myname: running Debug.py tests"
- LOG_FILE=$(mktemp)
- export LOG_FILE
- test -n "$LOG_FILE"
- unset CHUTNEY_DEBUG
- export CHUTNEY_DEBUG
- $PYTHON lib/chutney/Debug.py | tee "$LOG_FILE"
- LOG_FILE_LINES=$(wc -l < "$LOG_FILE")
- test "$LOG_FILE_LINES" -eq 1
- LOG_FILE=$(mktemp)
- export LOG_FILE
- test -n "$LOG_FILE"
- export CHUTNEY_DEBUG=1
- $PYTHON lib/chutney/Debug.py | tee "$LOG_FILE"
- LOG_FILE_LINES=$(wc -l < "$LOG_FILE")
- test "$LOG_FILE_LINES" -eq 2
- unset CHUTNEY_DEBUG
- export CHUTNEY_DEBUG
- echo "$myname: running Templating.py tests"
- LOG_FILE=$(mktemp)
- export LOG_FILE
- test -n "$LOG_FILE"
- $PYTHON lib/chutney/Templating.py torrc_templates/common.i | tee "$LOG_FILE"
- grep -q owning_controller_process "$LOG_FILE"
- grep -q connlimit "$LOG_FILE"
- grep -q controlport "$LOG_FILE"
- grep -q nick "$LOG_FILE"
- grep -q authorities "$LOG_FILE"
- grep -q dir "$LOG_FILE"
- echo "$myname: running Traffic.py tests"
- LOG_FILE=$(mktemp)
- export LOG_FILE
- test -n "$LOG_FILE"
- # Choose an arbitrary port
- PYTHONPATH=$PYTHONPATH:lib $PYTHON lib/chutney/Traffic.py 9999 \
- | tee "$LOG_FILE"
- # Traffic.py produces output with a single newline. But we don't want to get
- # too picky about the details: allow an extra line and a few extra chars.
- LOG_FILE_LINES=$(wc -l < "$LOG_FILE")
- test "$LOG_FILE_LINES" -le 2
- LOG_FILE_CHARS=$(wc -c < "$LOG_FILE")
- test "$LOG_FILE_CHARS" -le 4
- # We don't test TorNet.py: it's integration tested with tor using the
- # chutney/chutney script
|