From: Jiri P. <jpa...@we...> - 2009-01-21 10:06:00
|
On Wednesday 21 January 2009 06:15:16 CAI Qian wrote: > Hi, > > --- On Wed, 1/21/09, Jiri Palecek <jpa...@we...> wrote: > > From: Jiri Palecek <jpa...@we...> > > Subject: Re: Re: [LTP] [PATCH] Fixed syslog for use in Debian > > To: ca...@cc... > > Cc: ltp...@li... > > Date: Wednesday, January 21, 2009, 1:16 AM > > Hello, > > > > CAI Qian wrote: > > > Hi, > > > > > > > > > --- On Mon, 1/19/09, Jiri > > > > Palecek<jpa...@we...> wrote: > > >> From: Jiri Palecek<jpa...@we...> > > >> Subject: [LTP] [PATCH] Fixed syslog for use in > > > > Debian > > > > >> To: > > >> Date: Monday, January 19, 2009, 4:18 PM > > >> Hello, > > >> > > >> this patch fixes the syslog tests on Debian. The > > > > tests > > > > >> currently fail on Debian, because they check for a > > >> nonexistent file. > > >> > > >> Besides that, this patch adds rsyslogd as another > > >> possibility to supported syslog daemons. > > >> > > >> The patch changes the detection of syslog_cmd and > > >> CONFIG_FILE names; they are all detected by > > > > checking for > > > > >> possible files. > > >> > > >> I have not tested it on a different distro than > > > > Debian, but > > > > >> it should work on them too. > > >> > > >> Regards > > >> Jiri Palecek > > >> > > >> --- > > >> testcases/kernel/syscalls/syslog/syslog01 | 92 > > >> +++++++++++----------------- > > >> testcases/kernel/syscalls/syslog/syslog02 | 75 > > >> +++++++++--------------- > > >> testcases/kernel/syscalls/syslog/syslog03 | 78 > > >> +++++++++---------------- > > >> testcases/kernel/syscalls/syslog/syslog04 | 73 > > >> +++++++++-------------- > > >> testcases/kernel/syscalls/syslog/syslog05 | 69 > > >> ++++++++------------- > > >> testcases/kernel/syscalls/syslog/syslog06 | 62 > > >> ++++++++------------ > > >> testcases/kernel/syscalls/syslog/syslog07 | 76 > > >> +++++++++--------------- > > >> testcases/kernel/syscalls/syslog/syslog08 | 75 > > >> +++++++++--------------- > > >> testcases/kernel/syscalls/syslog/syslog09 | 70 > > >> ++++++++-------------- > > >> testcases/kernel/syscalls/syslog/syslog10 | 76 > > >> +++++++++--------------- > > >> 10 files changed, 279 insertions(+), 467 > > > > deletions(-) > > > > > > ... lengthy patch snipped ... > > > > > This patch breaks for systems have > > > > /etc/init.d/rsyslog, > > > > You mean systems which use rsyslog as their syslog daemon? > > Could you please run > > > > sh -x ./syslog01 > > > > and post the result? Also, please state what is your > > distribution and where can > > I get the rsyslog package you use. > > This is because rsyslogd binary is installed in /sbin rather than > /usr/sbin for Fedora 10. The package can be downloaded here, > > http://koji.fedoraproject.org/koji/packageinfo?packageID=4652 I thought it was something like that. There's a similar issue with syslog-ng, so I'll post a patch which fixes this too. > In addition, looks like /etc/rsyslog.conf needs an additional line to > get the test to pass, > > # provides support for local system logging (e.g. via logger command) > $ModLoad imuxsock.so This is only needed when rsyslog doesn't run in compatibility (-c0) mode, isn't it? > Also, the test probably should exit immediately for TBROK. Well, it does, through the cleanup function. The cleanup function has exit $status_flag et the end, the problem is it isn't called in some places. > The following patch for syslog01 works for me, > > --- testcases/kernel/syscalls/syslog/syslog01.orig 2009-01-21 > 13:05:22.444754695 +0800 +++ > testcases/kernel/syscalls/syslog/syslog01 2009-01-21 13:05:32.270754878 > +0800 @@ -91,15 +91,15 @@ > then > CONFIG_FILE="/etc/syslog-ng/syslog-ng.conf" > syslog_cmd="/etc/init.d/syslog-ng" > - elif [ -e /usr/sbin/rsyslogd ] > + elif [ -e /sbin/rsyslogd ] OK, I'll add the path. > then > CONFIG_FILE="/etc/rsyslog.conf" > syslog_cmd="/etc/init.d/rsyslog" > tst_resm TINFO "using rsyslogd; you have to set it to compatibility > mode" else > - tst_resm TBROK "syslogd or syslog-ng no such command" > - status_flag=1 > - cleanup > + tst_resm TBROK "syslogd, syslog-ng, or rsyslogd no such command" > + cleanup > + exit 1 > fi > [ -x $syslog_cmd ] || syslog_cmd="/etc/init.d/syslog" > > @@ -107,6 +107,8 @@ > if [ ! -e $CONFIG_FILE ] > then > tst_resm TBROK "$CONFIG_FILE not found!" > + cleanup > + exit 1 I think this should be changed to TWARN or TINFO. AFAIK it doesn't mean the test will fail, although the handling of this case is not ideal. > else > #Pause if another LTP syslog test is running > while [ -e $CONFIG_FILE.ltpback ] > @@ -117,8 +119,8 @@ > else > tst_resm TBROK "Another syslog test appears to be \ > stuck, could not run" > - status_flag=1 > - exit $status_flag > + cleanup > + exit 1 > fi > done > cp $CONFIG_FILE $CONFIG_FILE.ltpback > @@ -130,8 +132,8 @@ > if ! [ -e "$syslog_cmd" ] > then > tst_resm TBROK "/etc/init.d/syslog no such script" > - status_flag=1 > cleanup > + exit 1 > fi > > > @@ -139,9 +141,12 @@ > # Create the configuration file specific to this test case. > > case "$CONFIG_FILE" in > - "/etc/syslog.conf" |\ > + "/etc/syslog.conf") > + echo "*.crit /var/log/messages" >>$CONFIG_FILE > + echo "mail.info /var/log/maillog" >> $CONFIG_FILE;; > "/etc/rsyslog.conf") > - echo "*.crit /var/log/messages" > $CONFIG_FILE > + echo '$ModLoad imuxsock.so' > $CONFIG_FILE > + echo "*.crit /var/log/messages" >>$CONFIG_FILE > echo "mail.info /var/log/maillog" >> $CONFIG_FILE;; > > "/etc/syslog-ng/syslog-ng.conf") > @@ -172,8 +177,8 @@ > if ! [ -e /var/log/maillog ] > then > tst_resm TBROK "/var/log/maillog no such log file" > - status_flag=1 > cleanup > + exit 1 I'd rather not do this. I will address these in separate patches. Regards Jiri Palecek |