summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkrad <krad@fb.com>2017-09-13 17:21:17 -0700
committerShreyas Siravara <sshreyas@fb.com>2017-09-15 17:58:08 +0000
commite4b47b5d54644c398c424a99116a0cc37e4431d6 (patch)
treecaf18964e48416ae593cda26b8a50441155eb0e4
parent4d80fcf5ec2098aa4f5aef07dec80ec9eb5ad602 (diff)
fbsmoke: Sync with 3.6 functionality
Summary: (1) Depricate REMOTE=1 fb-smoke.sh (2) Add fb-remote-test.sh (3) Add .arcconfig for arc smoke/test/asan-noleaks (4) Minor fix to ASAN_ENABLED variable handling Test Plan: Run tests manually Differential Revision: https://phabricator.intern.facebook.com/D5830444 Change-Id: Ie8a427a11761ac5b23844b77b82b24269626d352 Reviewed-on: https://review.gluster.org/18290 Smoke: Gluster Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
-rw-r--r--.arcconfig7
-rw-r--r--build_env2
-rwxr-xr-xfb-remote-test.sh93
-rwxr-xr-xfb-smoke.sh37
4 files changed, 102 insertions, 37 deletions
diff --git a/.arcconfig b/.arcconfig
new file mode 100644
index 00000000000..fb594f62782
--- /dev/null
+++ b/.arcconfig
@@ -0,0 +1,7 @@
+{
+ "aliases" : {
+ "smoke" : [ "!./fb-remote-test.sh" ],
+ "test" : [ "!./fb-remote-test.sh --tests=all" ],
+ "asan-noleaks" : [ "!./fb-remote-test.sh --tests=all --asan-noleaks" ]
+ }
+}
diff --git a/build_env b/build_env
index 74f7c0256e1..46cb18fdd89 100644
--- a/build_env
+++ b/build_env
@@ -24,7 +24,7 @@ if [ $REDHAT_MAJOR -ge 7 ]; then
fi
export GF_CONF_OPTS
-ASAN_ENABLED=0
+ASAN_ENABLED=${ASAN_ENABLED:=0}
# Check if ASAN is enabled
if [ "$ASAN_ENABLED" -eq "1" ]; then
GF_CONF_OPTS="$GF_CONF_OPTS --with-asan"
diff --git a/fb-remote-test.sh b/fb-remote-test.sh
new file mode 100755
index 00000000000..38648d84fde
--- /dev/null
+++ b/fb-remote-test.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+source ./test_env
+
+FBCODE="$HOME/fbsource/fbcode"
+N=0
+HOSTS=$(smcc ls-hosts -s gluster.build.ash gluster.build.prn | xargs)
+TESTS=$DESIRED_TESTS
+FLAKY=$KNOWN_FLAKY_TESTS
+
+FLAGS=""
+
+function print_env {
+ echo "Settings:"
+ echo "FBCODE=$FBCODE"
+ echo "N=$N"
+ echo -e "-------\nHOSTS\n$HOSTS\n-------"
+ echo -e "TESTS\n$TESTS\n-------"
+ echo -e "FLAKY\n$FLAKY\n-------"
+}
+
+function cleanup {
+ rm -f /tmp/test-*.log
+}
+
+function usage {
+ echo "Usage: $0 [-h or --help] [-v or --verbose]
+ [--fbcode <fbcode root>]
+ [--valgrind] [--asan] [--asan-noleaks]
+ [--hosts <hosts>] [--smc-tier <tier name>] [-n <parallelism>]
+ [--tests <tests>] [--flaky <tests>]
+ "
+}
+
+function tiers_to_hosts {
+ hosts=""
+ for t in $1; do
+ hosts="$hosts $(smcc ls-hosts -s $t | xargs)"
+ done
+ echo $hosts
+}
+
+function parse_args () {
+ args=`getopt \
+ -o hvn: \
+ --long help,verbose,valgrind,asan,asan-noleaks,fbcode:,hosts:,smc-tier:,tests:,flaky: \
+ -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 ;;
+ --fbcode) FBCODE=$2 ; shift 2 ;;
+ -v | --verbose) FLAGS="$FLAGS -v" ; shift ;;
+ --valgrind) FLAGS="$FLAGS --valgrind" ; shift ;;
+ --asan-noleaks) FLAGS="$FLAGS --asan-noleaks"; shift ;;
+ --asan) FLAGS="$FLAGS --asan" ; shift ;;
+ --hosts) HOSTS=$2; shift 2 ;;
+ --smc-tier) HOSTS=$(tiers_to_hosts $2) ; shift 2 ;;
+ --tests) TESTS=$2; shift 2 ;;
+ --flaky) FLAKY=$2; shift 2 ;;
+ -n) N=$2; shift 2 ;;
+ *) break ;;
+ esac
+ done
+ run_tests_args="$@"
+}
+
+function main {
+ parse_args "$@"
+
+ if [ ! -d "$FBCODE" ]; then
+ echo "fbcode does not exists. Please checkout fbcode"
+ return 1
+ fi
+
+ print_env
+
+ cleanup
+
+ "$FBCODE/storage/gluster/gluster-build/fb-gluster-test.py" $FLAGS --tester \
+ --n "$N" --hosts "$HOSTS" --tests "$TESTS" --flaky_tests "$FLAKY"
+
+ exit $?
+}
+
+main "$@"
diff --git a/fb-smoke.sh b/fb-smoke.sh
index a68b9414cd2..4c2c28b7326 100755
--- a/fb-smoke.sh
+++ b/fb-smoke.sh
@@ -99,30 +99,6 @@ function print_result {
fi
}
-function run_remote {
- if [ ! -d "$FBCODE" ]; then
- echo "fbcode does not exists. Please checkout fbcode"
- return 1
- fi
-
- local flags=''
- if [ "$VERBOSE" -eq "1" ]; then
- flags="$flags -v"
- fi
-
- if [ "$VALGRIND" -eq "1" ]; then
- flags="$flags --valgrind"
- fi
-
- if [ "$ASAN" -eq "1" ]; then
- flags="$flags --asan"
- fi
-
- "$FBCODE/storage/gluster/gluster-build/fb-gluster-test.py" $flags --tester \
- --n "$N" --hosts "$REMOTE_HOSTS" --tests "$REMOTE_TESTS"\
- --flaky_tests "$REMOTE_FLAKY_TESTS"
-}
-
#
# Main
#
@@ -135,20 +111,9 @@ declare -a FAILED_TESTS
TEST_TIMEOUT=${TEST_TIMEOUT:=300}
SKIP_FLAKY=${SKIP_FLAKY:=1}
STOP_ON_FAIL=${STOP_ON_FAIL:=0}
-FBCODE=${FBCODE:="$HOME/fbsource/fbcode"}
-N=${N:=0}
-REMOTE_HOSTS=${REMOTE_HOSTS:="$(smcc ls-hosts -s gluster.build.ash | xargs)"}
-REMOTE=${REMOTE:=0}
-REMOTE_TESTS=${REMOTE_TESTS:=$DESIRED_TESTS}
-REMOTE_FLAKY_TESTS=${REMOTE_FLAKY_TESTS:=$KNOWN_FLAKY_TESTS}
-VERBOSE=${VERBOSE:=0}
VALGRIND=${VALGRIND:=0}
ASAN=${ASAN:=0}
-
-if [ "$REMOTE" -eq "1" ]; then
- run_remote
- exit $?
-fi
+ASAN_NOLEAKS=${ASAN_NOLEAKS:=0}
if [ "$SKIP_FLAKY" -eq "0" ]; then
ATTEMPT=${ATTEMPT:=3}