diff options
Diffstat (limited to 'sanity/system_light/scripts/locks/locks_run.sh')
-rwxr-xr-x | sanity/system_light/scripts/locks/locks_run.sh | 39 |
1 files changed, 39 insertions, 0 deletions
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 |