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