[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH]Make svnserve auto test instance to listen on random port

From: Kamesh Jayachandran <kamesh_at_collab.net>
Date: 2007-02-06 12:28:27 CET

Daniel Rall wrote:
> On Mon, 05 Feb 2007, Kamesh Jayachandran wrote:
>
>
>> [[[
>>
>> Run the test svnserve instance on a random port so that it won't
>> collide with existing instance of standard svnserve.
>>
> ^^^
> I'd remove the word "standard" from the log message.
>
done.
>
>> * subversion/tests/cmdline/svnserveautocheck.sh
>> Run 'svnserve' on a random free to LISTEN port.
>>
>> Patch by: kameshj
>> ]]]
>>
>
> I'm in favor of this concept, but have some comments about the
> implementation.
>
>
>> Index: subversion/tests/cmdline/svnserveautocheck.sh
>> ===================================================================
>> --- subversion/tests/cmdline/svnserveautocheck.sh (revision 23345)
>> +++ subversion/tests/cmdline/svnserveautocheck.sh (working copy)
>> @@ -60,13 +60,20 @@
>>
>> rm -f $SVNSERVE_PID
>>
>> +SVNSERVE_PORT=$(($RANDOM+1024))
>>
>
> $RANDOM should works with /bin/bash, which is apparently already being
> demanded by this script.
>
>
>> +while netstat -an|grep $SVNSERVE_PORT|grep "LISTEN";
>>
>
> Will netstat always be in the user's path? On my Fedora Core 6 box,
> it's in /bin, which is fine. How about on Solaris, OS X, etc.?
>
>

Yes in Solaris it is at /bin. In MacOS it is in /usr/sbin which seemed
to be in the default PATH.

> As written, you shouldn't need the semi-colon at the end of the line.
> However, I'd rather see the "do" at the end of this line, in which
> case you'd retain the semi-colon.
>
>
done.

>> +do
>> +SVNSERVE_PORT=$(($RANDOM+1024))
>>
>
> Need leading indentation.
>
done

>
>> +done
>> +
>> $SERVER_CMD -d -r $ABS_BUILDDIR/subversion/tests/cmdline \
>> --listen-host 127.0.0.1 \
>> + --listen-port $SVNSERVE_PORT \
>> --pid-file $SVNSERVE_PID &
>>
>> -BASE_URL="svn://localhost"
>> +BASE_URL="svn://localhost:$SVNSERVE_PORT"
>>
>> -make svncheck
>> +make check BASE_URL=$BASE_URL
>>
>
> Changing the make target doesn't seem unreasonable to me, but if done,
> should be a separate commit. I believe that doing so would also
> obviate the need for setting a BASE_URL environment variable in
> svnserveautocheck.sh.
>
>
Do you mean changing the 'svncheck' target?

+make check BASE_URL=$BASE_URL is more like that of davautocheck.

With regards
Kamesh Jayachandran

[[[

Run the test svnserve instance on a random port so that it won't
collide with existing instance of svnserve.

* subversion/tests/cmdline/svnserveautocheck.sh
   Run 'svnserve' on a random free to LISTEN port.
   
Patch by: kameshj
]]]

Index: subversion/tests/cmdline/svnserveautocheck.sh
===================================================================
--- subversion/tests/cmdline/svnserveautocheck.sh (revision 23351)
+++ subversion/tests/cmdline/svnserveautocheck.sh (working copy)
@@ -60,13 +60,19 @@
 
 rm -f $SVNSERVE_PID
 
+SVNSERVE_PORT=$(($RANDOM+1024))
+while netstat -an|grep $SVNSERVE_PORT|grep "LISTEN"; do
+ SVNSERVE_PORT=$(($RANDOM+1024))
+done
+
 $SERVER_CMD -d -r $ABS_BUILDDIR/subversion/tests/cmdline \
             --listen-host 127.0.0.1 \
+ --listen-port $SVNSERVE_PORT \
             --pid-file $SVNSERVE_PID &
 
-BASE_URL="svn://localhost"
+BASE_URL="svn://localhost:$SVNSERVE_PORT"
 
-make svncheck
+make check BASE_URL=$BASE_URL
 r=$?
 
 really_cleanup

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Feb 6 12:27:42 2007

This is an archived mail posted to the Subversion Dev mailing list.