]>
Commit | Line | Data |
---|---|---|
1c511f26 | 1 | #!/bin/bash |
db0463bf | 2 | # SPDX-License-Identifier: LGPL-2.1+ |
1c511f26 SH |
3 | |
4 | set -ex | |
5 | ||
6 | [ $(id -u) -eq 0 ] | |
7 | ||
8 | # Run lxcfs testsuite | |
9 | export LXCFSDIR=$(mktemp -d) | |
e190ee91 | 10 | pidfile=$(mktemp) |
1c511f26 SH |
11 | |
12 | cmdline=$(realpath $0) | |
13 | dirname=$(dirname ${cmdline}) | |
14 | topdir=$(dirname ${dirname}) | |
15 | ||
16 | p=-1 | |
17 | FAILED=1 | |
18 | cleanup() { | |
19 | set +e | |
20 | if [ $p -ne -1 ]; then | |
21 | kill -9 $p | |
22 | fi | |
bb682ba8 SH |
23 | if [ ${LXCFSDIR} != "/var/lib/lxcfs" ]; then |
24 | umount -l ${LXCFSDIR} | |
25 | rmdir ${LXCFSDIR} | |
26 | fi | |
e190ee91 | 27 | rm -f ${pidfile} |
1c511f26 SH |
28 | if [ ${FAILED} -eq 1 ]; then |
29 | echo "FAILED at $TESTCASE" | |
30 | exit 1 | |
31 | fi | |
32 | echo PASSED | |
33 | exit 0 | |
34 | } | |
35 | ||
36 | TESTCASE="setup" | |
37 | lxcfs=${topdir}/lxcfs | |
38 | ||
bb682ba8 SH |
39 | if [ -x ${lxcfs} ]; then |
40 | echo "Running ${lxcfs} ${LXCFSDIR}" | |
e190ee91 | 41 | ${lxcfs} -p ${pidfile} ${LXCFSDIR} & |
bb682ba8 SH |
42 | p=$! |
43 | else | |
44 | pidof lxcfs | |
45 | echo "Using host lxcfs" | |
46 | rmdir $LXCFSDIR | |
47 | export LXCFSDIR=/var/lib/lxcfs | |
48 | fi | |
1c511f26 SH |
49 | |
50 | trap cleanup EXIT SIGHUP SIGINT SIGTERM | |
51 | ||
52 | count=1 | |
53 | while ! mountpoint -q $LXCFSDIR; do | |
54 | sleep 1s | |
55 | if [ $count -gt 5 ]; then | |
56 | echo "lxcfs failed to start" | |
57 | false | |
58 | fi | |
59 | count=$((count+1)) | |
60 | done | |
61 | ||
754c2080 SH |
62 | RUNTEST() { |
63 | unshare -fmp --mount-proc $* | |
64 | } | |
65 | ||
1c511f26 | 66 | TESTCASE="test_proc" |
754c2080 | 67 | RUNTEST ${dirname}/test_proc |
1c511f26 | 68 | TESTCASE="test_cgroup" |
754c2080 | 69 | RUNTEST ${dirname}/test_cgroup |
1c511f26 | 70 | TESTCASE="test_read_proc.sh" |
754c2080 | 71 | RUNTEST ${dirname}/test_read_proc.sh |
1c511f26 | 72 | TESTCASE="cpusetrange" |
754c2080 | 73 | RUNTEST ${dirname}/cpusetrange |
7bc95a75 | 74 | TESTCASE="meminfo hierarchy" |
754c2080 | 75 | RUNTEST ${dirname}/test_meminfo_hierarchy.sh |
237e200e SH |
76 | TESTCASE="liblxcfs reloading" |
77 | ${dirname}/test_reload.sh | |
1c511f26 | 78 | |
a6c00375 SH |
79 | # Check for any defunct processes - children we didn't reap |
80 | n=`ps -ef | grep lxcfs | grep defunct | wc -l` | |
81 | [ $n = 0 ] | |
82 | ||
1c511f26 | 83 | FAILED=0 |