Add Makepkgs support to xfstests (tar & rpm only so far)
[xfstests-dev.git] / 158
1 #! /bin/sh
2 # FSQA Test No. 158
3 #
4 # get/set file attributes
5 #
6 #-----------------------------------------------------------------------
7 #  Copyright (c) 2006 Silicon Graphics, Inc.  All Rights Reserved.
8 #-----------------------------------------------------------------------
9 #
10 # creator
11 owner=allanr@sgi.com
12
13 seq=`basename $0`
14 echo "QA output created by $seq"
15
16 here=`pwd`
17 tmp=/tmp/$$
18 status=1    # failure is the default!
19 trap "_cleanup; exit \$status" 0 1 2 3 15
20
21 _cleanup()
22 {
23     _cleanup_testdir
24 }
25
26 # get standard environment, filters and checks
27 . ./common.rc
28 . ./common.filter
29 . ./common.dmapi
30
31 # real QA test starts here
32 _supported_fs xfs
33 _supported_os Linux IRIX
34
35 _require_scratch
36 _scratch_mkfs_xfs >/dev/null 2>&1
37 _dmapi_scratch_mount
38
39 touch $SCRATCH_MNT/dmapi_test
40
41 _get_file_attr() {
42     ${DMAPI_QASUITE1_DIR}cmd/get_fileattr $SCRATCH_MNT/dmapi_test | grep $1
43 }
44
45 _set_file_attr() {
46    ${DMAPI_QASUITE1_DIR}cmd/set_fileattr $@
47 }
48
49 #dt_atime
50 atime_before="`_get_file_attr dt_atime`"
51 _set_file_attr -a 05m $SCRATCH_MNT/dmapi_test
52 atime_after="`_get_file_attr dt_atime`"
53 [ "$atime_before" == "$atime_after" ] && echo "dt_atime not updated"
54
55 #dt_mtime
56 mtime_before="`_get_file_attr dt_mtime`"
57 _set_file_attr -m 10m $SCRATCH_MNT/dmapi_test
58 mtime_after="`_get_file_attr dt_mtime`"
59 [ "$mtime_before" == "$mtime_after" ] && echo "mt_mtime not updated"
60
61 #dt_ctime
62 ctime_before="`_get_file_attr dt_ctime`"
63 _set_file_attr -c 15m $SCRATCH_MNT/dmapi_test
64 ctime_after="`_get_file_attr dt_ctime`"
65 [ "$ctime_before" == "$ctime_after" ] && echo "dt_ctime not updated"
66
67 #dt_dtime
68 dtime_before="`_get_file_attr dt_dtime`"
69 _set_file_attr -d 20m $SCRATCH_MNT/dmapi_test
70 dtime_after="`_get_file_attr dt_dtime`"
71 [ "$dtime_before" == "$dtime_after" ] && echo "dt_dtime not updated"
72
73 # -M mode
74 _set_file_attr -M 744 $SCRATCH_MNT/dmapi_test
75 _get_file_attr dt_mode
76
77 # -u uid
78 _set_file_attr -u 666 $SCRATCH_MNT/dmapi_test
79 _get_file_attr dt_uid
80
81 # -g gid
82 _set_file_attr -g 666 $SCRATCH_MNT/dmapi_test
83 _get_file_attr dt_gid
84
85 # -S size
86 _set_file_attr -S 1024 $SCRATCH_MNT/dmapi_test
87 _get_file_attr dt_size
88
89 status=0
90 exit