On Sat, 19 Dec 2009 05:02:45 +0100, Garrett Cooper <[email protected]> wrote:
> On Fri, Dec 18, 2009 at 6:16 PM, Jiri Palecek <[email protected]> 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 <[email protected]> >> --- >> 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: > > gcoo...@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 > gcoo...@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 > gcoo...@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: ji...@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] ji...@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 ji...@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] ji...@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 [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
