* Re: [LTP] [PATCH] Fixes of the sendfile01 test [not found] <4b2c37e0.6344f10a.4097.4c88SMTPIN_ADDED@mx.google.com> @ 2009-12-19 4:02 ` Garrett Cooper 2009-12-19 21:09 ` Jiří Paleček 0 siblings, 1 reply; 6+ messages in thread From: Garrett Cooper @ 2009-12-19 4:02 UTC (permalink / raw) To: Jiri Palecek; +Cc: ltp-list On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <jpalecek@web.de> wrote: > Hello, > > I've found some problems with the sendfile01 testcase (the one under network/tcp_cmds). This patch fixes them: > > Pass the -6 parameter to gethost if we are to use ipv6 and run the > ipv6 server in that case. Also, fix the awk code for getting the PID: > The PID is the second column, which is $2, not $1. > > Also: > > - initialize addrlen for accept syscall in the server (=> avoid EINVAL) > > - use tst_resm in the client instead of tst_res, to avoid an error message interpreted as a filename > > Regards > Jiri Palecek > > Signed-off-by: Jiri Palecek <jpalecek@web.de> > --- > testcases/network/tcp_cmds/sendfile/SF_Server | 2 +- > testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++----- > testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +- > testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +- > 4 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server b/testcases/network/tcp_cmds/sendfile/SF_Server > index 2383ce4..9933db4 100755 > --- a/testcases/network/tcp_cmds/sendfile/SF_Server > +++ b/testcases/network/tcp_cmds/sendfile/SF_Server > @@ -3,4 +3,4 @@ > cd $3 > exec 1< /dev/null # open descriptor 1 > exec 2< /dev/null # open descriptor 1 > -nohup ./testsf_s $1 $2 & > +nohup ./$4 $1 $2 & > diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 b/testcases/network/tcp_cmds/sendfile/sendfile01 > index 4e93447..7dd4fee 100755 > --- a/testcases/network/tcp_cmds/sendfile/sendfile01 > +++ b/testcases/network/tcp_cmds/sendfile/sendfile01 > @@ -61,7 +61,7 @@ do_setup() > > exists awk diff gethost grep rsh stat > > - IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}') > + IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ {print $2}') > > } > > @@ -81,17 +81,17 @@ do_test() > > mkdir -p $TCtmp > PORT=$$ > - if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR $PORT $LTPROOT/testcases/bin"; then > + if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR $PORT $LTPROOT/testcases/bin $SERVER"; then > end_testcase "rsh failed to $IPADDR as root failed" > fi > sleep 10 > - PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$1}") > + PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$2}") > [ -n "$PID" ] || end_testcase "Could not start server" > > for clnt_fname in $FILES; do > serv_fname=$TCdat/$clnt_fname > SIZE=`stat -c '%s' $serv_fname` > - tst_resm TINFO "Starting $SERVER $IPADDR Client_filename Server_filename Size " > + tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename Server_filename Size " > > $CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE > RetVal=$? > @@ -118,7 +118,7 @@ do_test() > > do_cleanup() > { > - PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$1}") > + PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$2}") > [ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID > tst_cleanup > } > diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c b/testcases/network/tcp_cmds/sendfile/testsf_c.c > index 52b9ecf..7683927 100644 > --- a/testcases/network/tcp_cmds/sendfile/testsf_c.c > +++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c > @@ -120,7 +120,7 @@ main (int argc, char *argv[]) > } > } > > - tst_res(TINFO, "Asking for remote file: %s", serv_fname); > + tst_resm(TINFO, "Asking for remote file: %s", serv_fname); > > tst_resm(TINFO, "File %s received\n", argv[4]); > > diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c b/testcases/network/tcp_cmds/sendfile/testsf_s.c > index bc77712..38baf8c 100644 > --- a/testcases/network/tcp_cmds/sendfile/testsf_s.c > +++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c > @@ -92,7 +92,7 @@ main(int argc, char *argv[]) > tst_exit(); > } > > - socklen_t fromlen; > + socklen_t fromlen = sizeof(from); > > /* process connections */ > while (1) { Hi Jiri, I agree with you on all points, but the ps column: gcooper@orangebox ~ $ ps ef PID TTY STAT TIME COMMAND 4631 tty1 S 0:00 -bash TERM=linux HOME=/home/gcooper SHELL=/bin/bash U 4636 tty1 S+ 0:00 \_ /bin/sh /usr/bin/startx MANPATH=/etc/java-config- 4652 tty1 S+ 0:00 \_ xinit /etc/X11/xinit/xinitrc -- -nolisten tcp 4667 tty1 S 0:00 \_ /bin/sh /etc/X11/xinit/xinitrc DISPLAY=:0 4682 tty1 S 0:00 \_ /bin/sh /etc/xdg/xfce4/xinitrc MANPAT 4699 tty1 S 0:00 \_ /usr/bin/xfce4-session MANPATH=/e 4705 tty1 S 0:02 \_ xfwm4 --sm-client-id 2d6757e3 4707 tty1 Sl 0:03 \_ Thunar --sm-client-id 276f4b6 4711 tty1 S 0:06 \_ xfce4-panel -r --sm-client-id 4716 tty1 Sl 0:00 | \_ /usr/libexec/xfce4/panel- 4724 tty1 Sl 0:00 | \_ /usr/libexec/xfce4/panel- 4712 tty1 S 0:01 \_ xfdesktop --sm-client-id 293b 21073 tty1 S 0:00 /usr/bin/xterm MANPATH=/etc/java-config-2/current-sys 21075 pts/1 Ss 0:00 \_ bash MANPATH=/etc/java-config-2/current-system-vm 21080 pts/1 R+ 0:00 \_ ps ef MANPATH=/etc/java-config-2/current-syst 3396 tty1 S 0:00 /usr/bin/xterm MANPATH=/etc/java-config-2/current-sys 3398 pts/0 Ss 0:00 \_ bash MANPATH=/etc/java-config-2/current-system-vm 21065 pts/0 S+ 0:00 \_ vim sendfile01 MANPATH=/etc/java-config-2/cur 3350 tty1 Sl 1:02 /usr/bin/firefox MANPATH=/etc/java-config-2/current-s 30806 tty1 Sl 5:26 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath /usr/sha 4791 tty1 S 0:00 /usr/libexec/uim-helper-server MANPATH=/etc/java-conf 4714 tty1 S 0:00 xfce4-settings-helper --display :0.0 --sm-client-id 2 4706 tty1 S 0:00 xfsettingsd MANPATH=/etc/java-config-2/current-system 4696 tty1 S 0:00 /usr/bin/dbus-launch --sh-syntax --exit-with-session gcooper@orangebox ~ $ ps --version procps version 3.2.8 So to bypass this issue I used ps eopid,cmd: 400 [crypto/2] 401 [crypto/3] 587 [iscsi_eh] 593 [scsi_eh_0] 596 [scsi_eh_1] 599 [scsi_eh_2] 602 [scsi_eh_3] 605 [scsi_eh_4] 608 [scsi_eh_5] 692 [kpsmoused] 700 [kstriped] 703 [kondemand/0] 704 [kondemand/1] 705 [kondemand/2] 706 [kondemand/3] 729 [usbhid_resumer] 809 [reiserfs/0] 810 [reiserfs/1] 811 [reiserfs/2] 812 [reiserfs/3] 1906 /sbin/udevd --daemon 2303 /usr/sbin/acpid 3350 /usr/bin/firefox 3396 /usr/bin/xterm 3398 bash 3535 supervising syslog-ng 3536 /usr/sbin/syslog-ng 3596 /usr/bin/dbus-daemon --system 3653 /usr/sbin/crond 3707 /usr/sbin/gpm -m /dev/input/mice -t ps2 3768 /usr/sbin/hald --use-syslog --verbose=no 3771 hald-runner 3774 hald-addon-input: Listening on /dev/input/event4 /dev/input/event3 /dev/in 3787 hald-addon-storage: polling /dev/sr0 (every 2 sec) 3790 /usr/libexec/hald-addon-cpufreq 3791 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket 4250 /sbin/dhcpcd -h orangebox eth0 4339 /sbin/portmap 4400 /sbin/rpc.statd --no-notify 4512 /usr/sbin/sshd 4580 /sbin/agetty 38400 tty2 linux 4581 /sbin/agetty 38400 tty3 linux 4582 /sbin/agetty 38400 tty4 linux 4583 /sbin/agetty 38400 tty5 linux 4584 /sbin/agetty 38400 tty6 linux 4613 [rpciod/0] 4614 [rpciod/1] 4615 [rpciod/2] 4616 [rpciod/3] 4622 [nfsiod] 4627 [lockd] 4629 /bin/login -- 4631 -bash 4636 /bin/sh /usr/bin/startx 4652 xinit /etc/X11/xinit/xinitrc -- -nolisten tcp -br -auth /home/gcooper/.ser 4653 X :0 -nolisten tcp -br -auth /home/gcooper/.serverauth.4636 -deferglyphs 1 4667 /bin/sh /etc/X11/xinit/xinitrc 4682 /bin/sh /etc/xdg/xfce4/xinitrc 4691 /usr/bin/ssh-agent -s 4696 /usr/bin/dbus-launch --sh-syntax --exit-with-session 4697 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session 4699 /usr/bin/xfce4-session 4701 /usr/libexec/xfconfd 4705 xfwm4 --sm-client-id 2d6757e33-4d33-453a-ba49-da83d783acde --display :0.0 4706 xfsettingsd 4707 Thunar --sm-client-id 276f4b61e-2bba-4207-8e5e-feed55cbe9b4 --daemon 4709 /usr/libexec/gam_server 4711 xfce4-panel -r --sm-client-id 260365c00-2a57-4640-9170-8e74ce91bf1e 4712 xfdesktop --sm-client-id 293b54ac0-804e-45e2-9ae9-2b9adbaeddde --display : 4714 xfce4-settings-helper --display :0.0 --sm-client-id 20a17a11f-321d-40f4-87 4716 /usr/libexec/xfce4/panel-plugins/xfce4-menu-plugin socket_id 18874394 name 4723 /usr/libexec/gvfsd 4724 /usr/libexec/xfce4/panel-plugins/xfce4-mixer-plugin socket_id 18874431 nam 4791 /usr/libexec/uim-helper-server 21065 vim sendfile01 21073 /usr/bin/xterm 21075 bash 21113 ps -eopid,cmd 28404 /usr/libexec/gvfs-hal-volume-monitor 28689 /sbin/udevd --daemon 28690 /sbin/udevd --daemon 30806 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath /usr/share/bcprov/lib/bcprov. 30860 xchat 31904 /usr/libexec/gconfd-2 gcooper@orangebox ~ $ ps -eopid,cmd Do you agree that this is an ok choice? Thanks, -Garrett ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] [PATCH] Fixes of the sendfile01 test 2009-12-19 4:02 ` [LTP] [PATCH] Fixes of the sendfile01 test Garrett Cooper @ 2009-12-19 21:09 ` Jiří Paleček 2009-12-20 1:20 ` Garrett Cooper 0 siblings, 1 reply; 6+ messages in thread From: Jiří Paleček @ 2009-12-19 21:09 UTC (permalink / raw) To: Garrett Cooper; +Cc: ltp-list On Sat, 19 Dec 2009 05:02:45 +0100, Garrett Cooper <yanegomi@gmail.com> wrote: > On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <jpalecek@web.de> wrote: >> Hello, >> >> I've found some problems with the sendfile01 testcase (the one under >> network/tcp_cmds). This patch fixes them: >> >> Pass the -6 parameter to gethost if we are to use ipv6 and run the >> ipv6 server in that case. Also, fix the awk code for getting the PID: >> The PID is the second column, which is $2, not $1. >> >> Also: >> >> - initialize addrlen for accept syscall in the server (=> avoid EINVAL) >> >> - use tst_resm in the client instead of tst_res, to avoid an error >> message interpreted as a filename >> >> Regards >> Jiri Palecek >> >> Signed-off-by: Jiri Palecek <jpalecek@web.de> >> --- >> testcases/network/tcp_cmds/sendfile/SF_Server | 2 +- >> testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++----- >> testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +- >> testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +- >> 4 files changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server >> b/testcases/network/tcp_cmds/sendfile/SF_Server >> index 2383ce4..9933db4 100755 >> --- a/testcases/network/tcp_cmds/sendfile/SF_Server >> +++ b/testcases/network/tcp_cmds/sendfile/SF_Server >> @@ -3,4 +3,4 @@ >> cd $3 >> exec 1< /dev/null # open descriptor 1 >> exec 2< /dev/null # open descriptor 1 >> -nohup ./testsf_s $1 $2 & >> +nohup ./$4 $1 $2 & >> diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 >> b/testcases/network/tcp_cmds/sendfile/sendfile01 >> index 4e93447..7dd4fee 100755 >> --- a/testcases/network/tcp_cmds/sendfile/sendfile01 >> +++ b/testcases/network/tcp_cmds/sendfile/sendfile01 >> @@ -61,7 +61,7 @@ do_setup() >> >> exists awk diff gethost grep rsh stat >> >> - IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}') >> + IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ >> {print $2}') >> >> } >> >> @@ -81,17 +81,17 @@ do_test() >> >> mkdir -p $TCtmp >> PORT=$$ >> - if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR >> $PORT $LTPROOT/testcases/bin"; then >> + if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR >> $PORT $LTPROOT/testcases/bin $SERVER"; then >> end_testcase "rsh failed to $IPADDR as root failed" >> fi >> sleep 10 >> - PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >> /$SERVER/ && /$PORT/ {print \$1}") >> + PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >> /$SERVER/ && /$PORT/ {print \$2}") >> [ -n "$PID" ] || end_testcase "Could not start server" >> >> for clnt_fname in $FILES; do >> serv_fname=$TCdat/$clnt_fname >> SIZE=`stat -c '%s' $serv_fname` >> - tst_resm TINFO "Starting $SERVER $IPADDR Client_filename >> Server_filename Size " >> + tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename >> Server_filename Size " >> >> $CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE >> RetVal=$? >> @@ -118,7 +118,7 @@ do_test() >> >> do_cleanup() >> { >> - PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >> /$SERVER/ && /$PORT/ {print \$1}") >> + PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >> /$SERVER/ && /$PORT/ {print \$2}") >> [ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID >> tst_cleanup >> } >> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c >> b/testcases/network/tcp_cmds/sendfile/testsf_c.c >> index 52b9ecf..7683927 100644 >> --- a/testcases/network/tcp_cmds/sendfile/testsf_c.c >> +++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c >> @@ -120,7 +120,7 @@ main (int argc, char *argv[]) >> } >> } >> >> - tst_res(TINFO, "Asking for remote file: %s", serv_fname); >> + tst_resm(TINFO, "Asking for remote file: %s", serv_fname); >> >> tst_resm(TINFO, "File %s received\n", argv[4]); >> >> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c >> b/testcases/network/tcp_cmds/sendfile/testsf_s.c >> index bc77712..38baf8c 100644 >> --- a/testcases/network/tcp_cmds/sendfile/testsf_s.c >> +++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c >> @@ -92,7 +92,7 @@ main(int argc, char *argv[]) >> tst_exit(); >> } >> >> - socklen_t fromlen; >> + socklen_t fromlen = sizeof(from); >> >> /* process connections */ >> while (1) { > > Hi Jiri, > I agree with you on all points, but the ps column: > > gcooper@orangebox ~ $ ps ef > PID TTY STAT TIME COMMAND > 4631 tty1 S 0:00 -bash TERM=linux HOME=/home/gcooper > SHELL=/bin/bash U > 4636 tty1 S+ 0:00 \_ /bin/sh /usr/bin/startx > MANPATH=/etc/java-config- > 4652 tty1 S+ 0:00 \_ xinit /etc/X11/xinit/xinitrc -- > -nolisten tcp > 4667 tty1 S 0:00 \_ /bin/sh /etc/X11/xinit/xinitrc > DISPLAY=:0 > 4682 tty1 S 0:00 \_ /bin/sh > /etc/xdg/xfce4/xinitrc MANPAT > 4699 tty1 S 0:00 \_ /usr/bin/xfce4-session > MANPATH=/e > 4705 tty1 S 0:02 \_ xfwm4 --sm-client-id > 2d6757e3 > 4707 tty1 Sl 0:03 \_ Thunar --sm-client-id > 276f4b6 > 4711 tty1 S 0:06 \_ xfce4-panel -r > --sm-client-id > 4716 tty1 Sl 0:00 | \_ > /usr/libexec/xfce4/panel- > 4724 tty1 Sl 0:00 | \_ > /usr/libexec/xfce4/panel- > 4712 tty1 S 0:01 \_ xfdesktop > --sm-client-id 293b > 21073 tty1 S 0:00 /usr/bin/xterm > MANPATH=/etc/java-config-2/current-sys > 21075 pts/1 Ss 0:00 \_ bash > MANPATH=/etc/java-config-2/current-system-vm > 21080 pts/1 R+ 0:00 \_ ps ef > MANPATH=/etc/java-config-2/current-syst > 3396 tty1 S 0:00 /usr/bin/xterm > MANPATH=/etc/java-config-2/current-sys > 3398 pts/0 Ss 0:00 \_ bash > MANPATH=/etc/java-config-2/current-system-vm > 21065 pts/0 S+ 0:00 \_ vim sendfile01 > MANPATH=/etc/java-config-2/cur > 3350 tty1 Sl 1:02 /usr/bin/firefox > MANPATH=/etc/java-config-2/current-s > 30806 tty1 Sl 5:26 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath > /usr/sha > 4791 tty1 S 0:00 /usr/libexec/uim-helper-server > MANPATH=/etc/java-conf > 4714 tty1 S 0:00 xfce4-settings-helper --display :0.0 > --sm-client-id 2 > 4706 tty1 S 0:00 xfsettingsd > MANPATH=/etc/java-config-2/current-system > 4696 tty1 S 0:00 /usr/bin/dbus-launch --sh-syntax > --exit-with-session > gcooper@orangebox ~ $ ps --version > procps version 3.2.8 > > So to bypass this issue I used ps eopid,cmd: > > 400 [crypto/2] > 401 [crypto/3] > 587 [iscsi_eh] > 593 [scsi_eh_0] > 596 [scsi_eh_1] > 599 [scsi_eh_2] > 602 [scsi_eh_3] > 605 [scsi_eh_4] > 608 [scsi_eh_5] > 692 [kpsmoused] > 700 [kstriped] > 703 [kondemand/0] > 704 [kondemand/1] > 705 [kondemand/2] > 706 [kondemand/3] > 729 [usbhid_resumer] > 809 [reiserfs/0] > 810 [reiserfs/1] > 811 [reiserfs/2] > 812 [reiserfs/3] > 1906 /sbin/udevd --daemon > 2303 /usr/sbin/acpid > 3350 /usr/bin/firefox > 3396 /usr/bin/xterm > 3398 bash > 3535 supervising syslog-ng > 3536 /usr/sbin/syslog-ng > 3596 /usr/bin/dbus-daemon --system > 3653 /usr/sbin/crond > 3707 /usr/sbin/gpm -m /dev/input/mice -t ps2 > 3768 /usr/sbin/hald --use-syslog --verbose=no > 3771 hald-runner > 3774 hald-addon-input: Listening on /dev/input/event4 /dev/input/event3 > /dev/in > 3787 hald-addon-storage: polling /dev/sr0 (every 2 sec) > 3790 /usr/libexec/hald-addon-cpufreq > 3791 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket > 4250 /sbin/dhcpcd -h orangebox eth0 > 4339 /sbin/portmap > 4400 /sbin/rpc.statd --no-notify > 4512 /usr/sbin/sshd > 4580 /sbin/agetty 38400 tty2 linux > 4581 /sbin/agetty 38400 tty3 linux > 4582 /sbin/agetty 38400 tty4 linux > 4583 /sbin/agetty 38400 tty5 linux > 4584 /sbin/agetty 38400 tty6 linux > 4613 [rpciod/0] > 4614 [rpciod/1] > 4615 [rpciod/2] > 4616 [rpciod/3] > 4622 [nfsiod] > 4627 [lockd] > 4629 /bin/login -- > 4631 -bash > 4636 /bin/sh /usr/bin/startx > 4652 xinit /etc/X11/xinit/xinitrc -- -nolisten tcp -br -auth > /home/gcooper/.ser > 4653 X :0 -nolisten tcp -br -auth /home/gcooper/.serverauth.4636 > -deferglyphs 1 > 4667 /bin/sh /etc/X11/xinit/xinitrc > 4682 /bin/sh /etc/xdg/xfce4/xinitrc > 4691 /usr/bin/ssh-agent -s > 4696 /usr/bin/dbus-launch --sh-syntax --exit-with-session > 4697 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 > --session > 4699 /usr/bin/xfce4-session > 4701 /usr/libexec/xfconfd > 4705 xfwm4 --sm-client-id 2d6757e33-4d33-453a-ba49-da83d783acde > --display :0.0 > 4706 xfsettingsd > 4707 Thunar --sm-client-id 276f4b61e-2bba-4207-8e5e-feed55cbe9b4 > --daemon > 4709 /usr/libexec/gam_server > 4711 xfce4-panel -r --sm-client-id 260365c00-2a57-4640-9170-8e74ce91bf1e > 4712 xfdesktop --sm-client-id 293b54ac0-804e-45e2-9ae9-2b9adbaeddde > --display : > 4714 xfce4-settings-helper --display :0.0 --sm-client-id > 20a17a11f-321d-40f4-87 > 4716 /usr/libexec/xfce4/panel-plugins/xfce4-menu-plugin socket_id > 18874394 name > 4723 /usr/libexec/gvfsd > 4724 /usr/libexec/xfce4/panel-plugins/xfce4-mixer-plugin socket_id > 18874431 nam > 4791 /usr/libexec/uim-helper-server > 21065 vim sendfile01 > 21073 /usr/bin/xterm > 21075 bash > 21113 ps -eopid,cmd > 28404 /usr/libexec/gvfs-hal-volume-monitor > 28689 /sbin/udevd --daemon > 28690 /sbin/udevd --daemon > 30806 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath > /usr/share/bcprov/lib/bcprov. > 30860 xchat > 31904 /usr/libexec/gconfd-2 > gcooper@orangebox ~ $ ps -eopid,cmd > > Do you agree that this is an ok choice? Yes, it is arguably more robust and readable (although I don't think your example shows the need for it). Note that there are differences between ps -ef, ps ef and ps -e f: jirka@debian:~$ ps -ef | head -10 UID PID PPID C STIME TTY TIME CMD root 1 0 0 21:15 ? 00:00:00 init [2] root 2 0 0 21:15 ? 00:00:00 [kthreadd] root 3 2 0 21:15 ? 00:00:00 [migration/0] root 4 2 0 21:15 ? 00:00:00 [ksoftirqd/0] root 5 2 0 21:15 ? 00:00:00 [events/0] root 6 2 0 21:15 ? 00:00:00 [khelper] root 35 2 0 21:15 ? 00:00:00 [kblockd/0] root 36 2 0 21:15 ? 00:00:00 [kacpid] root 37 2 0 21:15 ? 00:00:00 [kacpi_notify] jirka@debian:~$ ps ef | head -10 PID TTY STAT TIME COMMAND 7465 pts/12 Ss 0:00 /bin/bash --noediting -i PWD=/home/jirka TERM=dumb TERMCAP= COLUMNS=136 EMACS=t INSIDE_EMACS=22.3.1,comint GT 7498 pts/12 R+ 0:00 \_ ps ef KDE_MULTIHEAD=false KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb XDG_SESSION_COOKIE=e07c53451a9 7499 pts/12 D+ 0:00 \_ head -10 KDE_MULTIHEAD=false KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb XDG_SESSION_COOKIE=e07c5345 6355 pts/10 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO 6343 pts/9 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO 6337 pts/8 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO 6325 pts/7 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO 6315 pts/6 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO 6300 pts/5 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO jirka@debian:~$ ps -e f | head -10 PID TTY STAT TIME COMMAND 2 ? S< 0:00 [kthreadd] 3 ? S< 0:00 \_ [migration/0] 4 ? S< 0:00 \_ [ksoftirqd/0] 5 ? S< 0:00 \_ [events/0] 6 ? S< 0:00 \_ [khelper] 35 ? S< 0:00 \_ [kblockd/0] 36 ? S< 0:00 \_ [kacpid] 37 ? S< 0:00 \_ [kacpi_notify] 100 ? S< 0:00 \_ [kseriod] jirka@debian:~$ So you actually used a different command than the one that's used in the testcase. (the first listing is consistent with POSIX specification) Regards Jiri Palecek ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] [PATCH] Fixes of the sendfile01 test 2009-12-19 21:09 ` Jiří Paleček @ 2009-12-20 1:20 ` Garrett Cooper 2009-12-20 11:25 ` Jiří Paleček 0 siblings, 1 reply; 6+ messages in thread From: Garrett Cooper @ 2009-12-20 1:20 UTC (permalink / raw) To: Jiří Paleček; +Cc: ltp-list 2009/12/19 Jiří Paleček <jpalecek@web.de>: > On Sat, 19 Dec 2009 05:02:45 +0100, Garrett Cooper <yanegomi@gmail.com> > wrote: > >> On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <jpalecek@web.de> wrote: >>> >>> Hello, >>> >>> I've found some problems with the sendfile01 testcase (the one under >>> network/tcp_cmds). This patch fixes them: >>> >>> Pass the -6 parameter to gethost if we are to use ipv6 and run the >>> ipv6 server in that case. Also, fix the awk code for getting the PID: >>> The PID is the second column, which is $2, not $1. >>> >>> Also: >>> >>> - initialize addrlen for accept syscall in the server (=> avoid EINVAL) >>> >>> - use tst_resm in the client instead of tst_res, to avoid an error >>> message interpreted as a filename >>> >>> Regards >>> Jiri Palecek >>> >>> Signed-off-by: Jiri Palecek <jpalecek@web.de> >>> --- >>> testcases/network/tcp_cmds/sendfile/SF_Server | 2 +- >>> testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++----- >>> testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +- >>> testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +- >>> 4 files changed, 8 insertions(+), 8 deletions(-) >>> >>> diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server >>> b/testcases/network/tcp_cmds/sendfile/SF_Server >>> index 2383ce4..9933db4 100755 >>> --- a/testcases/network/tcp_cmds/sendfile/SF_Server >>> +++ b/testcases/network/tcp_cmds/sendfile/SF_Server >>> @@ -3,4 +3,4 @@ >>> cd $3 >>> exec 1< /dev/null # open descriptor 1 >>> exec 2< /dev/null # open descriptor 1 >>> -nohup ./testsf_s $1 $2 & >>> +nohup ./$4 $1 $2 & >>> diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 >>> b/testcases/network/tcp_cmds/sendfile/sendfile01 >>> index 4e93447..7dd4fee 100755 >>> --- a/testcases/network/tcp_cmds/sendfile/sendfile01 >>> +++ b/testcases/network/tcp_cmds/sendfile/sendfile01 >>> @@ -61,7 +61,7 @@ do_setup() >>> >>> exists awk diff gethost grep rsh stat >>> >>> - IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}') >>> + IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ >>> {print $2}') >>> >>> } >>> >>> @@ -81,17 +81,17 @@ do_test() >>> >>> mkdir -p $TCtmp >>> PORT=$$ >>> - if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR >>> $PORT $LTPROOT/testcases/bin"; then >>> + if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR >>> $PORT $LTPROOT/testcases/bin $SERVER"; then >>> end_testcase "rsh failed to $IPADDR as root failed" >>> fi >>> sleep 10 >>> - PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ >>> && /$PORT/ {print \$1}") >>> + PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ >>> && /$PORT/ {print \$2}") >>> [ -n "$PID" ] || end_testcase "Could not start server" >>> >>> for clnt_fname in $FILES; do >>> serv_fname=$TCdat/$clnt_fname >>> SIZE=`stat -c '%s' $serv_fname` >>> - tst_resm TINFO "Starting $SERVER $IPADDR Client_filename >>> Server_filename Size " >>> + tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename >>> Server_filename Size " >>> >>> $CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE >>> RetVal=$? >>> @@ -118,7 +118,7 @@ do_test() >>> >>> do_cleanup() >>> { >>> - PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>> /$SERVER/ && /$PORT/ {print \$1}") >>> + PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>> /$SERVER/ && /$PORT/ {print \$2}") >>> [ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID >>> tst_cleanup >>> } >>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>> b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>> index 52b9ecf..7683927 100644 >>> --- a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>> @@ -120,7 +120,7 @@ main (int argc, char *argv[]) >>> } >>> } >>> >>> - tst_res(TINFO, "Asking for remote file: %s", serv_fname); >>> + tst_resm(TINFO, "Asking for remote file: %s", serv_fname); >>> >>> tst_resm(TINFO, "File %s received\n", argv[4]); >>> >>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>> b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>> index bc77712..38baf8c 100644 >>> --- a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>> @@ -92,7 +92,7 @@ main(int argc, char *argv[]) >>> tst_exit(); >>> } >>> >>> - socklen_t fromlen; >>> + socklen_t fromlen = sizeof(from); >>> >>> /* process connections */ >>> while (1) { >> >> Hi Jiri, >> I agree with you on all points, but the ps column: >> >> gcooper@orangebox ~ $ ps ef >> PID TTY STAT TIME COMMAND >> 4631 tty1 S 0:00 -bash TERM=linux HOME=/home/gcooper >> SHELL=/bin/bash U >> 4636 tty1 S+ 0:00 \_ /bin/sh /usr/bin/startx >> MANPATH=/etc/java-config- >> 4652 tty1 S+ 0:00 \_ xinit /etc/X11/xinit/xinitrc -- >> -nolisten tcp >> 4667 tty1 S 0:00 \_ /bin/sh /etc/X11/xinit/xinitrc >> DISPLAY=:0 >> 4682 tty1 S 0:00 \_ /bin/sh /etc/xdg/xfce4/xinitrc >> MANPAT >> 4699 tty1 S 0:00 \_ /usr/bin/xfce4-session >> MANPATH=/e >> 4705 tty1 S 0:02 \_ xfwm4 --sm-client-id >> 2d6757e3 >> 4707 tty1 Sl 0:03 \_ Thunar --sm-client-id >> 276f4b6 >> 4711 tty1 S 0:06 \_ xfce4-panel -r >> --sm-client-id >> 4716 tty1 Sl 0:00 | \_ >> /usr/libexec/xfce4/panel- >> 4724 tty1 Sl 0:00 | \_ >> /usr/libexec/xfce4/panel- >> 4712 tty1 S 0:01 \_ xfdesktop >> --sm-client-id 293b >> 21073 tty1 S 0:00 /usr/bin/xterm >> MANPATH=/etc/java-config-2/current-sys >> 21075 pts/1 Ss 0:00 \_ bash >> MANPATH=/etc/java-config-2/current-system-vm >> 21080 pts/1 R+ 0:00 \_ ps ef >> MANPATH=/etc/java-config-2/current-syst >> 3396 tty1 S 0:00 /usr/bin/xterm >> MANPATH=/etc/java-config-2/current-sys >> 3398 pts/0 Ss 0:00 \_ bash >> MANPATH=/etc/java-config-2/current-system-vm >> 21065 pts/0 S+ 0:00 \_ vim sendfile01 >> MANPATH=/etc/java-config-2/cur >> 3350 tty1 Sl 1:02 /usr/bin/firefox >> MANPATH=/etc/java-config-2/current-s >> 30806 tty1 Sl 5:26 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >> /usr/sha >> 4791 tty1 S 0:00 /usr/libexec/uim-helper-server >> MANPATH=/etc/java-conf >> 4714 tty1 S 0:00 xfce4-settings-helper --display :0.0 >> --sm-client-id 2 >> 4706 tty1 S 0:00 xfsettingsd >> MANPATH=/etc/java-config-2/current-system >> 4696 tty1 S 0:00 /usr/bin/dbus-launch --sh-syntax >> --exit-with-session >> gcooper@orangebox ~ $ ps --version >> procps version 3.2.8 >> >> So to bypass this issue I used ps eopid,cmd: >> >> 400 [crypto/2] >> 401 [crypto/3] >> 587 [iscsi_eh] >> 593 [scsi_eh_0] >> 596 [scsi_eh_1] >> 599 [scsi_eh_2] >> 602 [scsi_eh_3] >> 605 [scsi_eh_4] >> 608 [scsi_eh_5] >> 692 [kpsmoused] >> 700 [kstriped] >> 703 [kondemand/0] >> 704 [kondemand/1] >> 705 [kondemand/2] >> 706 [kondemand/3] >> 729 [usbhid_resumer] >> 809 [reiserfs/0] >> 810 [reiserfs/1] >> 811 [reiserfs/2] >> 812 [reiserfs/3] >> 1906 /sbin/udevd --daemon >> 2303 /usr/sbin/acpid >> 3350 /usr/bin/firefox >> 3396 /usr/bin/xterm >> 3398 bash >> 3535 supervising syslog-ng >> 3536 /usr/sbin/syslog-ng >> 3596 /usr/bin/dbus-daemon --system >> 3653 /usr/sbin/crond >> 3707 /usr/sbin/gpm -m /dev/input/mice -t ps2 >> 3768 /usr/sbin/hald --use-syslog --verbose=no >> 3771 hald-runner >> 3774 hald-addon-input: Listening on /dev/input/event4 /dev/input/event3 >> /dev/in >> 3787 hald-addon-storage: polling /dev/sr0 (every 2 sec) >> 3790 /usr/libexec/hald-addon-cpufreq >> 3791 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket >> 4250 /sbin/dhcpcd -h orangebox eth0 >> 4339 /sbin/portmap >> 4400 /sbin/rpc.statd --no-notify >> 4512 /usr/sbin/sshd >> 4580 /sbin/agetty 38400 tty2 linux >> 4581 /sbin/agetty 38400 tty3 linux >> 4582 /sbin/agetty 38400 tty4 linux >> 4583 /sbin/agetty 38400 tty5 linux >> 4584 /sbin/agetty 38400 tty6 linux >> 4613 [rpciod/0] >> 4614 [rpciod/1] >> 4615 [rpciod/2] >> 4616 [rpciod/3] >> 4622 [nfsiod] >> 4627 [lockd] >> 4629 /bin/login -- >> 4631 -bash >> 4636 /bin/sh /usr/bin/startx >> 4652 xinit /etc/X11/xinit/xinitrc -- -nolisten tcp -br -auth >> /home/gcooper/.ser >> 4653 X :0 -nolisten tcp -br -auth /home/gcooper/.serverauth.4636 >> -deferglyphs 1 >> 4667 /bin/sh /etc/X11/xinit/xinitrc >> 4682 /bin/sh /etc/xdg/xfce4/xinitrc >> 4691 /usr/bin/ssh-agent -s >> 4696 /usr/bin/dbus-launch --sh-syntax --exit-with-session >> 4697 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 >> --session >> 4699 /usr/bin/xfce4-session >> 4701 /usr/libexec/xfconfd >> 4705 xfwm4 --sm-client-id 2d6757e33-4d33-453a-ba49-da83d783acde --display >> :0.0 >> 4706 xfsettingsd >> 4707 Thunar --sm-client-id 276f4b61e-2bba-4207-8e5e-feed55cbe9b4 --daemon >> 4709 /usr/libexec/gam_server >> 4711 xfce4-panel -r --sm-client-id 260365c00-2a57-4640-9170-8e74ce91bf1e >> 4712 xfdesktop --sm-client-id 293b54ac0-804e-45e2-9ae9-2b9adbaeddde >> --display : >> 4714 xfce4-settings-helper --display :0.0 --sm-client-id >> 20a17a11f-321d-40f4-87 >> 4716 /usr/libexec/xfce4/panel-plugins/xfce4-menu-plugin socket_id >> 18874394 name >> 4723 /usr/libexec/gvfsd >> 4724 /usr/libexec/xfce4/panel-plugins/xfce4-mixer-plugin socket_id >> 18874431 nam >> 4791 /usr/libexec/uim-helper-server >> 21065 vim sendfile01 >> 21073 /usr/bin/xterm >> 21075 bash >> 21113 ps -eopid,cmd >> 28404 /usr/libexec/gvfs-hal-volume-monitor >> 28689 /sbin/udevd --daemon >> 28690 /sbin/udevd --daemon >> 30806 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >> /usr/share/bcprov/lib/bcprov. >> 30860 xchat >> 31904 /usr/libexec/gconfd-2 >> gcooper@orangebox ~ $ ps -eopid,cmd >> >> Do you agree that this is an ok choice? > > Yes, it is arguably more robust and readable (although I don't think your > example shows the need for it). > > Note that there are differences between ps -ef, ps ef and ps -e f: > > jirka@debian:~$ ps -ef | head -10 > UID PID PPID C STIME TTY TIME CMD > root 1 0 0 21:15 ? 00:00:00 init [2] > root 2 0 0 21:15 ? 00:00:00 [kthreadd] > root 3 2 0 21:15 ? 00:00:00 [migration/0] > root 4 2 0 21:15 ? 00:00:00 [ksoftirqd/0] > root 5 2 0 21:15 ? 00:00:00 [events/0] > root 6 2 0 21:15 ? 00:00:00 [khelper] > root 35 2 0 21:15 ? 00:00:00 [kblockd/0] > root 36 2 0 21:15 ? 00:00:00 [kacpid] > root 37 2 0 21:15 ? 00:00:00 [kacpi_notify] > jirka@debian:~$ ps ef | head -10 > PID TTY STAT TIME COMMAND > 7465 pts/12 Ss 0:00 /bin/bash --noediting -i PWD=/home/jirka > TERM=dumb TERMCAP= COLUMNS=136 EMACS=t INSIDE_EMACS=22.3.1,comint GT > 7498 pts/12 R+ 0:00 \_ ps ef KDE_MULTIHEAD=false > KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb > XDG_SESSION_COOKIE=e07c53451a9 > 7499 pts/12 D+ 0:00 \_ head -10 KDE_MULTIHEAD=false > KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb XDG_SESSION_COOKIE=e07c5345 > 6355 pts/10 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local > GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO > 6343 pts/9 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local > GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO > 6337 pts/8 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local > GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO > 6325 pts/7 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local > GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO > 6315 pts/6 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local > GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO > 6300 pts/5 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local > GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO > jirka@debian:~$ ps -e f | head -10 > PID TTY STAT TIME COMMAND > 2 ? S< 0:00 [kthreadd] > 3 ? S< 0:00 \_ [migration/0] > 4 ? S< 0:00 \_ [ksoftirqd/0] > 5 ? S< 0:00 \_ [events/0] > 6 ? S< 0:00 \_ [khelper] > 35 ? S< 0:00 \_ [kblockd/0] > 36 ? S< 0:00 \_ [kacpid] > 37 ? S< 0:00 \_ [kacpi_notify] > 100 ? S< 0:00 \_ [kseriod] > jirka@debian:~$ > > So you actually used a different command than the one that's used in the > testcase. (the first listing is consistent with POSIX specification) Interesting -- didn't know that! How about this instead: gcooper@orangebox ~ $ ps -eo pid,cmd | head -n 10 PID CMD 1 init [3] 2 [kthreadd] 3 [migration/0] 4 [ksoftirqd/0] 5 [migration/1] 6 [ksoftirqd/1] 7 [migration/2] 8 [ksoftirqd/2] 9 [migration/3] I'm just proposing this because if --columns is set on the target system, it's more likely to truncate output and give false positives. Sound good :)? Thanks, -Garrett Thanks, -Garrett ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] [PATCH] Fixes of the sendfile01 test 2009-12-20 1:20 ` Garrett Cooper @ 2009-12-20 11:25 ` Jiří Paleček 2009-12-22 2:36 ` Garrett Cooper 0 siblings, 1 reply; 6+ messages in thread From: Jiří Paleček @ 2009-12-20 11:25 UTC (permalink / raw) To: Garrett Cooper; +Cc: ltp-list On Sun, 20 Dec 2009 02:20:27 +0100, Garrett Cooper <yanegomi@gmail.com> wrote: > 2009/12/19 Jiří Paleček <jpalecek@web.de>: >> On Sat, 19 Dec 2009 05:02:45 +0100, Garrett Cooper <yanegomi@gmail.com> >> wrote: >> >>> On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <jpalecek@web.de> wrote: >>>> >>>> Hello, >>>> >>>> I've found some problems with the sendfile01 testcase (the one under >>>> network/tcp_cmds). This patch fixes them: >>>> >>>> Pass the -6 parameter to gethost if we are to use ipv6 and run the >>>> ipv6 server in that case. Also, fix the awk code for getting the PID: >>>> The PID is the second column, which is $2, not $1. >>>> >>>> Also: >>>> >>>> - initialize addrlen for accept syscall in the server (=> avoid >>>> EINVAL) >>>> >>>> - use tst_resm in the client instead of tst_res, to avoid an error >>>> message interpreted as a filename >>>> >>>> Regards >>>> Jiri Palecek >>>> >>>> Signed-off-by: Jiri Palecek <jpalecek@web.de> >>>> --- >>>> testcases/network/tcp_cmds/sendfile/SF_Server | 2 +- >>>> testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++----- >>>> testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +- >>>> testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +- >>>> 4 files changed, 8 insertions(+), 8 deletions(-) >>>> >>>> diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server >>>> b/testcases/network/tcp_cmds/sendfile/SF_Server >>>> index 2383ce4..9933db4 100755 >>>> --- a/testcases/network/tcp_cmds/sendfile/SF_Server >>>> +++ b/testcases/network/tcp_cmds/sendfile/SF_Server >>>> @@ -3,4 +3,4 @@ >>>> cd $3 >>>> exec 1< /dev/null # open descriptor 1 >>>> exec 2< /dev/null # open descriptor 1 >>>> -nohup ./testsf_s $1 $2 & >>>> +nohup ./$4 $1 $2 & >>>> diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> b/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> index 4e93447..7dd4fee 100755 >>>> --- a/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> +++ b/testcases/network/tcp_cmds/sendfile/sendfile01 >>>> @@ -61,7 +61,7 @@ do_setup() >>>> >>>> exists awk diff gethost grep rsh stat >>>> >>>> - IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}') >>>> + IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ >>>> {print $2}') >>>> >>>> } >>>> >>>> @@ -81,17 +81,17 @@ do_test() >>>> >>>> mkdir -p $TCtmp >>>> PORT=$$ >>>> - if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server >>>> $IPADDR >>>> $PORT $LTPROOT/testcases/bin"; then >>>> + if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server >>>> $IPADDR >>>> $PORT $LTPROOT/testcases/bin $SERVER"; then >>>> end_testcase "rsh failed to $IPADDR as root failed" >>>> fi >>>> sleep 10 >>>> - PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ >>>> && /$PORT/ {print \$1}") >>>> + PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ >>>> && /$PORT/ {print \$2}") >>>> [ -n "$PID" ] || end_testcase "Could not start server" >>>> >>>> for clnt_fname in $FILES; do >>>> serv_fname=$TCdat/$clnt_fname >>>> SIZE=`stat -c '%s' $serv_fname` >>>> - tst_resm TINFO "Starting $SERVER $IPADDR Client_filename >>>> Server_filename Size " >>>> + tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename >>>> Server_filename Size " >>>> >>>> $CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE >>>> RetVal=$? >>>> @@ -118,7 +118,7 @@ do_test() >>>> >>>> do_cleanup() >>>> { >>>> - PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ && /$PORT/ {print \$1}") >>>> + PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>>> /$SERVER/ && /$PORT/ {print \$2}") >>>> [ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID >>>> tst_cleanup >>>> } >>>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> index 52b9ecf..7683927 100644 >>>> --- a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>> @@ -120,7 +120,7 @@ main (int argc, char *argv[]) >>>> } >>>> } >>>> >>>> - tst_res(TINFO, "Asking for remote file: %s", serv_fname); >>>> + tst_resm(TINFO, "Asking for remote file: %s", serv_fname); >>>> >>>> tst_resm(TINFO, "File %s received\n", argv[4]); >>>> >>>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> index bc77712..38baf8c 100644 >>>> --- a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>> @@ -92,7 +92,7 @@ main(int argc, char *argv[]) >>>> tst_exit(); >>>> } >>>> >>>> - socklen_t fromlen; >>>> + socklen_t fromlen = sizeof(from); >>>> >>>> /* process connections */ >>>> while (1) { >>> >>> Hi Jiri, >>> I agree with you on all points, but the ps column: >>> >>> gcooper@orangebox ~ $ ps ef >>> PID TTY STAT TIME COMMAND >>> 4631 tty1 S 0:00 -bash TERM=linux HOME=/home/gcooper >>> SHELL=/bin/bash U >>> 4636 tty1 S+ 0:00 \_ /bin/sh /usr/bin/startx >>> MANPATH=/etc/java-config- >>> 4652 tty1 S+ 0:00 \_ xinit /etc/X11/xinit/xinitrc -- >>> -nolisten tcp >>> 4667 tty1 S 0:00 \_ /bin/sh /etc/X11/xinit/xinitrc >>> DISPLAY=:0 >>> 4682 tty1 S 0:00 \_ /bin/sh >>> /etc/xdg/xfce4/xinitrc >>> MANPAT >>> 4699 tty1 S 0:00 \_ /usr/bin/xfce4-session >>> MANPATH=/e >>> 4705 tty1 S 0:02 \_ xfwm4 --sm-client-id >>> 2d6757e3 >>> 4707 tty1 Sl 0:03 \_ Thunar >>> --sm-client-id >>> 276f4b6 >>> 4711 tty1 S 0:06 \_ xfce4-panel -r >>> --sm-client-id >>> 4716 tty1 Sl 0:00 | \_ >>> /usr/libexec/xfce4/panel- >>> 4724 tty1 Sl 0:00 | \_ >>> /usr/libexec/xfce4/panel- >>> 4712 tty1 S 0:01 \_ xfdesktop >>> --sm-client-id 293b >>> 21073 tty1 S 0:00 /usr/bin/xterm >>> MANPATH=/etc/java-config-2/current-sys >>> 21075 pts/1 Ss 0:00 \_ bash >>> MANPATH=/etc/java-config-2/current-system-vm >>> 21080 pts/1 R+ 0:00 \_ ps ef >>> MANPATH=/etc/java-config-2/current-syst >>> 3396 tty1 S 0:00 /usr/bin/xterm >>> MANPATH=/etc/java-config-2/current-sys >>> 3398 pts/0 Ss 0:00 \_ bash >>> MANPATH=/etc/java-config-2/current-system-vm >>> 21065 pts/0 S+ 0:00 \_ vim sendfile01 >>> MANPATH=/etc/java-config-2/cur >>> 3350 tty1 Sl 1:02 /usr/bin/firefox >>> MANPATH=/etc/java-config-2/current-s >>> 30806 tty1 Sl 5:26 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >>> /usr/sha >>> 4791 tty1 S 0:00 /usr/libexec/uim-helper-server >>> MANPATH=/etc/java-conf >>> 4714 tty1 S 0:00 xfce4-settings-helper --display :0.0 >>> --sm-client-id 2 >>> 4706 tty1 S 0:00 xfsettingsd >>> MANPATH=/etc/java-config-2/current-system >>> 4696 tty1 S 0:00 /usr/bin/dbus-launch --sh-syntax >>> --exit-with-session >>> gcooper@orangebox ~ $ ps --version >>> procps version 3.2.8 >>> >>> So to bypass this issue I used ps eopid,cmd: >>> >>> 400 [crypto/2] >>> 401 [crypto/3] >>> 587 [iscsi_eh] >>> 593 [scsi_eh_0] >>> 596 [scsi_eh_1] >>> 599 [scsi_eh_2] >>> 602 [scsi_eh_3] >>> 605 [scsi_eh_4] >>> 608 [scsi_eh_5] >>> 692 [kpsmoused] >>> 700 [kstriped] >>> 703 [kondemand/0] >>> 704 [kondemand/1] >>> 705 [kondemand/2] >>> 706 [kondemand/3] >>> 729 [usbhid_resumer] >>> 809 [reiserfs/0] >>> 810 [reiserfs/1] >>> 811 [reiserfs/2] >>> 812 [reiserfs/3] >>> 1906 /sbin/udevd --daemon >>> 2303 /usr/sbin/acpid >>> 3350 /usr/bin/firefox >>> 3396 /usr/bin/xterm >>> 3398 bash >>> 3535 supervising syslog-ng >>> 3536 /usr/sbin/syslog-ng >>> 3596 /usr/bin/dbus-daemon --system >>> 3653 /usr/sbin/crond >>> 3707 /usr/sbin/gpm -m /dev/input/mice -t ps2 >>> 3768 /usr/sbin/hald --use-syslog --verbose=no >>> 3771 hald-runner >>> 3774 hald-addon-input: Listening on /dev/input/event4 >>> /dev/input/event3 >>> /dev/in >>> 3787 hald-addon-storage: polling /dev/sr0 (every 2 sec) >>> 3790 /usr/libexec/hald-addon-cpufreq >>> 3791 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket >>> 4250 /sbin/dhcpcd -h orangebox eth0 >>> 4339 /sbin/portmap >>> 4400 /sbin/rpc.statd --no-notify >>> 4512 /usr/sbin/sshd >>> 4580 /sbin/agetty 38400 tty2 linux >>> 4581 /sbin/agetty 38400 tty3 linux >>> 4582 /sbin/agetty 38400 tty4 linux >>> 4583 /sbin/agetty 38400 tty5 linux >>> 4584 /sbin/agetty 38400 tty6 linux >>> 4613 [rpciod/0] >>> 4614 [rpciod/1] >>> 4615 [rpciod/2] >>> 4616 [rpciod/3] >>> 4622 [nfsiod] >>> 4627 [lockd] >>> 4629 /bin/login -- >>> 4631 -bash >>> 4636 /bin/sh /usr/bin/startx >>> 4652 xinit /etc/X11/xinit/xinitrc -- -nolisten tcp -br -auth >>> /home/gcooper/.ser >>> 4653 X :0 -nolisten tcp -br -auth /home/gcooper/.serverauth.4636 >>> -deferglyphs 1 >>> 4667 /bin/sh /etc/X11/xinit/xinitrc >>> 4682 /bin/sh /etc/xdg/xfce4/xinitrc >>> 4691 /usr/bin/ssh-agent -s >>> 4696 /usr/bin/dbus-launch --sh-syntax --exit-with-session >>> 4697 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 >>> --session >>> 4699 /usr/bin/xfce4-session >>> 4701 /usr/libexec/xfconfd >>> 4705 xfwm4 --sm-client-id 2d6757e33-4d33-453a-ba49-da83d783acde >>> --display >>> :0.0 >>> 4706 xfsettingsd >>> 4707 Thunar --sm-client-id 276f4b61e-2bba-4207-8e5e-feed55cbe9b4 >>> --daemon >>> 4709 /usr/libexec/gam_server >>> 4711 xfce4-panel -r --sm-client-id >>> 260365c00-2a57-4640-9170-8e74ce91bf1e >>> 4712 xfdesktop --sm-client-id 293b54ac0-804e-45e2-9ae9-2b9adbaeddde >>> --display : >>> 4714 xfce4-settings-helper --display :0.0 --sm-client-id >>> 20a17a11f-321d-40f4-87 >>> 4716 /usr/libexec/xfce4/panel-plugins/xfce4-menu-plugin socket_id >>> 18874394 name >>> 4723 /usr/libexec/gvfsd >>> 4724 /usr/libexec/xfce4/panel-plugins/xfce4-mixer-plugin socket_id >>> 18874431 nam >>> 4791 /usr/libexec/uim-helper-server >>> 21065 vim sendfile01 >>> 21073 /usr/bin/xterm >>> 21075 bash >>> 21113 ps -eopid,cmd >>> 28404 /usr/libexec/gvfs-hal-volume-monitor >>> 28689 /sbin/udevd --daemon >>> 28690 /sbin/udevd --daemon >>> 30806 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >>> /usr/share/bcprov/lib/bcprov. >>> 30860 xchat >>> 31904 /usr/libexec/gconfd-2 >>> gcooper@orangebox ~ $ ps -eopid,cmd >>> >>> Do you agree that this is an ok choice? >> >> Yes, it is arguably more robust and readable (although I don't think >> your >> example shows the need for it). >> >> Note that there are differences between ps -ef, ps ef and ps -e f: >> >> jirka@debian:~$ ps -ef | head -10 >> UID PID PPID C STIME TTY TIME CMD >> root 1 0 0 21:15 ? 00:00:00 init [2] >> root 2 0 0 21:15 ? 00:00:00 [kthreadd] >> root 3 2 0 21:15 ? 00:00:00 [migration/0] >> root 4 2 0 21:15 ? 00:00:00 [ksoftirqd/0] >> root 5 2 0 21:15 ? 00:00:00 [events/0] >> root 6 2 0 21:15 ? 00:00:00 [khelper] >> root 35 2 0 21:15 ? 00:00:00 [kblockd/0] >> root 36 2 0 21:15 ? 00:00:00 [kacpid] >> root 37 2 0 21:15 ? 00:00:00 [kacpi_notify] >> jirka@debian:~$ ps ef | head -10 >> PID TTY STAT TIME COMMAND >> 7465 pts/12 Ss 0:00 /bin/bash --noediting -i PWD=/home/jirka >> TERM=dumb TERMCAP= COLUMNS=136 EMACS=t INSIDE_EMACS=22.3.1,comint GT >> 7498 pts/12 R+ 0:00 \_ ps ef KDE_MULTIHEAD=false >> KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb >> XDG_SESSION_COOKIE=e07c53451a9 >> 7499 pts/12 D+ 0:00 \_ head -10 KDE_MULTIHEAD=false >> KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb >> XDG_SESSION_COOKIE=e07c5345 >> 6355 pts/10 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6343 pts/9 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6337 pts/8 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6325 pts/7 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6315 pts/6 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> 6300 pts/5 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >> jirka@debian:~$ ps -e f | head -10 >> PID TTY STAT TIME COMMAND >> 2 ? S< 0:00 [kthreadd] >> 3 ? S< 0:00 \_ [migration/0] >> 4 ? S< 0:00 \_ [ksoftirqd/0] >> 5 ? S< 0:00 \_ [events/0] >> 6 ? S< 0:00 \_ [khelper] >> 35 ? S< 0:00 \_ [kblockd/0] >> 36 ? S< 0:00 \_ [kacpid] >> 37 ? S< 0:00 \_ [kacpi_notify] >> 100 ? S< 0:00 \_ [kseriod] >> jirka@debian:~$ >> >> So you actually used a different command than the one that's used in the >> testcase. (the first listing is consistent with POSIX specification) > > Interesting -- didn't know that! > > How about this instead: > > gcooper@orangebox ~ $ ps -eo pid,cmd | head -n 10 > PID CMD > 1 init [3] > 2 [kthreadd] > 3 [migration/0] > 4 [ksoftirqd/0] > 5 [migration/1] > 6 [ksoftirqd/1] > 7 [migration/2] > 8 [ksoftirqd/2] > 9 [migration/3] > > I'm just proposing this because if --columns is set on the target > system, it's more likely to truncate output and give false positives. > > Sound good :)? Yes. Regards Jiri Palecek -- Using Opera's revolutionary e-mail client: http://www.opera.com/mail/ ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [LTP] [PATCH] Fixes of the sendfile01 test 2009-12-20 11:25 ` Jiří Paleček @ 2009-12-22 2:36 ` Garrett Cooper 0 siblings, 0 replies; 6+ messages in thread From: Garrett Cooper @ 2009-12-22 2:36 UTC (permalink / raw) To: Jiří Paleček; +Cc: ltp-list 2009/12/20 Jiří Paleček <jpalecek@web.de>: > On Sun, 20 Dec 2009 02:20:27 +0100, Garrett Cooper <yanegomi@gmail.com> > wrote: > >> 2009/12/19 Jiří Paleček <jpalecek@web.de>: >>> >>> On Sat, 19 Dec 2009 05:02:45 +0100, Garrett Cooper <yanegomi@gmail.com> >>> wrote: >>> >>>> On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <jpalecek@web.de> wrote: >>>>> >>>>> Hello, >>>>> >>>>> I've found some problems with the sendfile01 testcase (the one under >>>>> network/tcp_cmds). This patch fixes them: >>>>> >>>>> Pass the -6 parameter to gethost if we are to use ipv6 and run the >>>>> ipv6 server in that case. Also, fix the awk code for getting the PID: >>>>> The PID is the second column, which is $2, not $1. >>>>> >>>>> Also: >>>>> >>>>> - initialize addrlen for accept syscall in the server (=> avoid >>>>> EINVAL) >>>>> >>>>> - use tst_resm in the client instead of tst_res, to avoid an error >>>>> message interpreted as a filename >>>>> >>>>> Regards >>>>> Jiri Palecek >>>>> >>>>> Signed-off-by: Jiri Palecek <jpalecek@web.de> >>>>> --- >>>>> testcases/network/tcp_cmds/sendfile/SF_Server | 2 +- >>>>> testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++----- >>>>> testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +- >>>>> testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +- >>>>> 4 files changed, 8 insertions(+), 8 deletions(-) >>>>> >>>>> diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server >>>>> b/testcases/network/tcp_cmds/sendfile/SF_Server >>>>> index 2383ce4..9933db4 100755 >>>>> --- a/testcases/network/tcp_cmds/sendfile/SF_Server >>>>> +++ b/testcases/network/tcp_cmds/sendfile/SF_Server >>>>> @@ -3,4 +3,4 @@ >>>>> cd $3 >>>>> exec 1< /dev/null # open descriptor 1 >>>>> exec 2< /dev/null # open descriptor 1 >>>>> -nohup ./testsf_s $1 $2 & >>>>> +nohup ./$4 $1 $2 & >>>>> diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 >>>>> b/testcases/network/tcp_cmds/sendfile/sendfile01 >>>>> index 4e93447..7dd4fee 100755 >>>>> --- a/testcases/network/tcp_cmds/sendfile/sendfile01 >>>>> +++ b/testcases/network/tcp_cmds/sendfile/sendfile01 >>>>> @@ -61,7 +61,7 @@ do_setup() >>>>> >>>>> exists awk diff gethost grep rsh stat >>>>> >>>>> - IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}') >>>>> + IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ >>>>> {print $2}') >>>>> >>>>> } >>>>> >>>>> @@ -81,17 +81,17 @@ do_test() >>>>> >>>>> mkdir -p $TCtmp >>>>> PORT=$$ >>>>> - if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR >>>>> $PORT $LTPROOT/testcases/bin"; then >>>>> + if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR >>>>> $PORT $LTPROOT/testcases/bin $SERVER"; then >>>>> end_testcase "rsh failed to $IPADDR as root failed" >>>>> fi >>>>> sleep 10 >>>>> - PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >>>>> /$SERVER/ >>>>> && /$PORT/ {print \$1}") >>>>> + PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && >>>>> /$SERVER/ >>>>> && /$PORT/ {print \$2}") >>>>> [ -n "$PID" ] || end_testcase "Could not start server" >>>>> >>>>> for clnt_fname in $FILES; do >>>>> serv_fname=$TCdat/$clnt_fname >>>>> SIZE=`stat -c '%s' $serv_fname` >>>>> - tst_resm TINFO "Starting $SERVER $IPADDR Client_filename >>>>> Server_filename Size " >>>>> + tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename >>>>> Server_filename Size " >>>>> >>>>> $CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE >>>>> RetVal=$? >>>>> @@ -118,7 +118,7 @@ do_test() >>>>> >>>>> do_cleanup() >>>>> { >>>>> - PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>>>> /$SERVER/ && /$PORT/ {print \$1}") >>>>> + PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && >>>>> /$SERVER/ && /$PORT/ {print \$2}") >>>>> [ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID >>>>> tst_cleanup >>>>> } >>>>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>>> b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>>> index 52b9ecf..7683927 100644 >>>>> --- a/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c >>>>> @@ -120,7 +120,7 @@ main (int argc, char *argv[]) >>>>> } >>>>> } >>>>> >>>>> - tst_res(TINFO, "Asking for remote file: %s", serv_fname); >>>>> + tst_resm(TINFO, "Asking for remote file: %s", serv_fname); >>>>> >>>>> tst_resm(TINFO, "File %s received\n", argv[4]); >>>>> >>>>> diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>>> b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>>> index bc77712..38baf8c 100644 >>>>> --- a/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>>> +++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c >>>>> @@ -92,7 +92,7 @@ main(int argc, char *argv[]) >>>>> tst_exit(); >>>>> } >>>>> >>>>> - socklen_t fromlen; >>>>> + socklen_t fromlen = sizeof(from); >>>>> >>>>> /* process connections */ >>>>> while (1) { >>>> >>>> Hi Jiri, >>>> I agree with you on all points, but the ps column: >>>> >>>> gcooper@orangebox ~ $ ps ef >>>> PID TTY STAT TIME COMMAND >>>> 4631 tty1 S 0:00 -bash TERM=linux HOME=/home/gcooper >>>> SHELL=/bin/bash U >>>> 4636 tty1 S+ 0:00 \_ /bin/sh /usr/bin/startx >>>> MANPATH=/etc/java-config- >>>> 4652 tty1 S+ 0:00 \_ xinit /etc/X11/xinit/xinitrc -- >>>> -nolisten tcp >>>> 4667 tty1 S 0:00 \_ /bin/sh /etc/X11/xinit/xinitrc >>>> DISPLAY=:0 >>>> 4682 tty1 S 0:00 \_ /bin/sh >>>> /etc/xdg/xfce4/xinitrc >>>> MANPAT >>>> 4699 tty1 S 0:00 \_ /usr/bin/xfce4-session >>>> MANPATH=/e >>>> 4705 tty1 S 0:02 \_ xfwm4 --sm-client-id >>>> 2d6757e3 >>>> 4707 tty1 Sl 0:03 \_ Thunar --sm-client-id >>>> 276f4b6 >>>> 4711 tty1 S 0:06 \_ xfce4-panel -r >>>> --sm-client-id >>>> 4716 tty1 Sl 0:00 | \_ >>>> /usr/libexec/xfce4/panel- >>>> 4724 tty1 Sl 0:00 | \_ >>>> /usr/libexec/xfce4/panel- >>>> 4712 tty1 S 0:01 \_ xfdesktop >>>> --sm-client-id 293b >>>> 21073 tty1 S 0:00 /usr/bin/xterm >>>> MANPATH=/etc/java-config-2/current-sys >>>> 21075 pts/1 Ss 0:00 \_ bash >>>> MANPATH=/etc/java-config-2/current-system-vm >>>> 21080 pts/1 R+ 0:00 \_ ps ef >>>> MANPATH=/etc/java-config-2/current-syst >>>> 3396 tty1 S 0:00 /usr/bin/xterm >>>> MANPATH=/etc/java-config-2/current-sys >>>> 3398 pts/0 Ss 0:00 \_ bash >>>> MANPATH=/etc/java-config-2/current-system-vm >>>> 21065 pts/0 S+ 0:00 \_ vim sendfile01 >>>> MANPATH=/etc/java-config-2/cur >>>> 3350 tty1 Sl 1:02 /usr/bin/firefox >>>> MANPATH=/etc/java-config-2/current-s >>>> 30806 tty1 Sl 5:26 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >>>> /usr/sha >>>> 4791 tty1 S 0:00 /usr/libexec/uim-helper-server >>>> MANPATH=/etc/java-conf >>>> 4714 tty1 S 0:00 xfce4-settings-helper --display :0.0 >>>> --sm-client-id 2 >>>> 4706 tty1 S 0:00 xfsettingsd >>>> MANPATH=/etc/java-config-2/current-system >>>> 4696 tty1 S 0:00 /usr/bin/dbus-launch --sh-syntax >>>> --exit-with-session >>>> gcooper@orangebox ~ $ ps --version >>>> procps version 3.2.8 >>>> >>>> So to bypass this issue I used ps eopid,cmd: >>>> >>>> 400 [crypto/2] >>>> 401 [crypto/3] >>>> 587 [iscsi_eh] >>>> 593 [scsi_eh_0] >>>> 596 [scsi_eh_1] >>>> 599 [scsi_eh_2] >>>> 602 [scsi_eh_3] >>>> 605 [scsi_eh_4] >>>> 608 [scsi_eh_5] >>>> 692 [kpsmoused] >>>> 700 [kstriped] >>>> 703 [kondemand/0] >>>> 704 [kondemand/1] >>>> 705 [kondemand/2] >>>> 706 [kondemand/3] >>>> 729 [usbhid_resumer] >>>> 809 [reiserfs/0] >>>> 810 [reiserfs/1] >>>> 811 [reiserfs/2] >>>> 812 [reiserfs/3] >>>> 1906 /sbin/udevd --daemon >>>> 2303 /usr/sbin/acpid >>>> 3350 /usr/bin/firefox >>>> 3396 /usr/bin/xterm >>>> 3398 bash >>>> 3535 supervising syslog-ng >>>> 3536 /usr/sbin/syslog-ng >>>> 3596 /usr/bin/dbus-daemon --system >>>> 3653 /usr/sbin/crond >>>> 3707 /usr/sbin/gpm -m /dev/input/mice -t ps2 >>>> 3768 /usr/sbin/hald --use-syslog --verbose=no >>>> 3771 hald-runner >>>> 3774 hald-addon-input: Listening on /dev/input/event4 /dev/input/event3 >>>> /dev/in >>>> 3787 hald-addon-storage: polling /dev/sr0 (every 2 sec) >>>> 3790 /usr/libexec/hald-addon-cpufreq >>>> 3791 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket >>>> 4250 /sbin/dhcpcd -h orangebox eth0 >>>> 4339 /sbin/portmap >>>> 4400 /sbin/rpc.statd --no-notify >>>> 4512 /usr/sbin/sshd >>>> 4580 /sbin/agetty 38400 tty2 linux >>>> 4581 /sbin/agetty 38400 tty3 linux >>>> 4582 /sbin/agetty 38400 tty4 linux >>>> 4583 /sbin/agetty 38400 tty5 linux >>>> 4584 /sbin/agetty 38400 tty6 linux >>>> 4613 [rpciod/0] >>>> 4614 [rpciod/1] >>>> 4615 [rpciod/2] >>>> 4616 [rpciod/3] >>>> 4622 [nfsiod] >>>> 4627 [lockd] >>>> 4629 /bin/login -- >>>> 4631 -bash >>>> 4636 /bin/sh /usr/bin/startx >>>> 4652 xinit /etc/X11/xinit/xinitrc -- -nolisten tcp -br -auth >>>> /home/gcooper/.ser >>>> 4653 X :0 -nolisten tcp -br -auth /home/gcooper/.serverauth.4636 >>>> -deferglyphs 1 >>>> 4667 /bin/sh /etc/X11/xinit/xinitrc >>>> 4682 /bin/sh /etc/xdg/xfce4/xinitrc >>>> 4691 /usr/bin/ssh-agent -s >>>> 4696 /usr/bin/dbus-launch --sh-syntax --exit-with-session >>>> 4697 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 >>>> --session >>>> 4699 /usr/bin/xfce4-session >>>> 4701 /usr/libexec/xfconfd >>>> 4705 xfwm4 --sm-client-id 2d6757e33-4d33-453a-ba49-da83d783acde >>>> --display >>>> :0.0 >>>> 4706 xfsettingsd >>>> 4707 Thunar --sm-client-id 276f4b61e-2bba-4207-8e5e-feed55cbe9b4 >>>> --daemon >>>> 4709 /usr/libexec/gam_server >>>> 4711 xfce4-panel -r --sm-client-id >>>> 260365c00-2a57-4640-9170-8e74ce91bf1e >>>> 4712 xfdesktop --sm-client-id 293b54ac0-804e-45e2-9ae9-2b9adbaeddde >>>> --display : >>>> 4714 xfce4-settings-helper --display :0.0 --sm-client-id >>>> 20a17a11f-321d-40f4-87 >>>> 4716 /usr/libexec/xfce4/panel-plugins/xfce4-menu-plugin socket_id >>>> 18874394 name >>>> 4723 /usr/libexec/gvfsd >>>> 4724 /usr/libexec/xfce4/panel-plugins/xfce4-mixer-plugin socket_id >>>> 18874431 nam >>>> 4791 /usr/libexec/uim-helper-server >>>> 21065 vim sendfile01 >>>> 21073 /usr/bin/xterm >>>> 21075 bash >>>> 21113 ps -eopid,cmd >>>> 28404 /usr/libexec/gvfs-hal-volume-monitor >>>> 28689 /sbin/udevd --daemon >>>> 28690 /sbin/udevd --daemon >>>> 30806 /usr/lib/jvm/sun-jdk-1.6/bin/java -classpath >>>> /usr/share/bcprov/lib/bcprov. >>>> 30860 xchat >>>> 31904 /usr/libexec/gconfd-2 >>>> gcooper@orangebox ~ $ ps -eopid,cmd >>>> >>>> Do you agree that this is an ok choice? >>> >>> Yes, it is arguably more robust and readable (although I don't think your >>> example shows the need for it). >>> >>> Note that there are differences between ps -ef, ps ef and ps -e f: >>> >>> jirka@debian:~$ ps -ef | head -10 >>> UID PID PPID C STIME TTY TIME CMD >>> root 1 0 0 21:15 ? 00:00:00 init [2] >>> root 2 0 0 21:15 ? 00:00:00 [kthreadd] >>> root 3 2 0 21:15 ? 00:00:00 [migration/0] >>> root 4 2 0 21:15 ? 00:00:00 [ksoftirqd/0] >>> root 5 2 0 21:15 ? 00:00:00 [events/0] >>> root 6 2 0 21:15 ? 00:00:00 [khelper] >>> root 35 2 0 21:15 ? 00:00:00 [kblockd/0] >>> root 36 2 0 21:15 ? 00:00:00 [kacpid] >>> root 37 2 0 21:15 ? 00:00:00 [kacpi_notify] >>> jirka@debian:~$ ps ef | head -10 >>> PID TTY STAT TIME COMMAND >>> 7465 pts/12 Ss 0:00 /bin/bash --noediting -i PWD=/home/jirka >>> TERM=dumb TERMCAP= COLUMNS=136 EMACS=t INSIDE_EMACS=22.3.1,comint GT >>> 7498 pts/12 R+ 0:00 \_ ps ef KDE_MULTIHEAD=false >>> KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb >>> XDG_SESSION_COOKIE=e07c53451a9 >>> 7499 pts/12 D+ 0:00 \_ head -10 KDE_MULTIHEAD=false >>> KDEWM=/usr/bin/openbox SHELL=/bin/bash TERM=dumb >>> XDG_SESSION_COOKIE=e07c5345 >>> 6355 pts/10 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >>> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >>> 6343 pts/9 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >>> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >>> 6337 pts/8 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >>> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >>> 6325 pts/7 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >>> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >>> 6315 pts/6 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >>> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >>> 6300 pts/5 Ss+ 0:00 /bin/bash GDM_XSERVER_LOCATION=local >>> GDM_LANG=cs_CZ LANGUAGE= KDE_MULTIHEAD=false KDE_SESSION_VERSION=4 KONSO >>> jirka@debian:~$ ps -e f | head -10 >>> PID TTY STAT TIME COMMAND >>> 2 ? S< 0:00 [kthreadd] >>> 3 ? S< 0:00 \_ [migration/0] >>> 4 ? S< 0:00 \_ [ksoftirqd/0] >>> 5 ? S< 0:00 \_ [events/0] >>> 6 ? S< 0:00 \_ [khelper] >>> 35 ? S< 0:00 \_ [kblockd/0] >>> 36 ? S< 0:00 \_ [kacpid] >>> 37 ? S< 0:00 \_ [kacpi_notify] >>> 100 ? S< 0:00 \_ [kseriod] >>> jirka@debian:~$ >>> >>> So you actually used a different command than the one that's used in the >>> testcase. (the first listing is consistent with POSIX specification) >> >> Interesting -- didn't know that! >> >> How about this instead: >> >> gcooper@orangebox ~ $ ps -eo pid,cmd | head -n 10 >> PID CMD >> 1 init [3] >> 2 [kthreadd] >> 3 [migration/0] >> 4 [ksoftirqd/0] >> 5 [migration/1] >> 6 [ksoftirqd/1] >> 7 [migration/2] >> 8 [ksoftirqd/2] >> 9 [migration/3] >> >> I'm just proposing this because if --columns is set on the target >> system, it's more likely to truncate output and give false positives. >> >> Sound good :)? > > Yes. Done -- thanks! -Garrett ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 6+ messages in thread
* [LTP] [PATCH] Fixes of the sendfile01 test
@ 2009-12-19 2:16 Jiri Palecek
0 siblings, 0 replies; 6+ messages in thread
From: Jiri Palecek @ 2009-12-19 2:16 UTC (permalink / raw)
Cc: ltp-list
Hello,
I've found some problems with the sendfile01 testcase (the one under network/tcp_cmds). This patch fixes them:
Pass the -6 parameter to gethost if we are to use ipv6 and run the
ipv6 server in that case. Also, fix the awk code for getting the PID:
The PID is the second column, which is $2, not $1.
Also:
- initialize addrlen for accept syscall in the server (=> avoid EINVAL)
- use tst_resm in the client instead of tst_res, to avoid an error message interpreted as a filename
Regards
Jiri Palecek
Signed-off-by: Jiri Palecek <jpalecek@web.de>
---
testcases/network/tcp_cmds/sendfile/SF_Server | 2 +-
testcases/network/tcp_cmds/sendfile/sendfile01 | 10 +++++-----
testcases/network/tcp_cmds/sendfile/testsf_c.c | 2 +-
testcases/network/tcp_cmds/sendfile/testsf_s.c | 2 +-
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/testcases/network/tcp_cmds/sendfile/SF_Server b/testcases/network/tcp_cmds/sendfile/SF_Server
index 2383ce4..9933db4 100755
--- a/testcases/network/tcp_cmds/sendfile/SF_Server
+++ b/testcases/network/tcp_cmds/sendfile/SF_Server
@@ -3,4 +3,4 @@
cd $3
exec 1< /dev/null # open descriptor 1
exec 2< /dev/null # open descriptor 1
-nohup ./testsf_s $1 $2 &
+nohup ./$4 $1 $2 &
diff --git a/testcases/network/tcp_cmds/sendfile/sendfile01 b/testcases/network/tcp_cmds/sendfile/sendfile01
index 4e93447..7dd4fee 100755
--- a/testcases/network/tcp_cmds/sendfile/sendfile01
+++ b/testcases/network/tcp_cmds/sendfile/sendfile01
@@ -61,7 +61,7 @@ do_setup()
exists awk diff gethost grep rsh stat
- IPADDR=$(gethost $RHOST | awk '/addresses:/ {print $2}')
+ IPADDR=$(gethost ${EXEC_SUFFIX:+-6} $RHOST | awk '/addresses:/ {print $2}')
}
@@ -81,17 +81,17 @@ do_test()
mkdir -p $TCtmp
PORT=$$
- if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR $PORT $LTPROOT/testcases/bin"; then
+ if ! rsh -l root $IPADDR "$LTPROOT/testcases/bin/SF_Server $IPADDR $PORT $LTPROOT/testcases/bin $SERVER"; then
end_testcase "rsh failed to $IPADDR as root failed"
fi
sleep 10
- PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$1}")
+ PID=$(rsh -l root $IPADDR "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$2}")
[ -n "$PID" ] || end_testcase "Could not start server"
for clnt_fname in $FILES; do
serv_fname=$TCdat/$clnt_fname
SIZE=`stat -c '%s' $serv_fname`
- tst_resm TINFO "Starting $SERVER $IPADDR Client_filename Server_filename Size "
+ tst_resm TINFO "Starting $CLIENT $IPADDR Client_filename Server_filename Size "
$CLIENT $IPADDR $PORT "$TCtmp/$clnt_fname" $serv_fname $SIZE
RetVal=$?
@@ -118,7 +118,7 @@ do_test()
do_cleanup()
{
- PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$1}")
+ PID=$(rsh -n -l root $RHOST "ps -ef" | awk "\$0 !~ /awk/ && /$SERVER/ && /$PORT/ {print \$2}")
[ -n "$PID" ] && rsh -n -l root $RHOST kill -9 $PID
tst_cleanup
}
diff --git a/testcases/network/tcp_cmds/sendfile/testsf_c.c b/testcases/network/tcp_cmds/sendfile/testsf_c.c
index 52b9ecf..7683927 100644
--- a/testcases/network/tcp_cmds/sendfile/testsf_c.c
+++ b/testcases/network/tcp_cmds/sendfile/testsf_c.c
@@ -120,7 +120,7 @@ main (int argc, char *argv[])
}
}
- tst_res(TINFO, "Asking for remote file: %s", serv_fname);
+ tst_resm(TINFO, "Asking for remote file: %s", serv_fname);
tst_resm(TINFO, "File %s received\n", argv[4]);
diff --git a/testcases/network/tcp_cmds/sendfile/testsf_s.c b/testcases/network/tcp_cmds/sendfile/testsf_s.c
index bc77712..38baf8c 100644
--- a/testcases/network/tcp_cmds/sendfile/testsf_s.c
+++ b/testcases/network/tcp_cmds/sendfile/testsf_s.c
@@ -92,7 +92,7 @@ main(int argc, char *argv[])
tst_exit();
}
- socklen_t fromlen;
+ socklen_t fromlen = sizeof(from);
/* process connections */
while (1) {
--
1.6.4.3
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
^ permalink raw reply related [flat|nested] 6+ messages in threadend of thread, other threads:[~2009-12-22 2:36 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <4b2c37e0.6344f10a.4097.4c88SMTPIN_ADDED@mx.google.com>
2009-12-19 4:02 ` [LTP] [PATCH] Fixes of the sendfile01 test Garrett Cooper
2009-12-19 21:09 ` Jiří Paleček
2009-12-20 1:20 ` Garrett Cooper
2009-12-20 11:25 ` Jiří Paleček
2009-12-22 2:36 ` Garrett Cooper
2009-12-19 2:16 Jiri Palecek
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.