diff options
Diffstat (limited to 'sanity/system_light/scripts/locks')
-rwxr-xr-x | sanity/system_light/scripts/locks/locks.sh | 17 | ||||
-rwxr-xr-x | sanity/system_light/scripts/locks/locks_run.sh | 39 |
2 files changed, 56 insertions, 0 deletions
diff --git a/sanity/system_light/scripts/locks/locks.sh b/sanity/system_light/scripts/locks/locks.sh new file mode 100755 index 0000000..8dce136 --- /dev/null +++ b/sanity/system_light/scripts/locks/locks.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +function main() +{ + locks_dirname=$(dirname $LOCK_BIN); + cp $locks_dirname/test $LOCK_TEST_FILE; + + $TOOLDIR/locks_run.sh; + if [ $? -eq 0 ]; then + rm $LOCK_TEST_FILE; + return 0; + else + return 1; + fi +} + +main "$@";
\ No newline at end of file diff --git a/sanity/system_light/scripts/locks/locks_run.sh b/sanity/system_light/scripts/locks/locks_run.sh new file mode 100755 index 0000000..cba6ede --- /dev/null +++ b/sanity/system_light/scripts/locks/locks_run.sh @@ -0,0 +1,39 @@ +#!/bin/bash + +# GOAL : This tests try to stress fcntl locking functions. A master process set a lock on a file region (byte range locking). +# * Some slaves process tries to perform operations on this region, like read, write, set a new lock ... Expected results of this +# * operations are known. If the operation result is the same as the expected one, the test sucess, else it fails. + +function main() +{ + echo "testing the locking through concurrent processes:`date +%T`" + time $LOCK_BIN -n $CON_PROC -f $LOCK_TEST_FILE 2>>$LOG_FILE 1>>$LOG_FILE + + if [ $? -ne 0 ]; then + echo "locks by processes failed:`date +%T`" + err=11 + else + echo "end:`date +%T`" + err=0 + fi + + echo "DONE" + + echo "testing the locking through concurrent threads:`date +%T`" + time $LOCK_BIN -n $CON_PROC -f $LOCK_TEST_FILE -T 2>>$LOG_FILE 1>>$LOG_FILE + + if [ $? -ne 0 ]; then + echo "locks by threads failed:`date +%T`" + return 11; + else + echo "end threads:`date +%T`" + if [ $err -ne 0 ]; then + return 11; + else + return 0; + fi + fi + +} + +main "$@";
\ No newline at end of file |