1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
#!/bin/bash
source ./extras/distributed-testing/distributed-test-env
N=0
TESTS='all'
FLAKY=$KNOWN_FLAKY_TESTS
BROKEN=$BROKEN_TESTS
TEST_TIMEOUT_S=900
ADDRESS_FAMILY='IPv4'
FLAGS=""
function print_env {
echo "Settings:"
echo "N=$N"
echo -e "-------\nHOSTS\n$HOSTS\n-------"
echo -e "TESTS\n$TESTS\n-------"
echo -e "SKIP\n$FLAKY $BROKEN\n-------"
echo -e "TEST_TIMEOUT_S=$TEST_TIMEOUT_S s\n"
}
function cleanup {
rm -f /tmp/test*.log
}
function usage {
echo "Usage: $0 [-h or --help] [-v or --verbose]
[--all] [--flaky] [--smoke] [--broken]
[--valgrind] [--asan] [--asan-noleaks]
[--hosts <hosts>] [-n <parallelism>]
[--tests <tests>]
[--id-rsa <ssh private key>]
[--address_family <IPv4 or IPv6>]
"
}
function parse_args () {
args=`getopt \
-o hvn: \
--long help,verbose,address_family:,valgrind,asan,asan-noleaks,all,\
smoke,flaky,broken,hosts:,tests:,id-rsa:,test-timeout: \
-n 'fb-remote-test.sh' -- "$@"`
if [ $? != 0 ]; then
echo "Error parsing getopt"
exit 1
fi
eval set -- "$args"
while true; do
case "$1" in
-h | --help) usage ; exit 1 ;;
-v | --verbose) FLAGS="$FLAGS -v" ; shift ;;
--address_family) ADDRESS_FAMILY=$2; shift 2 ;;
--valgrind) FLAGS="$FLAGS --valgrind" ; shift ;;
--asan-noleaks) FLAGS="$FLAGS --asan-noleaks"; shift ;;
--asan) FLAGS="$FLAGS --asan" ; shift ;;
--hosts) HOSTS=$2; shift 2 ;;
--tests) TESTS=$2; FLAKY= ; BROKEN= ; shift 2 ;;
--test-timeout) TEST_TIMEOUT_S=$2; shift 2 ;;
--all) TESTS='all' ; shift 1 ;;
--flaky) TESTS=$FLAKY; FLAKY= ; shift 1 ;;
--smoke) TESTS=$SMOKE_TESTS; shift 1 ;;
--broken) TESTS=$BROKEN_TESTS; FLAKY= ; BROKEN= ; shift 1 ;;
--id-rsa) FLAGS="$FLAGS --id-rsa $2" ; shift 2 ;;
-n) N=$2; shift 2 ;;
*) break ;;
esac
done
run_tests_args="$@"
}
function main {
parse_args "$@"
if [ -z "$HOSTS" ]; then
echo "Please provide hosts to run the tests in"
exit -1
fi
print_env
cleanup
"extras/distributed-testing/distributed-test-runner.py" $FLAGS --tester \
--n "$N" --hosts "$HOSTS" --tests "$TESTS" \
--flaky_tests "$FLAKY $BROKEN" --test-timeout "$TEST_TIMEOUT_S" \
--address_family "$ADDRESS_FAMILY"
exit $?
}
main "$@"
|