xfstests: move generic tests out of top level dir
[xfstests-dev.git] / tests / generic / 192
1 #! /bin/bash
2 # FS QA Test No. 192
3 #
4 # Simple test of atime
5 # - ensure it is persistent after unmount
6 # - check updated time by correct amount
7 #
8 #-----------------------------------------------------------------------
9 # Copyright (c) 2008 Silicon Graphics, Inc.  All Rights Reserved.
10 #
11 # This program is free software; you can redistribute it and/or
12 # modify it under the terms of the GNU General Public License as
13 # published by the Free Software Foundation.
14 #
15 # This program is distributed in the hope that it would be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 # GNU General Public License for more details.
19 #
20 # You should have received a copy of the GNU General Public License
21 # along with this program; if not, write the Free Software Foundation,
22 # Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
23 #
24 #-----------------------------------------------------------------------
25 #
26
27 seq=`basename $0`
28 echo "QA output created by $seq"
29
30 here=`pwd`
31 tmp=/tmp/$$
32 status=1        # failure is the default!
33 trap "exit \$status" 0 1 2 3 15
34
35 _access_time()
36 {
37         stat --format=%X $1
38 }
39
40 # get standard environment, filters and checks
41 . ./common.rc
42 . ./common.filter
43
44 # real QA test starts here
45
46 _supported_fs generic
47 _supported_os Linux
48 #delay=150
49 #delay=75
50 #delay=60
51 #delay=45
52 delay=40
53
54 testfile=$TEST_DIR/testfile
55 rm -f $testfile
56 rm -f $seq.full
57
58 echo test >$testfile
59 time1=`_access_time $testfile | tee -a $seq.full` 
60
61 echo "sleep for $delay"
62 sleep $delay # sleep to allow time to move on for access
63 cat $testfile
64 time2=`_access_time $testfile | tee -a $seq.full` 
65
66 cd /
67 umount $TEST_DIR
68 _test_mount
69 time3=`_access_time $testfile | tee -a $here/$seq.full`
70
71 delta1=`expr $time2 - $time1`
72 delta2=`expr $time3 - $time1`
73
74 echo "delta1 - access time after sleep in-core: $delta1"
75 echo "delta2 - access time after sleep on-disk: $delta2"
76
77 # success, all done
78 status=0
79 exit