mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 19:21:53 +03:00
28e7fad73f
Ensure that the GID already exists or is created when the new "uid:gid" syntax is used. This ensures the behaviour is always predictable.
50 lines
1.6 KiB
Bash
Executable File
50 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
|
|
# ex: ts=8 sw=4 sts=4 et filetype=sh
|
|
set -e
|
|
TEST_DESCRIPTION="Sysuser-related tests"
|
|
|
|
. $TEST_BASE_DIR/test-functions
|
|
|
|
test_setup() {
|
|
mkdir -p $TESTDIR/etc $TESTDIR/usr/lib/sysusers.d $TESTDIR/tmp
|
|
}
|
|
|
|
test_run() {
|
|
# ensure our build of systemd-sysusers is run
|
|
PATH=${BUILD_DIR}:$PATH
|
|
|
|
# happy tests
|
|
for f in test-*.input; do
|
|
echo "*** Running $f"
|
|
rm -f $TESTDIR/etc/*
|
|
cp $f $TESTDIR/usr/lib/sysusers.d/test.conf
|
|
systemd-sysusers --root=$TESTDIR
|
|
|
|
if ! diff -u $TESTDIR/etc/passwd ${f%.*}.expected-passwd; then
|
|
echo "**** Unexpected output for $f"
|
|
exit 1
|
|
fi
|
|
if ! diff -u $TESTDIR/etc/group ${f%.*}.expected-group; then
|
|
echo "**** Unexpected output for $f"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# tests for error conditions
|
|
for f in unhappy-*.input; do
|
|
echo "*** Running test $f"
|
|
rm -f $TESTDIR/etc/*
|
|
cp $f $TESTDIR/usr/lib/sysusers.d/test.conf
|
|
systemd-sysusers --root=$TESTDIR 2> /dev/null
|
|
journalctl -t systemd-sysusers -o cat | tail -n1 > $TESTDIR/tmp/err
|
|
if ! diff -u $TESTDIR/tmp/err ${f%.*}.expected-err; then
|
|
echo "**** Unexpected error output for $f"
|
|
cat $TESTDIR/tmp/err
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
do_test "$@"
|