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"
|