From 3081241777b8151e59bb7c81c50ab001027debb9 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Fri, 27 Aug 2010 17:58:24 +0000 Subject: [PATCH] Behavior of usermod was improved regarding (re)moving the old homedir. --- .../data/home_ls-a | 3 -- .../data/usermod.err | 1 + .../13_usermod_move_homedir_file/usermod.test | 31 ++++++++++++------- 3 files changed, 21 insertions(+), 14 deletions(-) delete mode 100644 tests/usertools/13_usermod_move_homedir_file/data/home_ls-a create mode 100644 tests/usertools/13_usermod_move_homedir_file/data/usermod.err diff --git a/tests/usertools/13_usermod_move_homedir_file/data/home_ls-a b/tests/usertools/13_usermod_move_homedir_file/data/home_ls-a deleted file mode 100644 index 89bbbd9a..00000000 --- a/tests/usertools/13_usermod_move_homedir_file/data/home_ls-a +++ /dev/null @@ -1,3 +0,0 @@ --rw-r--r-- foo:foo `/home/foo2/toto' -drwxr-xr-x foo:foo `/home/foo2/.' -drwxr-xr-x root:root `/home/foo2/..' diff --git a/tests/usertools/13_usermod_move_homedir_file/data/usermod.err b/tests/usertools/13_usermod_move_homedir_file/data/usermod.err new file mode 100644 index 00000000..d2715075 --- /dev/null +++ b/tests/usertools/13_usermod_move_homedir_file/data/usermod.err @@ -0,0 +1 @@ +usermod: The previous home directory (/home/foo) was not a directory. It is not removed and no home directories are created. diff --git a/tests/usertools/13_usermod_move_homedir_file/usermod.test b/tests/usertools/13_usermod_move_homedir_file/usermod.test index 945faaaf..65103e5a 100755 --- a/tests/usertools/13_usermod_move_homedir_file/usermod.test +++ b/tests/usertools/13_usermod_move_homedir_file/usermod.test @@ -20,7 +20,24 @@ change_config touch /home/foo echo -n "Change the user's home directory (usermod -m -d /home/foo2 foo)..." -usermod -m -d /home/foo2 foo +usermod -m -d /home/foo2 foo 2>tmp/usermod.err && exit 1 || { + status=$? +} +echo "OK" + +echo -n "Check returned status ($status)..." +test "$status" = "12" +echo "OK" + +echo "usermod reported:" +echo "=======================================================================" +cat tmp/usermod.err +echo "=======================================================================" +echo -n "Check that there were a failure message..." +diff -au data/usermod.err tmp/usermod.err +echo "error message OK." +rm -f tmp/usermod.err + echo "OK" echo -n "Check the passwd file..." @@ -38,17 +55,9 @@ echo "OK" echo -n "Check /home/foo was not removed..." test -f /home/foo echo "OK" -ls /home -echo -n "Check the user's home directory was moved..." -test -d /home/foo2 +echo -n "Check the user's home directory was not created..." +test ! -e /home/foo2 echo "OK" -echo -n "Check content of /home/foo2/..." -stat --printf "%A %U:%G %N\n" /home/foo2/* /home/foo2/.* 2>/dev/null | sort > tmp/home_ls-a -diff -rauN data/home_ls-a tmp/home_ls-a -echo "OK" -echo -n "Remove the new home directory..." -rm -rf /home/foo2 -echo "done" rm -f /home/foo