[Pkg-shadow-commits] r1079 - in trunk/tests: . usertools/01

Nicolas FRANCOIS nekral-guest at costa.debian.org
Sun Aug 6 17:23:27 UTC 2006


Author: nekral-guest
Date: 2006-08-06 17:23:26 +0000 (Sun, 06 Aug 2006)
New Revision: 1079

Added:
   trunk/tests/usertools/01/run12
   trunk/tests/usertools/01/run13
   trunk/tests/usertools/01/run14
   trunk/tests/usertools/01/run15
Modified:
   trunk/tests/run_all
Log:
Add tests for usermod and useradd.


Modified: trunk/tests/run_all
===================================================================
--- trunk/tests/run_all	2006-08-06 17:21:08 UTC (rev 1078)
+++ trunk/tests/run_all	2006-08-06 17:23:26 UTC (rev 1079)
@@ -37,6 +37,10 @@
 run_test ./usertools/01/run9
 run_test ./usertools/01/run10
 run_test ./usertools/01/run11
+run_test ./usertools/01/run12
+run_test ./usertools/01/run13
+run_test ./usertools/01/run14
+run_test ./usertools/01/run15
 
 echo "$succeded test(s) passed"
 echo "$failed test(s) failed"

Added: trunk/tests/usertools/01/run12
===================================================================
--- trunk/tests/usertools/01/run12	2006-08-06 17:21:08 UTC (rev 1078)
+++ trunk/tests/usertools/01/run12	2006-08-06 17:23:26 UTC (rev 1079)
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+set -e
+
+cd $(dirname $0)
+
+# Rational:
+# Test that usermod can change the group of an user
+# (-g with non-numerical GID)
+
+save()
+{
+	[ ! -d tmp ] && mkdir tmp
+	for i in passwd group shadow gshadow
+	do
+		[ -f /etc/$i  ] && cp /etc/$i  tmp/$i
+	done
+
+	true
+}
+
+restore()
+{
+	for i in passwd group shadow gshadow
+	do
+		[ -f tmp/$i  ] && cp tmp/$i  /etc/$i  && rm tmp/$i
+	done
+	rmdir tmp
+}
+
+save
+
+# restore the files on exit
+trap 'restore' 0
+
+cp data/{passwd,shadow,group,gshadow} /etc/
+
+lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ")
+lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ")
+lines_group=$(wc -l /etc/group | cut -f1 -d" ")
+lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ")
+
+echo -n "Create user test1..."
+useradd test1
+echo "OK"
+
+uid=$(getent passwd test1|sed -ne "s/test1:x:\([0-9]*\):.*/\\1/p")
+
+echo -n "Change user test1..."
+usermod -g bin test1
+echo "OK"
+
+echo "test if the user was changed"
+echo -n "  passwd..."
+getent passwd test1 |
+	egrep "^test1:x:$uid:2::/home/test1:/bin/sh$"
+echo "  OK"
+echo -n "  group..."
+getent group test1  | egrep "^test1:x:$uid:$"
+echo "  OK"
+echo -n "  shadow..."
+getent shadow test1 | egrep "^test1:!:[0-9]+:0:99999:7:::$"
+echo "  OK"
+echo -n "  gshadow..."
+egrep "^test1:!::$" /etc/gshadow
+echo "  OK"
+# the home directory should not exist
+echo -n "  no homedir..."
+test -d /home/test1 && exit 1 || true
+echo "  OK"
+echo -n "  number of lines"
+test $(( lines_passwd  + 1 )) = $(wc -l /etc/passwd | cut -f1 -d" ")
+echo -n "."
+test $(( lines_group   + 1 )) = $(wc -l /etc/group | cut -f1 -d" ")
+echo -n "."
+test $(( lines_shadow  + 1 )) = $(wc -l /etc/shadow | cut -f1 -d" ")
+echo -n "."
+test $(( lines_gshadow + 1 )) = $(wc -l /etc/gshadow | cut -f1 -d" ")
+echo -n "."
+echo "  OK"
+


Property changes on: trunk/tests/usertools/01/run12
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/tests/usertools/01/run13
===================================================================
--- trunk/tests/usertools/01/run13	2006-08-06 17:21:08 UTC (rev 1078)
+++ trunk/tests/usertools/01/run13	2006-08-06 17:23:26 UTC (rev 1079)
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+set -e
+
+cd $(dirname $0)
+
+# Rational:
+# Test that useradd do not accept negative UID
+
+save()
+{
+	[ ! -d tmp ] && mkdir tmp
+	for i in passwd group shadow gshadow
+	do
+		[ -f /etc/$i  ] && cp /etc/$i  tmp/$i
+	done
+
+	true
+}
+
+restore()
+{
+	for i in passwd group shadow gshadow
+	do
+		[ -f tmp/$i  ] && cp tmp/$i  /etc/$i  && rm tmp/$i
+	done
+	rmdir tmp
+}
+
+save
+
+# restore the files on exit
+trap 'restore' 0
+
+cp data/{passwd,shadow,group,gshadow} /etc/
+
+lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ")
+lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ")
+lines_group=$(wc -l /etc/group | cut -f1 -d" ")
+lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ")
+
+echo -n "Create user test1 with a negative UID..."
+msg=$(useradd -u -1 test1 2>&1) && exit 1 || test "$?" = "3"
+test "$msg" = "useradd: invalid numeric argument '-1'"
+echo "OK"
+
+echo "check that the user was not added"
+echo -n "  passwd..."
+getent passwd test1 && exit 1 || true
+echo "  OK"
+echo -n "  group..."
+getent group test1 && exit 1 || true
+echo "  OK"
+echo -n "  shadow..."
+getent shadow test1 && exit 1 || true
+echo "  OK"
+echo -n "  gshadow..."
+egrep "^test1:!::$" /etc/gshadow && exit 1 || true
+echo "  OK"
+# the home directory should not exist
+echo -n "  no homedir..."
+test -d /home/test1 && exit 1 || true
+echo "  OK"
+echo -n "  number of lines"
+test $(( lines_passwd  )) = $(wc -l /etc/passwd | cut -f1 -d" ")
+echo -n "."
+test $(( lines_group   )) = $(wc -l /etc/group | cut -f1 -d" ")
+echo -n "."
+test $(( lines_shadow  )) = $(wc -l /etc/shadow | cut -f1 -d" ")
+echo -n "."
+test $(( lines_gshadow )) = $(wc -l /etc/gshadow | cut -f1 -d" ")
+echo -n "."
+echo "  OK"
+


Property changes on: trunk/tests/usertools/01/run13
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/tests/usertools/01/run14
===================================================================
--- trunk/tests/usertools/01/run14	2006-08-06 17:21:08 UTC (rev 1078)
+++ trunk/tests/usertools/01/run14	2006-08-06 17:23:26 UTC (rev 1079)
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+set -e
+
+cd $(dirname $0)
+
+# Rational:
+# Test that useradd do not accept UID that will cause overflow
+
+save()
+{
+	[ ! -d tmp ] && mkdir tmp
+	for i in passwd group shadow gshadow
+	do
+		[ -f /etc/$i  ] && cp /etc/$i  tmp/$i
+	done
+
+	true
+}
+
+restore()
+{
+	for i in passwd group shadow gshadow
+	do
+		[ -f tmp/$i  ] && cp tmp/$i  /etc/$i  && rm tmp/$i
+	done
+	rmdir tmp
+}
+
+save
+
+# restore the files on exit
+trap 'restore' 0
+
+cp data/{passwd,shadow,group,gshadow} /etc/
+
+lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ")
+lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ")
+lines_group=$(wc -l /etc/group | cut -f1 -d" ")
+lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ")
+
+echo -n "Create user test1 with UID 2147483648..."
+msg=$(useradd -u 2147483648 test1 2>&1) && exit 1 || test "$?" = "3"
+test "$msg" = "useradd: invalid numeric argument '2147483648'"
+echo "OK"
+
+echo "check that the user was not added"
+echo -n "  passwd..."
+getent passwd test1 && exit 1 || true
+echo "  OK"
+echo -n "  group..."
+getent group test1 && exit 1 || true
+echo "  OK"
+echo -n "  shadow..."
+getent shadow test1 && exit 1 || true
+echo "  OK"
+echo -n "  gshadow..."
+egrep "^test1:!::$" /etc/gshadow && exit 1 || true
+echo "  OK"
+# the home directory should not exist
+echo -n "  no homedir..."
+test -d /home/test1 && exit 1 || true
+echo "  OK"
+echo -n "  number of lines"
+test $(( lines_passwd  )) = $(wc -l /etc/passwd | cut -f1 -d" ")
+echo -n "."
+test $(( lines_group   )) = $(wc -l /etc/group | cut -f1 -d" ")
+echo -n "."
+test $(( lines_shadow  )) = $(wc -l /etc/shadow | cut -f1 -d" ")
+echo -n "."
+test $(( lines_gshadow )) = $(wc -l /etc/gshadow | cut -f1 -d" ")
+echo -n "."
+echo "  OK"
+


Property changes on: trunk/tests/usertools/01/run14
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/tests/usertools/01/run15
===================================================================
--- trunk/tests/usertools/01/run15	2006-08-06 17:21:08 UTC (rev 1078)
+++ trunk/tests/usertools/01/run15	2006-08-06 17:23:26 UTC (rev 1079)
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+set -e
+
+cd $(dirname $0)
+
+# Rational:
+# Test that useradd can add an user with an high UID
+
+save()
+{
+	[ ! -d tmp ] && mkdir tmp
+	for i in passwd group shadow gshadow
+	do
+		[ -f /etc/$i  ] && cp /etc/$i  tmp/$i
+	done
+
+	true
+}
+
+restore()
+{
+	for i in passwd group shadow gshadow
+	do
+		[ -f tmp/$i  ] && cp tmp/$i  /etc/$i  && rm tmp/$i
+	done
+	rmdir tmp
+}
+
+save
+
+# restore the files on exit
+trap 'restore' 0
+
+cp data/{passwd,shadow,group,gshadow} /etc/
+
+lines_passwd=$(wc -l /etc/passwd | cut -f1 -d" ")
+lines_shadow=$(wc -l /etc/shadow | cut -f1 -d" ")
+lines_group=$(wc -l /etc/group | cut -f1 -d" ")
+lines_gshadow=$(wc -l /etc/gshadow | cut -f1 -d" ")
+
+echo -n "Create user test1..."
+uid=2147483647
+useradd -u $uid test1
+echo "OK"
+
+echo "test if the user was added"
+echo -n "  passwd..."
+getent passwd test1 |
+	egrep "^test1:x:$uid:$uid::/home/test1:/bin/sh$"
+echo "  OK"
+echo -n "  group..."
+getent group test1  | egrep "^test1:x:$uid:$"
+echo "  OK"
+echo -n "  shadow..."
+getent shadow test1 | egrep "^test1:!:[0-9]+:0:99999:7:::$"
+echo "  OK"
+echo -n "  gshadow..."
+egrep "^test1:!::$" /etc/gshadow
+echo "  OK"
+# the home directory should not exist
+echo -n "  no homedir..."
+test -d /home/test1 && exit 1 || true
+echo "  OK"
+echo -n "  number of lines"
+test $(( lines_passwd  + 1 )) = $(wc -l /etc/passwd | cut -f1 -d" ")
+echo -n "."
+test $(( lines_group   + 1 )) = $(wc -l /etc/group | cut -f1 -d" ")
+echo -n "."
+test $(( lines_shadow  + 1 )) = $(wc -l /etc/shadow | cut -f1 -d" ")
+echo -n "."
+test $(( lines_gshadow + 1 )) = $(wc -l /etc/gshadow | cut -f1 -d" ")
+echo -n "."
+echo "  OK"
+
+echo -n "delete this user..."
+userdel test1
+echo "OK"
+
+echo "check if the user was deleted"
+echo -n "  no entries..."
+egrep "^test1:" \
+      /etc/passwd /etc/group /etc/shadow /etc/gshadow && exit 1 || true
+echo "  OK"
+echo -n "  no homedir..."
+test -d /home/test1 && exit 1 || true
+echo "  OK"
+echo -n "  number of lines"
+test $lines_passwd  = $(wc -l /etc/passwd | cut -f1 -d" ")
+echo -n "."
+test $lines_group   = $(wc -l /etc/group | cut -f1 -d" ")
+echo -n "."
+test $lines_shadow  = $(wc -l /etc/shadow | cut -f1 -d" ")
+echo -n "."
+test $lines_gshadow = $(wc -l /etc/gshadow | cut -f1 -d" ")
+echo -n "."
+echo "  OK"
+


Property changes on: trunk/tests/usertools/01/run15
___________________________________________________________________
Name: svn:executable
   + *




More information about the Pkg-shadow-commits mailing list