summaryrefslogtreecommitdiffstats
path: root/sanity/system_light/scripts/locks/locks_run.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sanity/system_light/scripts/locks/locks_run.sh')
-rwxr-xr-xsanity/system_light/scripts/locks/locks_run.sh39
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