[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [sbws/master] tests: remove unused testnets
commit 0e8f6a1544bbf1cb5018aab831e874895b7d3daf
Author: juga0 <juga@xxxxxxxxxx>
Date: Thu Jan 10 11:11:13 2019 +0000
tests: remove unused testnets
Fixes bug #29046. Bugfix v0.4.0.
---
tests/testnets/.gitignore | 8 -
tests/testnets/run-network.sh | 43 -----
tests/testnets/simple-ipv4/.net | 0
tests/testnets/simple-ipv4/00-common.sh | 7 -
tests/testnets/simple-ipv4/01-gen-configs.sh | 1 -
tests/testnets/simple-ipv4/02-start-network.sh | 1 -
.../simple-ipv4/03-network-in-ready-state.py | 1 -
tests/testnets/simple-ipv4/04-stop-network.sh | 1 -
tests/testnets/simple-ipv4/html/alphabet.txt | 1 -
tests/testnets/simple-ipv6/.net | 0
tests/testnets/simple-ipv6/00-common.sh | 7 -
tests/testnets/simple-ipv6/01-gen-configs.sh | 1 -
tests/testnets/simple-ipv6/02-start-network.sh | 1 -
.../simple-ipv6/03-network-in-ready-state.py | 1 -
tests/testnets/simple-ipv6/04-stop-network.sh | 1 -
tests/testnets/simple.common/01-gen-configs.sh | 175 ---------------------
tests/testnets/simple.common/02-start-network.sh | 14 --
.../simple.common/03-network-in-ready-state.py | 126 ---------------
tests/testnets/simple.common/04-stop-network.sh | 3 -
19 files changed, 392 deletions(-)
diff --git a/tests/testnets/.gitignore b/tests/testnets/.gitignore
deleted file mode 100644
index 91f372c..0000000
--- a/tests/testnets/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-auth?/
-relay?/
-exit?/
-client?/
-datadir/
-tor/
-config*.ini
-*.log
diff --git a/tests/testnets/run-network.sh b/tests/testnets/run-network.sh
deleted file mode 100755
index 15a963c..0000000
--- a/tests/testnets/run-network.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-set -e
-function cleanup {
- kill $(jobs -p)
- echo -n ''
-}
-trap cleanup EXIT
-
-function list_of_nets {
- find . -mindepth 2 -maxdepth 2 -type f -name '.net' |\
- xargs dirname | sort -u | xargs
-}
-
-function usage {
- echo "Usage: $0 <net>"
- echo "Where <net> is one of: $(list_of_nets)"
-}
-
-[ "$1" == "" ] && usage && exit 1 || net="$1"
-[ ! -d "$net" ] && usage && exit 1
-[ ! -f "$net/.net" ] && usage && exit 1
-
-pushd $net
-./01-gen-configs.sh
-./02-start-network.sh
-sleep 5
-num_relays=$(ls -ld {auth,relay,exit}* | wc -l)
-echo "Waiting until network of $num_relays relays is ready ..."
-time ./03-network-in-ready-state.py auth* relay* exit* --size $num_relays
-echo 'All ready!'
-
-#sbws -d . server > debug.server.log &
-#sleep 1
-sbws -d . scanner > debug.scanner.log &
-
-run_time="45"
-echo "Running for $run_time seconds ..."
-sleep $run_time
-
-sbws -d . generate --output /dev/stdout | tee generate.log
-sbws -d . stats | tee stats.log
-
-./04-stop-network.sh
diff --git a/tests/testnets/simple-ipv4/.net b/tests/testnets/simple-ipv4/.net
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/testnets/simple-ipv4/00-common.sh b/tests/testnets/simple-ipv4/00-common.sh
deleted file mode 100644
index 3e7985f..0000000
--- a/tests/testnets/simple-ipv4/00-common.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-ip_space="127.10.0."
-socksport="2000"
-controlport="2001"
-orport="2002"
-dirport="2003"
-auth_torrc_section="auth.torrc.part"
-sbws_server_host="127.0.0.1"
diff --git a/tests/testnets/simple-ipv4/01-gen-configs.sh b/tests/testnets/simple-ipv4/01-gen-configs.sh
deleted file mode 120000
index 115f351..0000000
--- a/tests/testnets/simple-ipv4/01-gen-configs.sh
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/01-gen-configs.sh
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv4/02-start-network.sh b/tests/testnets/simple-ipv4/02-start-network.sh
deleted file mode 120000
index df06b4a..0000000
--- a/tests/testnets/simple-ipv4/02-start-network.sh
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/02-start-network.sh
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv4/03-network-in-ready-state.py b/tests/testnets/simple-ipv4/03-network-in-ready-state.py
deleted file mode 120000
index 70d43ba..0000000
--- a/tests/testnets/simple-ipv4/03-network-in-ready-state.py
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/03-network-in-ready-state.py
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv4/04-stop-network.sh b/tests/testnets/simple-ipv4/04-stop-network.sh
deleted file mode 120000
index dc2ab02..0000000
--- a/tests/testnets/simple-ipv4/04-stop-network.sh
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/04-stop-network.sh
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv4/html/alphabet.txt b/tests/testnets/simple-ipv4/html/alphabet.txt
deleted file mode 100644
index e85d5b4..0000000
--- a/tests/testnets/simple-ipv4/html/alphabet.txt
+++ /dev/null
@@ -1 +0,0 @@
-abcdefghijklmnopqrstuvwxyz
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv6/.net b/tests/testnets/simple-ipv6/.net
deleted file mode 100644
index e69de29..0000000
diff --git a/tests/testnets/simple-ipv6/00-common.sh b/tests/testnets/simple-ipv6/00-common.sh
deleted file mode 100644
index fa1b800..0000000
--- a/tests/testnets/simple-ipv6/00-common.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-ip_space="127.10.0."
-socksport="2000"
-controlport="2001"
-orport="2002"
-dirport="2003"
-auth_torrc_section="auth.torrc.part"
-sbws_server_host="::1"
diff --git a/tests/testnets/simple-ipv6/01-gen-configs.sh b/tests/testnets/simple-ipv6/01-gen-configs.sh
deleted file mode 120000
index 115f351..0000000
--- a/tests/testnets/simple-ipv6/01-gen-configs.sh
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/01-gen-configs.sh
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv6/02-start-network.sh b/tests/testnets/simple-ipv6/02-start-network.sh
deleted file mode 120000
index df06b4a..0000000
--- a/tests/testnets/simple-ipv6/02-start-network.sh
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/02-start-network.sh
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv6/03-network-in-ready-state.py b/tests/testnets/simple-ipv6/03-network-in-ready-state.py
deleted file mode 120000
index 70d43ba..0000000
--- a/tests/testnets/simple-ipv6/03-network-in-ready-state.py
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/03-network-in-ready-state.py
\ No newline at end of file
diff --git a/tests/testnets/simple-ipv6/04-stop-network.sh b/tests/testnets/simple-ipv6/04-stop-network.sh
deleted file mode 120000
index dc2ab02..0000000
--- a/tests/testnets/simple-ipv6/04-stop-network.sh
+++ /dev/null
@@ -1 +0,0 @@
-../simple.common/04-stop-network.sh
\ No newline at end of file
diff --git a/tests/testnets/simple.common/01-gen-configs.sh b/tests/testnets/simple.common/01-gen-configs.sh
deleted file mode 100755
index 7dcc602..0000000
--- a/tests/testnets/simple.common/01-gen-configs.sh
+++ /dev/null
@@ -1,175 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-which tor || exit 1
-which tor-gencert || exit 1
-
-source 00-common.sh
-
-function get_fingerprint {
- dir=$1
- [ -f $dir/torrc ] || exit 2
- tor --ignore-missing-torrc -f $dir/torrc --Address 8.8.8.8 \
- --list-fingerprint | tail -n 1 | cut -d ' ' -f 2- \
- | sed 's|\ ||g'
-}
-
-function get_v3ident {
- dir=$1
- cert=$dir/keys/authority_certificate
- [ -f $cert ] || exit 2
- grep fingerprint $cert | cut -d ' ' -f 2
-}
-
-
-next_ip="1"
-scanner_tor_socks_proxy_ip=""
-scanner_tor_socks_proxy_nick=""
-
-echo -n '' > $auth_torrc_section
-rm -fr auth?/ relay?/ exit?/ config*.ini datadir/ tor/ *.log
-for A in auth1 auth2 auth3
-do
- mkdir -pv $A/keys
- chmod 700 $A
- ip=${ip_space}${next_ip}
- [ "$scanner_tor_socks_proxy_ip" == "" ] && scanner_tor_socks_proxy_ip="$ip"
- [ "$scanner_tor_socks_proxy_nick" == "" ] && scanner_tor_socks_proxy_nick="$A"
- echo -n '' | tor-gencert --create-identity-key --passphrase-fd 0 -m 24 -a $ip:$dirport
- echo "
- DataDirectory $A
- PidFile $A/tor.pid
- Log notice file $A/notice.log
- ShutdownWaitLength 2
- ExitRelay 0
- AuthoritativeDirectory 1
- V3AuthoritativeDirectory 1
- Address $ip
- SocksPort $ip:$socksport
- ControlPort $ip:$controlport
- ControlSocket $(pwd)/$A/control_socket
- CookieAuthentication 1
- ORPort $ip:$orport
- DirPort $ip:$dirport
- Nickname $A
- ContactInfo pastly@xxxxxxxxxxxxxx
- " > $A/torrc
- mv -v authority_* $A/keys/
- fp=$(get_fingerprint $A)
- v3ident=$(get_v3ident $A)
- echo "DirAuthority $A orport=$orport no-v2 v3ident=$v3ident $ip:$dirport $fp" \
- >> $auth_torrc_section
-
- next_ip=$((next_ip+1))
-done
-
-for A in relay1 relay2 relay3 relay4 relay5 relay6 relay7
-do
- mkdir -pv $A
- chmod 700 $A
- ip=${ip_space}${next_ip}
- echo "
- DataDirectory $A
- PidFile $A/tor.pid
- Log notice file $A/notice.log
- ShutdownWaitLength 2
- ExitRelay 0
- Address $ip
- SocksPort $ip:$socksport
- ControlPort $ip:$controlport
- ControlSocket $(pwd)/$A/control_socket
- CookieAuthentication 1
- ORPort $ip:$orport
- DirPort $ip:$dirport
- Nickname $A
- ContactInfo pastly@xxxxxxxxxxxxxx
- " > $A/torrc
- next_ip=$((next_ip+1))
-done
-
-for A in exit1 exit2 exit3
-do
- mkdir -pv $A
- chmod 700 $A
- ip=${ip_space}${next_ip}
- echo "
- DataDirectory $A
- PidFile $A/tor.pid
- Log notice file $A/notice.log
- ShutdownWaitLength 2
- ExitRelay 1
- IPv6Exit 1
- ExitPolicy accept *:*
- ExitPolicy reject *:*
- Address $ip
- SocksPort $ip:$socksport
- ControlPort $ip:$controlport
- ControlSocket $(pwd)/$A/control_socket
- CookieAuthentication 1
- ORPort $ip:$orport
- DirPort $ip:$dirport
- Nickname $A
- ContactInfo pastly@xxxxxxxxxxxxxx
- " > $A/torrc
- next_ip=$((next_ip+1))
-done
-
-for torrc in ./auth*/torrc
-do
- echo "
- TestingV3AuthInitialVotingInterval 5
- V3AuthVotingInterval 10
- TestingV3AuthInitialVoteDelay 2
- V3AuthVoteDelay 2
- TestingV3AuthInitialDistDelay 2
- V3AuthDistDelay 2
- " >> $torrc
-done
-
-for torrc in ./{auth,relay,exit}*/torrc
-do
- cat $auth_torrc_section >> $torrc
- echo "
- TestingTorNetwork 1
- NumCPUs 1
- LogTimeGranularity 1
- SafeLogging 0
- " >> $torrc
-done
-
-
-# Get a random port between 2000 and 62000 while handling the fact that $RANDOM
-# doesn't go up that high
-sbws_server_port=$(( ((RANDOM<<15)|RANDOM) % 60000 + 2000 ))
-
-echo "
-[paths]
-sbws_home = $(pwd)
-
-[tor]
-extra_lines =
- TestingTorNetwork 1
- NumCPUs 1
- LogTimeGranularity 1
- SafeLogging 0
-$(cat $auth_torrc_section | while read LINE; do printf " $LINE\n"; done)
-
-[scanner]
-nickname = SbwsTestnetScanner
-measurement_threads = 4
-download_toofast = 0.1
-download_min = 1
-download_target = 2
-download_max = 5
-num_rtts = 5
-num_downloads = 3
-
-[destinations]
-debian_cd_mirror_will_break = on
-
-[destinations.debian_cd_mirror_will_break]
-url = https://saimei.ftp.acc.umu.se/debian-cd/9.4.0/amd64/iso-dvd/debian-9.4.0-amd64-DVD-1.iso
-#url = https://cdimage.debian.org/debian-cd/9.4.0/amd64/iso-dvd/debian-9.4.0-amd64-DVD-1.iso
-" > config.ini
-touch config.log.ini
-rm $auth_torrc_section
diff --git a/tests/testnets/simple.common/02-start-network.sh b/tests/testnets/simple.common/02-start-network.sh
deleted file mode 100755
index 57c26fa..0000000
--- a/tests/testnets/simple.common/02-start-network.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-set -e
-function cleanup {
- #kill -INT $(cat {auth,relay,exit}*/tor.pid)
- #kill -INT $(jobs -p)
- echo -n ''
-}
-trap cleanup EXIT
-
-
-for A in {auth,relay,exit}*
-do
- tor -f $A/torrc --quiet &
-done
diff --git a/tests/testnets/simple.common/03-network-in-ready-state.py b/tests/testnets/simple.common/03-network-in-ready-state.py
deleted file mode 100755
index 5753c05..0000000
--- a/tests/testnets/simple.common/03-network-in-ready-state.py
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/env python3
-from argparse import RawTextHelpFormatter, ArgumentParser
-from stem.control import Controller
-import time
-import os
-import logging
-
-logger = logging.getLogger(__name__)
-
-
-def get_controller(sock_fname):
- cont = Controller.from_socket_file(path=sock_fname)
- cont.authenticate()
- return cont
-
-
-def get_is_bootstrapped(cont, timeout=60):
- start_time = time.time()
- while start_time + timeout > time.time():
- line = cont.get_info('status/bootstrap-phase')
- state, _, progress, *_ = line.split()
- progress = int(progress.split('=')[1])
- if state == 'NOTICE' and progress == 100:
- logger.debug('Tor is bootstrapped')
- return True
- time.sleep(1)
- logger.debug('Tor didn\'t bootstrap before timeout. Last line: %s', line)
- return False
-
-
-def get_has_full_consensus(cont, network_size, timeout=60):
- start_time = time.time()
- while start_time + timeout > time.time():
- relays = [r for r in cont.get_network_statuses()]
- if len(relays) == network_size:
- logger.debug('Tor has correct network size %d',
- network_size)
- return True
- elif len(relays) > network_size:
- logger.warning('Tor has more relays than expected. %d vs %d',
- len(relays), network_size)
- return True
- time.sleep(1)
- logger.debug('Tor didn\'t reach expected network size %d before '
- 'timeout', network_size)
- return False
-
-
-def is_tor_ready(sock_fname, network_size):
- with get_controller(sock_fname) as cont:
- if not get_is_bootstrapped(cont):
- logger.warning('%s not bootstrapped, Tor not ready', sock_fname)
- return False
- if not get_has_full_consensus(cont, network_size):
- logger.warning('%s doesn\'t have full consensus, Tor not ready',
- sock_fname)
- return False
- logger.info('%s is ready', sock_fname)
- return True
-
-
-def main(args):
- for datadir in args.datadir:
- logger.info('Checking if %s is ready', datadir)
- sock_fname = os.path.join(datadir, 'control_socket')
- assert os.path.exists(sock_fname)
- if not is_tor_ready(sock_fname, network_size=args.size):
- return 1
- # If we got to this point, it seems like every relay is completely ready.
- # Do one more check to make sure that's still the case.
- for datadir in args.datadir:
- logger.info('Verifying %s is still ready', datadir)
- sock_fname = os.path.join(datadir, 'control_socket')
- assert os.path.exists(sock_fname)
- if not is_tor_ready(sock_fname, network_size=args.size):
- return 1
- return 0
-
-
-if __name__ == '__main__':
- desc = '''
-Given the data directories for a local tor network, connect to the control
-socket in each directory and verify that the tor on the other end of the socket
-is fully bootstrapped and has the right size of consensus.
-
-The "right size of consensus" is determined based on the number of data
-directories given to check. If that is not okay to assume (for example, there
-are some Tor client [non-relay] data directories given to check), then specify
-the size manually with --size.
-
-Waits up to 60 seconds for each check for each tor.
-
-- In the worst case, this script will take a long time to run (if every tor
- suddenly passes each check after 59 seconds).
-- In the normal failure case, this script will take about 60 seconds to run
- (the first tor is not ready and fails its checks).
-- In the normal case, it will run very quickly (every tor is bootstrapped and
- ready).
-
-Exits with 0 if everything is good. Otherwise exits with a postive integer.
-'''
- parser = ArgumentParser(
- formatter_class=RawTextHelpFormatter, description=desc)
- parser.add_argument('-s', '--size', type=int, help='If given, don\'t '
- 'assume the network size based on the number of '
- 'datadirs, but use this size instead.')
- parser.add_argument('-d', '--debug', action='store_true')
- parser.add_argument('datadir', nargs='+', type=str)
- args = parser.parse_args()
-
- if args.debug:
- logger.setLevel(logging.DEBUG)
- else:
- logger.setLevel(logging.WARNING)
- ch = logging.StreamHandler()
- formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
- ch.setFormatter(formatter)
- logger.addHandler(ch)
-
- if not args.size:
- args.size = len(args.datadir)
-
- try:
- exit(main(args))
- except KeyboardInterrupt:
- pass
diff --git a/tests/testnets/simple.common/04-stop-network.sh b/tests/testnets/simple.common/04-stop-network.sh
deleted file mode 100755
index 1e3429b..0000000
--- a/tests/testnets/simple.common/04-stop-network.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-
-kill -INT $(cat {auth,relay,exit}*/tor.pid)
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits