Whamcloud - gitweb
LU-16521 tests: allow + separator for racer 66/49866/10
authorElena Gryaznova <elena.gryaznova@hpe.com>
Wed, 31 May 2023 19:42:57 +0000 (22:42 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 13 Sep 2023 04:02:23 +0000 (04:02 +0000)
The Test-Parameters: line parses ',' even with quotes, so it cannot
be used as a separator in Autotest for RACER_PROGS and RACER_EXTRA.

Allow both ',' and '+' as a separator for both RACER_PROGS and
RACER_EXTRA tasks so specific racer tasks can be run.

Do not always enable dir_remote and dir_migrate if RACER_PROGS set.

Test-Parameters: trivial testlist=racer env=RACER_PROGS=file_rename+file_truncate,RACER_EXTRA=file_create:5+dir_create:5+dir_remote:5
Fixes: 6d9e74580e ("LU-14274 tests: enhance racer to set extra layout")
Signed-off-by: Elena Gryaznova <elena.gryaznova@hpe.com>
HPE-bug-id: LUS-11466
Change-Id: I3f3b4da6f76ccfac2680068184dc4714187a9a4d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49866
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/tests/racer/racer.sh

index 23cd33b..45582bb 100755 (executable)
@@ -12,13 +12,25 @@ RACER_MAX_CLEANUP_WAIT=${RACER_MAX_CLEANUP_WAIT:-$DURATION}
 
 mkdir -p $DIR
 
-RACER_PROGS=${RACER_PROGS:-"file_create dir_create file_rm file_rename \
-file_link file_symlink file_list file_concat file_exec file_chown \
-file_chmod file_mknod file_truncate file_delxattr file_getxattr \
-file_setxattr"}
+if [[ -z "$RACER_PROGS" ]]; then
+       RACER_PROGS="file_create dir_create file_rm file_rename file_link"
+       RACER_PROGS+=" file_symlink file_list file_concat file_exec file_chown"
+       RACER_PROGS+=" file_chmod file_mknod file_truncate file_delxattr"
+       RACER_PROGS+=" file_getxattr file_setxattr"
+
+       if $RACER_ENABLE_REMOTE_DIRS || $RACER_ENABLE_STRIPED_DIRS; then
+               RACER_PROGS+=" dir_remote"
+       fi
+
+       if $RACER_ENABLE_MIGRATION; then
+               RACER_PROGS+=" dir_migrate"
+       fi
+fi
+RACER_PROGS=${RACER_PROGS//[,+]/ }
 
-# allow e.g. RACER_EXTRA=dir_create:5,file_link:10 to launch extra tasks
-for PROG in ${RACER_EXTRA//,/ }; do
+# allow e.g. RACER_EXTRA=dir_create:5,file_link:10 or
+# RACER_EXTRA=dir_create:5+file_link:10 to launch extra tasks
+for PROG in ${RACER_EXTRA//[,+]/ }; do
        prog=(${PROG/:/ })
        count=${prog[1]:-1}
        for ((i = 0; i < count; i++)); do
@@ -26,14 +38,6 @@ for PROG in ${RACER_EXTRA//,/ }; do
        done
 done
 
-if $RACER_ENABLE_REMOTE_DIRS || $RACER_ENABLE_STRIPED_DIRS; then
-       RACER_PROGS+=' dir_remote'
-fi
-
-if $RACER_ENABLE_MIGRATION; then
-       RACER_PROGS+=' dir_migrate'
-fi
-
 racer_cleanup()
 {
        echo "racer cleanup"
@@ -80,13 +84,13 @@ RC=0
 
 echo "Running $0 for $DURATION seconds. CTRL-C to exit"
 trap "
-       echo \"Cleaning up\" 
+       echo 'Cleaning up'
        racer_cleanup
        exit 0
 " INT TERM
 
-cd `dirname $0`
-for N in `seq 1 $NUM_THREADS`; do
+cd $(dirname $0)
+for ((N = 1; N <= $NUM_THREADS; N++)); do
        for P in $RACER_PROGS; do
                RACER_MIGRATE_STRIPE_MAX=$RACER_MIGRATE_STRIPE_MAX \
                ./$P.sh $DIR $MAX_FILES &
@@ -99,5 +103,5 @@ racer_cleanup || RC=$?
 # Check our to see whether our test DIR is still available.
 df $DIR
 (( RC+=$? ))
-[ $RC -eq 0 ] && echo "We survived $0 for $DURATION seconds."
+(( $RC == 0 )) && echo "We survived $0 for $DURATION seconds."
 exit $RC