Merge branch 'dev' of https://github.com/smartxworks/fio
[fio.git] / t / readonly.sh
CommitLineData
4e5c281e
VF
1#!/bin/bash
2#
3# Do some basic test of the --readonly parameter
4#
5# DUT should be a device that accepts read, write, and trim operations
6#
7# Example usage:
8#
9# DUT=/dev/fioa t/readonly.sh
10#
11TESTNUM=1
12
13#
14# The first parameter is the return code
15# The second parameter is 0 if the return code should be 0
16# positive if the return code should be positive
17#
18check () {
19 echo "********************"
20
21 if [ $2 -gt 0 ]; then
22 if [ $1 -eq 0 ]; then
23 echo "Test $TESTNUM failed"
24 echo "********************"
25 exit 1
26 else
27 echo "Test $TESTNUM passed"
28 fi
29 else
30 if [ $1 -gt 0 ]; then
31 echo "Test $TESTNUM failed"
32 echo "********************"
33 exit 1
34 else
35 echo "Test $TESTNUM passed"
36 fi
37 fi
38
39 echo "********************"
40 echo
41 TESTNUM=$((TESTNUM+1))
42}
43
44./fio --name=test --filename=$DUT --rw=randread --readonly --time_based --runtime=1s &> /dev/null
45check $? 0
46./fio --name=test --filename=$DUT --rw=randwrite --readonly --time_based --runtime=1s &> /dev/null
47check $? 1
48./fio --name=test --filename=$DUT --rw=randtrim --readonly --time_based --runtime=1s &> /dev/null
49check $? 1
50
51./fio --name=test --filename=$DUT --readonly --rw=randread --time_based --runtime=1s &> /dev/null
52check $? 0
53./fio --name=test --filename=$DUT --readonly --rw=randwrite --time_based --runtime=1s &> /dev/null
54check $? 1
55./fio --name=test --filename=$DUT --readonly --rw=randtrim --time_based --runtime=1s &> /dev/null
56check $? 1
57
58./fio --name=test --filename=$DUT --rw=randread --time_based --runtime=1s &> /dev/null
59check $? 0
60./fio --name=test --filename=$DUT --rw=randwrite --time_based --runtime=1s &> /dev/null
61check $? 0
62./fio --name=test --filename=$DUT --rw=randtrim --time_based --runtime=1s &> /dev/null
63check $? 0
64
65./fio t/jobs/readonly-r.fio --readonly &> /dev/null
66check $? 0
67./fio t/jobs/readonly-w.fio --readonly &> /dev/null
68check $? 1
69./fio t/jobs/readonly-t.fio --readonly &> /dev/null
70check $? 1
71
72./fio --readonly t/jobs/readonly-r.fio &> /dev/null
73check $? 0
74./fio --readonly t/jobs/readonly-w.fio &> /dev/null
75check $? 1
76./fio --readonly t/jobs/readonly-t.fio &> /dev/null
77check $? 1
78
79./fio t/jobs/readonly-r.fio &> /dev/null
80check $? 0
81./fio t/jobs/readonly-w.fio &> /dev/null
82check $? 0
83./fio t/jobs/readonly-t.fio &> /dev/null
84check $? 0