File: datasource_systemd_unit_name.sh

package info (click to toggle)
snoopy 2.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,988 kB
  • sloc: ansic: 7,167; sh: 4,514; makefile: 1,095
file content (57 lines) | stat: -rwxr-xr-x 1,518 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash



### Configure shell and bootstrap
#
set -e
set -u
. `dirname $BASH_SOURCE`/_bootstrap.sh



### Verify the environment
#
if [ ! -f /proc/self/cgroup ]; then
    snoopy_testResult_skip "File /proc/self/cgroup does not exist"
fi

if ! grep -E ':name=systemd:' /proc/self/cgroup > /dev/null; then
    snoopy_testResult_skip "Cgroup :name=systemd: does not exist"
fi



### Get the real value
#
VAL_EXPECTED="SNOOPY-TEST-SUITE(undefined)"
VAL_SYSTEMD_UNIT_TYPE=`cat /proc/self/cgroup | grep -E ':name=systemd:' | sed -e 's#^1:name=systemd:/##' | cut -d/ -f1`

if [ "$VAL_SYSTEMD_UNIT_TYPE" == "user.slice" ]; then
    VAL_SYSTEMD_UNIT_UID=`cat /proc/self/cgroup | grep -E ':name=systemd:' | sed -e 's#^1:name=systemd:/##' | cut -d/ -f2 | sed -e 's/^user-//' | sed -e 's/.slice//'`
    if id -nu $VAL_SYSTEMD_UNIT_UID >/dev/null 2>&1; then
        VAL_EXPECTED=`id -nu $VAL_SYSTEMD_UNIT_UID`
    else
        VAL_EXPECTED="user-$VAL_SYSTEMD_UNIT_UID"
    fi

elif [ "$VAL_SYSTEMD_UNIT_TYPE" == "system.slice" ]; then
    VAL_EXPECTED=`cat /proc/self/cgroup | grep -E ':name=systemd:' | sed -e 's#^1:name=systemd:/##' | cut -d/ -f2 | sed -e 's/.service$//'`

else
    VAL_EXPECTED=`cat /proc/self/cgroup | grep -E ':name=systemd:' | sed -e 's#^1:name=systemd:/##'`

fi

# Adjust the empty value to pass the test
if [ "$VAL_EXPECTED" == "" ]; then
    VAL_EXPECTED="-"
fi



### Evaluate
#
VAL_SNOOPY=`$SNOOPY_TEST_CLI run datasource systemd_unit_name`

snoopy_test_compareValues "$VAL_SNOOPY" "$VAL_EXPECTED"