- local RC=0
- local logdir=$basedir
- ((repeat_count > 1)) && logdir="$logdir/$n"
- reset_logging $logdir
- set -- "${argv[@]}"
- while [[ -n $1 ]]; do
- unset ONLY EXCEPT START_AT STOP_AT
- local opts=""
- local time_limit=""
-# echo "argv: $*"
- suite=$1
- shift;
- while [[ -n $1 ]]; do
- case "$1" in
- --only)
- shift;
- export ONLY=$(split_commas $1)
- opts+="ONLY=$ONLY ";;
- --except)
- shift;
- export EXCEPT=$(split_commas $1)
- opts+="EXCEPT=$EXCEPT ";;
- --start-at)
- shift;
- export START_AT=$1
- opts+="START_AT=$START_AT ";;
- --stop-at)
- shift;
- export STOP_AT=$1
- opts+="STOP_AT=$STOP_AT ";;
- --time-limit)
- shift;
- time_limit=$1;;
- *)
- break;;
- esac
- shift
- done
- echo "running: $suite $opts"
- run_suite_logged $suite || RC=$?
- echo $suite returned $RC
- done
- if $upload_logs; then
- $upload_script $LOGDIR
- fi
- n=$((n + 1))
+ local RC=0
+ local logdir=${test_logs_dir}
+ local first_suite=$FIRST_SUITE
+ ((repeat_count > 1)) && logdir="$logdir/$n"
+ reset_logging $logdir
+ set -- "${argv[@]}"
+ while [[ -n $1 ]]; do
+ unset ONLY EXCEPT START_AT STOP_AT
+ local opts=""
+ local time_limit=""
+ #echo "argv: $*"
+ suite=$1
+ shift;
+ while [[ -n $1 ]]; do
+ case "$1" in
+ --only)
+ shift;
+ export ONLY=$(split_commas $1)
+ opts+="ONLY=$ONLY ";;
+ --except)
+ shift;
+ export EXCEPT=$(split_commas $1)
+ opts+="EXCEPT=$EXCEPT ";;
+ --start-at)
+ shift;
+ export START_AT=$1
+ opts+="START_AT=$START_AT ";;
+ --stop-at)
+ shift;
+ export STOP_AT=$1
+ opts+="STOP_AT=$STOP_AT ";;
+ --time-limit)
+ shift;
+ time_limit=$1;;
+ *)
+ break;;
+ esac
+ shift
+ done
+ 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
+ fi
+ n=$((n + 1))