Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / tools / testing / selftests / sysctl / run_stringtests
1 #!/bin/sh
2
3 SYSCTL="/proc/sys"
4 TARGET="${SYSCTL}/kernel/domainname"
5 ORIG=$(cat "${TARGET}")
6 TEST_STR="Testing sysctl"
7
8 . ./common_tests
9
10 # Only string sysctls support seeking/appending.
11 MAXLEN=65
12
13 echo -n "Writing entire sysctl in short writes ... "
14 set_orig
15 dd if="${TEST_FILE}" of="${TARGET}" bs=1 2>/dev/null
16 if ! verify "${TARGET}"; then
17         echo "FAIL" >&2
18         rc=1
19 else
20         echo "ok"
21 fi
22
23 echo -n "Writing middle of sysctl after unsynchronized seek ... "
24 set_test
25 dd if="${TEST_FILE}" of="${TARGET}" bs=1 seek=1 2>/dev/null
26 if verify "${TARGET}"; then
27         echo "FAIL" >&2
28         rc=1
29 else
30         echo "ok"
31 fi
32
33 echo -n "Checking sysctl maxlen is at least $MAXLEN ... "
34 set_orig
35 perl -e 'print "A" x ('"${MAXLEN}"'-2), "B";' | \
36         dd of="${TARGET}" bs="${MAXLEN}" 2>/dev/null
37 if ! grep -q B "${TARGET}"; then
38         echo "FAIL" >&2
39         rc=1
40 else
41         echo "ok"
42 fi
43
44 echo -n "Checking sysctl keeps original string on overflow append ... "
45 set_orig
46 perl -e 'print "A" x ('"${MAXLEN}"'-1), "B";' | \
47         dd of="${TARGET}" bs=$(( MAXLEN - 1 )) 2>/dev/null
48 if grep -q B "${TARGET}"; then
49         echo "FAIL" >&2
50         rc=1
51 else
52         echo "ok"
53 fi
54
55 echo -n "Checking sysctl stays NULL terminated on write ... "
56 set_orig
57 perl -e 'print "A" x ('"${MAXLEN}"'-1), "B";' | \
58         dd of="${TARGET}" bs="${MAXLEN}" 2>/dev/null
59 if grep -q B "${TARGET}"; then
60         echo "FAIL" >&2
61         rc=1
62 else
63         echo "ok"
64 fi
65
66 echo -n "Checking sysctl stays NULL terminated on overwrite ... "
67 set_orig
68 perl -e 'print "A" x ('"${MAXLEN}"'-1), "BB";' | \
69         dd of="${TARGET}" bs=$(( $MAXLEN + 1 )) 2>/dev/null
70 if grep -q B "${TARGET}"; then
71         echo "FAIL" >&2
72         rc=1
73 else
74         echo "ok"
75 fi
76
77 exit $rc