-D FULLLOGDIR Full directory for logs
-f STR Config name (cfg/<name>.sh)
-g GROUP Test group file (Overrides tests listed on command line)
+ -S TESTSUITE First test suite to run allows for restarts
-i N Repeat tests N times (default 1). A new directory
will be created under LOGDIR for each iteration.
-k Don't stop when subtests fail
test_logs_dir=/tmp/test_logs/$(date +%Y-%m-%d)/$(date +%H%M%S)
export SLOW=no
export ${NAME:=local}
-while getopts "c:d:D:nkf:g:i:rRslhv" opt
+while getopts "c:d:D:nkf:S:g:i:rRslhv" opt
do
case "$opt" in
c) CONFIG=$OPTARG;;
d) test_logs_dir=$OPTARG/$(date +%Y-%m-%d)/$(date +%H%M%S);;
D) test_logs_dir=$OPTARG;;
g) test_group_file=$OPTARG;;
+ S) FIRST_SUITE=$OPTARG;;
k) export FAIL_ON_ERROR=false;;
n) dry_run=:;;
v) verbose=:;;
while ((n < repeat_count)); do
local RC=0
local logdir=${test_logs_dir}
+ local first_suite=$FIRST_SUITE
((repeat_count > 1)) && logdir="$logdir/$n"
reset_logging $logdir
set -- "${argv[@]}"
esac
shift
done
- echo "running: $suite $opts"
- run_suite_logged $suite || RC=$?
- echo $suite returned $RC
+ if [ "x"$first_suite == "x" ] || [ $first_suite == $suite ]; then # If first_suite not set or this is the first suite
+ echo "running: $suite $opts"
+ run_suite_logged $suite || RC=$?
+ unset first_suite
+ echo $suite returned $RC
+ fi
done
if $upload_logs; then
$upload_script $LOGDIR
mkdir -p $LOGDIR
init_clients_lists
- if check_shared_dir $LOGDIR; then
- touch $LOGDIR/shared
- echo "Logging to shared log directory: $LOGDIR"
- else
- echo "Logging to local directory: $LOGDIR"
- fi
+ if [ ! -f $YAML_LOG ]; then # If the yaml log already exists then we will just append to it
+ if check_shared_dir $LOGDIR; then
+ touch $LOGDIR/shared
+ echo "Logging to shared log directory: $LOGDIR"
+ else
+ echo "Logging to local directory: $LOGDIR"
+ fi
- yml_nodes_file $LOGDIR >> $YAML_LOG
- yml_results_file >> $YAML_LOG
+ yml_nodes_file $LOGDIR >> $YAML_LOG
+ yml_results_file >> $YAML_LOG
+ fi
umask $SAVE_UMASK
}