Ping... On Wed, Jun 8, 2016 at 11:52 AM, Tahsin Erdogan <tahsin@xxxxxxxxxx> wrote: > Current port selection algorithm is bound to have port clashes. To > eliminate clashes, let server pick an unused port and report it on > stdout. > > Signed-off-by: Tahsin Erdogan <tahsin@xxxxxxxxxx> > --- > src/locktest.c | 16 +++++++++++++++- > tests/generic/131 | 17 +++++++---------- > 2 files changed, 22 insertions(+), 11 deletions(-) > > diff --git a/src/locktest.c b/src/locktest.c > index adf8ce0..eab48e2 100644 > --- a/src/locktest.c > +++ b/src/locktest.c > @@ -95,7 +95,7 @@ static char *filename = 0; > static int debug = 0; > static int server = 1; > static int maxio = 8192; > -static int port = 7890; > +static int port = 0; > static int testnumber = -1; > static int saved_errno = 0; > > @@ -899,6 +899,20 @@ main(int argc, char *argv[]) > /*NOTREACHED*/ > } > > + if (port == 0) { > + socklen_t addr_len = sizeof(myAddr); > + > + if (getsockname(s_fd, &myAddr, &addr_len)) { > + perror("getsockname"); > + exit(1); > + } > + > + port = ntohs(myAddr.sin_port); > + } > + > + printf("server port: %d\n", port); > + fflush(stdout); > + > c_fd = accept(s_fd, NULL, NULL); > if (c_fd == INVALID_SOCKET) { > perror("accept"); > diff --git a/tests/generic/131 b/tests/generic/131 > index 3bcb0d1..d64ba55 100755 > --- a/tests/generic/131 > +++ b/tests/generic/131 > @@ -49,21 +49,18 @@ _require_test_fcntl_advisory_locks > > TESTFILE=$TEST_DIR/lock_file > > -# Grab a port which is hopefully unused > -if [ $$ -gt 1024 -a $$ -lt 32000 ]; then > - PORT=$$ > -elif [ $$ -lt 1024 ]; then > - PORT=$(($$+1024)) > -elif [ $$ -gt 32000 ]; then > - PORT=$(($$%30000+1024)) > -fi > - > # Start the server > -src/locktest -p $PORT $TESTFILE 2>&1 > $TEST_DIR/server.out & > +src/locktest $TESTFILE 2>&1 > $TEST_DIR/server.out & > locktest_pid1=$! > > sleep 1 > > +PORT=$(cat $TEST_DIR/server.out | grep "^server port: " | awk '{print $3}') > +if [ -z $PORT ]; then > + echo "Could not get server port" > + exit 1 > +fi > + > # Start the client > src/locktest -p $PORT -h localhost $TESTFILE 2>&1 > $TEST_DIR/client.out > locktest_pid2=$! > -- > 2.8.0.rc3.226.g39d4020 > -- To unsubscribe from this list: send the line "unsubscribe fstests" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html