From: "Jiří Paleček" <jpalecek@web.de>
To: Garrett Cooper <yanegomi@gmail.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH] Fixes of the sendfile01 test
Date: Sat, 19 Dec 2009 22:09:47 +0100 [thread overview]
Message-ID: <op.u47eely5u2flwt@debian> (raw)
In-Reply-To: <364299f40912182002o417158c3lef65a301d721f1a0@mail.gmail.com>
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
next prev parent reply other threads:[~2009-12-19 20:10 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=op.u47eely5u2flwt@debian \
--to=jpalecek@web.de \
--cc=ltp-list@lists.sourceforge.net \
--cc=yanegomi@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.