summaryrefslogtreecommitdiffstats
path: root/sanity/system_light/scripts/locks/locks_run.sh
blob: cba6edeba4407ee90fca32254a79b37abdb0b95d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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 "$@";