]>
Commit | Line | Data |
---|---|---|
dfecc2bc | 1 | #!/bin/sh |
db0463bf | 2 | # SPDX-License-Identifier: LGPL-2.1+ |
a6c5a845 | 3 | |
dfecc2bc SG |
4 | set -eu |
5 | [ -n "${DEBUG:-}" ] && set -x | |
6 | ||
a6c5a845 SG |
7 | PASS=0 |
8 | ||
9 | cleanup() { | |
794ed8d5 | 10 | [ "$PASS" = "1" ] || (echo FAIL && exit 1) |
a6c5a845 SG |
11 | } |
12 | ||
13 | trap cleanup EXIT HUP INT TERM | |
14 | ||
1c511f26 SH |
15 | LXCFSDIR=${LXCFSDIR:-/var/lib/lxcfs} |
16 | ||
17 | if ! mountpoint -q ${LXCFSDIR}; then | |
18 | echo "lxcfs isn't mounted on ${LXCFSDIR}" | |
a6c5a845 SG |
19 | exit 1 |
20 | fi | |
21 | ||
dfecc2bc | 22 | echo "==> Setting up memory/cpuset cgroup in lxcfs_test_proc" |
754c2080 SH |
23 | [ ! -d /sys/fs/cgroup/memory ] && exit 0 |
24 | [ ! -d /sys/fs/cgroup/cpuset ] && exit 0 | |
a6c5a845 | 25 | |
754c2080 SH |
26 | initcpuset=`awk -F: '/cpuset/ { print $3 }' /proc/1/cgroup` |
27 | initmemory=`awk -F: '/memory/ { print $3 }' /proc/1/cgroup` | |
28 | ||
29 | cpupath=/sys/fs/cgroup/cpuset/${initcpuset} | |
30 | mempath=/sys/fs/cgroup/memory/${initmemory} | |
31 | ||
dfecc2bc SG |
32 | rmdir ${cpupath}/lxcfs_test_proc 2>/dev/null || true |
33 | rmdir ${mempath}/lxcfs_test_proc 2>/dev/null || true | |
754c2080 SH |
34 | mkdir ${cpupath}/lxcfs_test_proc |
35 | mkdir ${mempath}/lxcfs_test_proc | |
36 | ||
37 | echo 1 > ${cpupath}/lxcfs_test_proc/tasks | |
38 | echo 1 > ${mempath}/lxcfs_test_proc/tasks | |
39 | ||
08efccf3 | 40 | echo $((64*1024*1024)) > ${mempath}/lxcfs_test_proc/memory.limit_in_bytes |
754c2080 SH |
41 | echo 0 > ${cpupath}/lxcfs_test_proc/cpuset.cpus |
42 | ||
43 | # Test uptime | |
dfecc2bc | 44 | echo "==> Testing /proc/uptime" |
c60b2da1 | 45 | grep -Eq "^0.[0-9]{2} 0.[0-9]{2}$" ${LXCFSDIR}/proc/uptime |
a6c5a845 SG |
46 | |
47 | # Test cpuinfo | |
dfecc2bc | 48 | echo "==> Testing /proc/cpuinfo" |
1c511f26 | 49 | [ "$(grep "^processor" ${LXCFSDIR}/proc/cpuinfo | wc -l)" = "1" ] |
3137a0a6 | 50 | grep -q "^processor.*0$" ${LXCFSDIR}/proc/cpuinfo || grep -q "^processor 0:.*" ${LXCFSDIR}/proc/cpuinfo |
a6c5a845 | 51 | |
b3c85f5d CB |
52 | echo "==> Testing /sys/devices/system/cpu/online" |
53 | [ "$(cat ${LXCFSDIR}/sys/devices/system/cpu/online)" = "$(cat ${cpupath}/lxcfs_test_proc/cpuset.cpus)" ] | |
54 | ||
a6c5a845 | 55 | # Test stat |
dfecc2bc | 56 | echo "==> Testing /proc/stat" |
1c511f26 | 57 | [ "$(grep "^cpu" ${LXCFSDIR}/proc/stat | wc -l)" = "2" ] |
a6c5a845 SG |
58 | |
59 | # Test meminfo | |
dfecc2bc | 60 | echo "==> Testing /proc/meminfo" |
08efccf3 | 61 | grep -q "^MemTotal.*65536 kB$" ${LXCFSDIR}/proc/meminfo |
a6c5a845 | 62 | |
a6c5a845 | 63 | PASS=1 |