summaryrefslogtreecommitdiff
path: root/comsat
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2011-10-22 03:16:00 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2011-10-22 03:41:03 +0300
commit09372ddfbaeb45facface67dea795f8e9059d899 (patch)
tree6240cdadf4ed6bc9b28f28cc7195e9f737285d38 /comsat
parent2f34f8ae2c0f9207d94629d94f664f728094e990 (diff)
downloadmailutils-09372ddfbaeb45facface67dea795f8e9059d899.tar.gz
mailutils-09372ddfbaeb45facface67dea795f8e9059d899.tar.bz2
Fixes in the testsuite & some minor fixes.
* comsat/comsat.c (main): Use real UID to determine user name. Don't rely on environment variables. * maidag/util.c (maidag_error): Re-initialize va_list before reusing it. * mh/ali.c (ali_print_name_list): Change printing loop to correctly handle empty lists. * mh/mh_whatnow.c (quit): Print newline before returning. * comsat/tests/testsuite.at: Skip tests if run as root. * maidag/tests/forward.at: Skip test if run as root. * mh/tests/ali.at: Ignore comment lines in /etc/passwd and /etc/group. Make sure awk is run with a valid stdin. Some implementations (true awk, in particular) try to close stdin even if it is not used and bail out if unable to do so. * mh/tests/atlocal.in (mimeflt): Make sure awk is run with a valid stdin (see above). * mh/tests/anno.at: Always use semicolon before closing curly brace in sed expressions. * mh/tests/mark.at: Likewise. * mh/tests/pick.at: Likewise. * testsuite/testsuite.inc: Likewise. * mh/tests/comp.at: Reflect changes to mh_whatnow.c. * mh/tests/mhn.at: Don't rely on a particular tar output format.
Diffstat (limited to 'comsat')
-rw-r--r--comsat/comsat.c19
-rw-r--r--comsat/tests/testsuite.at5
2 files changed, 10 insertions, 14 deletions
diff --git a/comsat/comsat.c b/comsat/comsat.c
index 9592e484c..e9a5a220c 100644
--- a/comsat/comsat.c
+++ b/comsat/comsat.c
@@ -578,6 +578,7 @@ main (int argc, char **argv)
if (test_mode)
{
+ struct passwd *pw;
char *user;
argc -= ind;
@@ -591,21 +592,13 @@ main (int argc, char **argv)
exit (EXIT_FAILURE);
}
- user = getenv ("LOGNAME");
- if (!user)
+ pw = getpwuid (getuid ());
+ if (!pw)
{
- user = getenv ("USER");
- if (!user)
- {
- struct passwd *pw = getpwuid (getuid ());
- if (!pw)
- {
- mu_error (_("cannot determine user name"));
- exit (EXIT_FAILURE);
- }
- user = pw->pw_name;
- }
+ mu_error (_("cannot determine user name"));
+ exit (EXIT_FAILURE);
}
+ user = pw->pw_name;
if (biffrc[0] == '.' && (biffrc[1] == '/' ||
(biffrc[1] == '.' && biffrc[2] == '/')))
diff --git a/comsat/tests/testsuite.at b/comsat/tests/testsuite.at
index c61308cff..4ccda9ab0 100644
--- a/comsat/tests/testsuite.at
+++ b/comsat/tests/testsuite.at
@@ -29,11 +29,14 @@ m4_pushdef([comsatcmd],[comsatd --no-site --no-user --file ./biff.rc dnl
dnl ------------------------------------------------------------
dnl BIFFTEST(DESCR, KW, DATA, CMDLINE, [STDOUT = `'], [STDERR = `'])
dnl
+dnl NOTE: The test is skipped if run as root, because .biffrc is
+dnl ignored for root (see open_rc() in action.c
+dnl
m4_pushdef([BIFFTEST],[
AT_SETUP([comsatd: $1])
AT_KEYWORDS([comsatd $2])
$3
-AT_CHECK([$4],[0],[$5],[$6])
+AT_CHECK([test -w / && AT_SKIP_TEST; $4],[0],[$5],[$6])
AT_CLEANUP])
AT_INIT

Return to:

Send suggestions and report system problems to the System administrator.