]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - tools/regression/fstest/tests/misc.sh
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / tools / regression / fstest / tests / misc.sh
1 # $FreeBSD$
2
3 ntest=1
4
5 name253="_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_12"
6 name255="${name253}34"
7 name256="${name255}5"
8 path1021="${name255}/${name255}/${name255}/${name253}"
9 path1023="${path1021}/x"
10 path1024="${path1023}x"
11
12 echo ${dir} | egrep '^/' >/dev/null 2>&1
13 if [ $? -eq 0 ]; then
14         maindir="${dir}/../.."
15 else
16         maindir="`pwd`/${dir}/../.."
17 fi
18 fstest="${maindir}/fstest"
19 . ${maindir}/tests/conf
20
21 expect()
22 {
23         e="${1}"
24         shift
25         r=`${fstest} $* 2>/dev/null | tail -1`
26         echo "${r}" | egrep '^'${e}'$' >/dev/null 2>&1
27         if [ $? -eq 0 ]; then
28                 if [ -z "${todomsg}" ]; then
29                         echo "ok ${ntest}"
30                 else
31                         echo "ok ${ntest} # TODO ${todomsg}"
32                 fi
33         else
34                 if [ -z "${todomsg}" ]; then
35                         echo "not ok ${ntest} - tried '$*', expected ${e}, got ${r}"
36                 else
37                         echo "not ok ${ntest} # TODO ${todomsg}"
38                 fi
39         fi
40         todomsg=""
41         ntest=`expr $ntest + 1`
42 }
43
44 jexpect()
45 {
46         s="${1}"
47         d="${2}"
48         e="${3}"
49         shift 3
50         r=`jail -s ${s} / fstest 127.0.0.1 /bin/sh -c "cd ${d} && ${fstest} $* 2>/dev/null" | tail -1`
51         echo "${r}" | egrep '^'${e}'$' >/dev/null 2>&1
52         if [ $? -eq 0 ]; then
53                 if [ -z "${todomsg}" ]; then
54                         echo "ok ${ntest}"
55                 else
56                         echo "ok ${ntest} # TODO ${todomsg}"
57                 fi
58         else
59                 if [ -z "${todomsg}" ]; then
60                         echo "not ok ${ntest} - tried '$*', expected ${e}, got ${r}"
61                 else
62                         echo "not ok ${ntest} # TODO ${todomsg}"
63                 fi
64         fi
65         todomsg=""
66         ntest=`expr $ntest + 1`
67 }
68
69 test_check()
70 {
71         if [ $* ]; then
72                 if [ -z "${todomsg}" ]; then
73                         echo "ok ${ntest}"
74                 else
75                         echo "ok ${ntest} # TODO ${todomsg}"
76                 fi
77         else
78                 if [ -z "${todomsg}" ]; then
79                         echo "not ok ${ntest}"
80                 else
81                         echo "not ok ${ntest} # TODO ${todomsg}"
82                 fi
83         fi
84         todomsg=""
85         ntest=`expr $ntest + 1`
86 }
87
88 todo()
89 {
90         echo "${os}" | $GREP -iq "${1}"
91         if [ $? -eq 0 ]; then
92                 todomsg="${2}"
93         fi
94 }
95
96 namegen()
97 {
98         echo "fstest_`dd if=/dev/urandom bs=1k count=1 2>/dev/null | openssl md5`"
99 }
100
101 quick_exit()
102 {
103         echo "1..1"
104         echo "ok 1"
105         exit 0
106 }
107
108 supported()
109 {
110         case "${1}" in
111         lchmod)
112                 if [ "${os}" != "FreeBSD" ]; then
113                         return 1
114                 fi
115                 ;;
116         chflags)
117                 if [ "${os}" != "FreeBSD" ]; then
118                         return 1
119                 fi
120                 ;;
121         chflags_SF_SNAPSHOT)
122                 if [ "${os}" != "FreeBSD" -o "${fs}" != "UFS" ]; then
123                         return 1
124                 fi
125                 ;;
126         esac
127         return 0
128 }
129
130 require()
131 {
132         if supported ${1}; then
133                 return
134         fi
135         quick_exit
136 }