From 97e34e945c6a047fc8673a7c216090cf164ead1f Mon Sep 17 00:00:00 2001 From: Franck Bui Date: Thu, 15 Mar 2018 13:39:38 +0100 Subject: [PATCH] test: add a sysusers test with NIS entries --- test/TEST-21-SYSUSERS/test-11.expected-group | 6 ++++++ test/TEST-21-SYSUSERS/test-11.expected-passwd | 6 ++++++ test/TEST-21-SYSUSERS/test-11.initial-group | 4 ++++ test/TEST-21-SYSUSERS/test-11.initial-passwd | 5 +++++ test/TEST-21-SYSUSERS/test-11.input | 3 +++ test/TEST-21-SYSUSERS/test.sh | 19 +++++++++++++------ 6 files changed, 37 insertions(+), 6 deletions(-) create mode 100644 test/TEST-21-SYSUSERS/test-11.expected-group create mode 100644 test/TEST-21-SYSUSERS/test-11.expected-passwd create mode 100644 test/TEST-21-SYSUSERS/test-11.initial-group create mode 100644 test/TEST-21-SYSUSERS/test-11.initial-passwd create mode 100644 test/TEST-21-SYSUSERS/test-11.input diff --git a/test/TEST-21-SYSUSERS/test-11.expected-group b/test/TEST-21-SYSUSERS/test-11.expected-group new file mode 100644 index 0000000000..815a6c5940 --- /dev/null +++ b/test/TEST-21-SYSUSERS/test-11.expected-group @@ -0,0 +1,6 @@ +o1:x:100: +g1:x:111: +u1:x:222: ++giant:::bill,tina,alan,hetty +-transport::: ++::: diff --git a/test/TEST-21-SYSUSERS/test-11.expected-passwd b/test/TEST-21-SYSUSERS/test-11.expected-passwd new file mode 100644 index 0000000000..3f9ab3901f --- /dev/null +++ b/test/TEST-21-SYSUSERS/test-11.expected-passwd @@ -0,0 +1,6 @@ +root:x:0:0:root:/root:/bin/bash +systemd-network:x:492:492:Systemd Network Management:/:/usr/sbin/nologin +systemd-resolve:x:491:491:Systemd Resolver:/:/usr/sbin/nologin +systemd-timesync:x:493:493:Systemd Time Synchronization:/:/usr/sbin/nologin +u1:x:222:222::/:/sbin/nologin ++:::::: diff --git a/test/TEST-21-SYSUSERS/test-11.initial-group b/test/TEST-21-SYSUSERS/test-11.initial-group new file mode 100644 index 0000000000..88d31f2c72 --- /dev/null +++ b/test/TEST-21-SYSUSERS/test-11.initial-group @@ -0,0 +1,4 @@ +o1:x:100 ++giant:::bill,tina,alan,hetty +-transport::: ++::: diff --git a/test/TEST-21-SYSUSERS/test-11.initial-passwd b/test/TEST-21-SYSUSERS/test-11.initial-passwd new file mode 100644 index 0000000000..45d3ffd5c2 --- /dev/null +++ b/test/TEST-21-SYSUSERS/test-11.initial-passwd @@ -0,0 +1,5 @@ +root:x:0:0:root:/root:/bin/bash +systemd-network:x:492:492:Systemd Network Management:/:/usr/sbin/nologin +systemd-resolve:x:491:491:Systemd Resolver:/:/usr/sbin/nologin +systemd-timesync:x:493:493:Systemd Time Synchronization:/:/usr/sbin/nologin ++:::::: diff --git a/test/TEST-21-SYSUSERS/test-11.input b/test/TEST-21-SYSUSERS/test-11.input new file mode 100644 index 0000000000..bffc2cd7ea --- /dev/null +++ b/test/TEST-21-SYSUSERS/test-11.input @@ -0,0 +1,3 @@ +#Type Name ID GECOS HOMEDIR +u u1 222 - - +g g1 111 - - diff --git a/test/TEST-21-SYSUSERS/test.sh b/test/TEST-21-SYSUSERS/test.sh index bebbab9d23..73cbe10b69 100755 --- a/test/TEST-21-SYSUSERS/test.sh +++ b/test/TEST-21-SYSUSERS/test.sh @@ -10,6 +10,13 @@ test_setup() { mkdir -p $TESTDIR/etc/sysusers.d $TESTDIR/usr/lib/sysusers.d $TESTDIR/tmp } +prepare_testdir() { + rm -f $TESTDIR/etc/*{passwd,group,shadow} + for i in $1.initial-{passwd,group,shadow}; do + test -f $i && cp $i $TESTDIR/etc/${i#*.initial-} + done +} + preprocess() { in="$1" @@ -41,7 +48,7 @@ test_run() { # happy tests for f in test-*.input; do echo "*** Running $f" - rm -f $TESTDIR/etc/*{passwd,group,shadow} + prepare_testdir ${f%.input} cp $f $TESTDIR/usr/lib/sysusers.d/test.conf systemd-sysusers --root=$TESTDIR @@ -50,7 +57,7 @@ test_run() { for f in test-*.input; do echo "*** Running $f on stdin" - rm -f $TESTDIR/etc/*{passwd,group,shadow} + prepare_testdir ${f%.input} touch $TESTDIR/etc/sysusers.d/test.conf cat $f | systemd-sysusers --root=$TESTDIR - @@ -59,7 +66,7 @@ test_run() { for f in test-*.input; do echo "*** Running $f on stdin with --replace" - rm -f $TESTDIR/etc/*{passwd,group,shadow} + prepare_testdir ${f%.input} touch $TESTDIR/etc/sysusers.d/test.conf # this overrides test.conf which is masked on disk cat $f | systemd-sysusers --root=$TESTDIR --replace=/etc/sysusers.d/test.conf - @@ -71,7 +78,7 @@ test_run() { # test --inline echo "*** Testing --inline" - rm -f $TESTDIR/etc/*{passwd,group,shadow} + prepare_testdir # copy a random file to make sure it is ignored cp $f $TESTDIR/etc/sysusers.d/confuse.conf systemd-sysusers --root=$TESTDIR --inline \ @@ -82,7 +89,7 @@ test_run() { # test --replace echo "*** Testing --inline with --replace" - rm -f $TESTDIR/etc/*{passwd,group,shadow} + prepare_testdir # copy a random file to make sure it is ignored cp $f $TESTDIR/etc/sysusers.d/confuse.conf systemd-sysusers --root=$TESTDIR \ @@ -98,7 +105,7 @@ test_run() { # tests for error conditions for f in unhappy-*.input; do echo "*** Running test $f" - rm -f $TESTDIR/etc/*{passwd,group,shadow} + prepare_testdir ${f%.input} 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