[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date
][Minivend by thread
]
Re: [mv] minivend 'make test'
James,
Thanks for all this. We will test it and w/luck be able to get
running!
Dave
At 06:38 PM 11/19/99 -0600, you wrote:
>****** message to minivend-users from James
Hamilton <jchamilton@acm.org>
> ******
>
>hi -
>
>First off - i did search the faq and the docs
>for anything like this and wasn't able to
>find anything - but i could just be brain
>damaged...the mailing list archives
>suggested that my version of perl might
>be crippled so i compiled that fresh and i'm
>still getting this error.
>
>when i run 'make test' i get this:
>
>[root@Chopin minivend-3.14-4]# make test
>PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch
>-Iblib/lib
>-I/usr/lib/perl5/5.00502/i386-linux-thread
>-I/usr/lib/perl5/5.00502 test.pl
>server.......ok 1
>socket link..not ok 2
>2 tests run
>
>-- 1/ failed.
>
>make: *** [test_dynamic] Error 1
>
>my guess is that if the make test don't work
>- the application probably won't work. so i
>took the time to write a perl script that
>verifies sockets work on my machine (attached
>along with output...). and i was able to
>identify the chunk of code in test.pl that
>doesn't seem to be working:
>
> print SOCK send_arguments();
> print SOCK send_environment();
> print SOCK "end\n";
>
> while(<SOCK>) {
> $result
.= $_;
> }
>
>I put a counter into the loop and found that
>it was getting nothing from the socket....but
>i can't identify where in the server that it
>reads the inbound connection
>(Vend::Server::MESSAGES??) and talks back to
>the client. (test.pl in this case). Do I
>need to give configure a command line switch
>to tell it how to handle something
>differently? Or is there something else
>wrong that I'm missing. i was also able to
>verify that the server and the client both
>have the socket open when the script is
>running (using fuser).
>
>related info:
>Kernel ver: 2.2.5
>perl ver: 5.00502
>libc ver: glibc 2.1
>
>Thanks in advance for your time...
>
>James Hamilton
>
>'socktest'
> ---------------------------------------------
>#!/usr/bin/perl -w
>
>use Socket;
>use POSIX;
>
>my $LINKFL = "/tmp/socktestsock";
>my $uaddr = sockaddr_un($LINKFL);
>
>FORK: {
> if ($pid = fork) {
> # parent code...
> print "Parent: opening
socket...\n";
> socket(Server,PF_UNIX,SOCK_STREAM,0) or die
"Parent: socket error=$!\n";
> unlink($LINKFL);
> bind(Server,
$uaddr)
or die "Parent: bind error=$!\n";
>
listen(Server,SOMAXCONN)
or die "Parent: listen error=$!\n";
> print "Parent: ready to accept connections on
$LINKFL\n";
> for ( ; $paddr = accept(Client,Server); close
Client, exit) {
> print "Parent: accepted
incoming connetion on $LINKFL, $paddr\n";
> print Client "helo child:
", scalar localtime, "\n";
> sleep 3; select Client; $| = 1;
select STDOUT;
> while (<Client>) {
> print
"Parent: returning received text=$_";
> print Client
$_;
> }
> if(waitpid($pid, WNOHANG))
{
> print "Parent:
child exited\n";
> }
> }
> }
> elsif (defined $pid) {
> # child code...
> sleep 3;
> print "Child: opening
socket...\n";
> socket(SOCK,PF_UNIX,SOCK_STREAM,0) or die
"Child: socket error=$!\n";
> connect(SOCK,$uaddr) or die "Child: connect
error=$!\n";
> sleep 3;
> print "Child: waiting for helo\n";
> while (<SOCK>) {
> if (/helo child/) { last; }
> }
> print "Child: received=$_";
> print "Child: sending messages\n";
> select SOCK; $| = 1; select STDOUT;
> for($i=0; $i < 10; $i++) {
> $msg = "$i: " . "hi
"x$i . "\n";
> print SOCK $msg;
> }
> print SOCK "end xmit\n";
> print "Child: receiving
messages\n";
> while (<SOCK>) {
> print "Child: received
text=$_";
> if (/end xmit/) {
> close SOCK;
> exit;
> }
> }
> }
> elsif ($! =~ /No more process/) {
> # try again, possibly recoverable...
> sleep 5;
> redo FORK;
> }
> else {
> # something is amiss...
> die "Can't fork: $!\n";
> }
>}
>
>'socktest.out'
> ---------------------------------------------
>Child: opening socket...
>Child: waiting for helo
>Child: received=helo child: Fri Nov 19 15:23:10 1999
>Child: sending messages
>Child: receiving messages
>Child: received text=0:
>Child: received text=1: hi
>Child: received text=2: hi hi
>Child: received text=3: hi hi hi
>Child: received text=4: hi hi hi hi
>Child: received text=5: hi hi hi hi hi
>Child: received text=6: hi hi hi hi hi hi
>Child: received text=7: hi hi hi hi hi hi hi
>Child: received text=8: hi hi hi hi hi hi hi hi
>Child: received text=9: hi hi hi hi hi hi hi hi hi
>Child: received text=end xmit
>Parent: opening socket...
>Parent: ready to accept connections on /tmp/socktestsock
>Parent: accepted incoming connetion on /tmp/socktestsock, Parent:
returning
>received text=0:
>Parent: returning received text=1: hi
>Parent: returning received text=2: hi hi
>Parent: returning received text=3: hi hi hi
>Parent: returning received text=4: hi hi hi hi
>Parent: returning received text=5: hi hi hi hi hi
>Parent: returning received text=6: hi hi hi hi hi hi
>Parent: returning received text=7: hi hi hi hi hi hi hi
>Parent: returning received text=8: hi hi hi hi hi hi hi hi
>Parent: returning received text=9: hi hi hi hi hi hi hi hi hi
>Parent: returning received text=end xmit
>Parent: child exited
>
>
>-
>To unsubscribe from the list, DO NOT REPLY to this message.
Instead, send
>email with 'UNSUBSCRIBE minivend-users' in the body to
Majordomo@minivend.com.
>Archive of past messages:
http://www.minivend.com/minivend/minivend-list
-------------
Dave Van Abel
Lakewood, Colorado USA
dave@vanabel.com
(V) 303-989-6481
(w) 303-478-7985 Wireless/Cellular