Ping again. On Fri, Jun 10, 2016 at 12:48 PM, Tahsin Erdogan <tahsin@xxxxxxxxxx> wrote: > 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