diff --git a/tests/run-tests.sh b/tests/run-tests.sh index f8294fca..f3351775 100755 --- a/tests/run-tests.sh +++ b/tests/run-tests.sh @@ -90,6 +90,7 @@ done # set some T_ defaults T_TRACE_DUMP="0" T_TRACE_PRINTK="0" +T_PORT_START="19700" # array declarations to be able to use array ops declare -a T_TRACE_GLOB @@ -265,6 +266,17 @@ for e in T_META_DEVICE T_DATA_DEVICE T_EX_META_DEV T_EX_DATA_DEV T_KMOD T_RESULT eval $e=\"$(readlink -f "${!e}")\" done +# try and check ports, but not necessary +T_TEST_PORT="$T_PORT_START" +T_SCRATCH_PORT="$((T_PORT_START + 100))" +T_DEV_PORT="$((T_PORT_START + 200))" +read local_start local_end < /proc/sys/net/ipv4/ip_local_port_range +if [ -n "$local_start" -a -n "$local_end" -a "$local_start" -lt "$local_end" ]; then + if [ ! "$T_DEV_PORT" -lt "$local_start" -a ! "$T_TEST_PORT" -gt "$local_end" ]; then + die "listening port range $T_TEST_PORT - $T_DEV_PORT is within local dynamic port range $local_start - $local_end in /proc/sys/net/ipv4/ip_local_port_range" + fi +fi + # permute sequence? T_SEQUENCE=sequence if [ -n "$T_SHUF" ]; then @@ -363,7 +375,7 @@ fi quo="" if [ -n "$T_MKFS" ]; then for i in $(seq -0 $((T_QUORUM - 1))); do - quo="$quo -Q $i,127.0.0.1,$((42000 + i))" + quo="$quo -Q $i,127.0.0.1,$((T_TEST_PORT + i))" done msg "making new filesystem with $T_QUORUM quorum members" diff --git a/tests/tests/basic-bad-mounts.sh b/tests/tests/basic-bad-mounts.sh index b8710b04..d8bc13ef 100644 --- a/tests/tests/basic-bad-mounts.sh +++ b/tests/tests/basic-bad-mounts.sh @@ -15,7 +15,7 @@ echo "== prepare devices, mount point, and logs" SCR="$T_TMPDIR/mnt.scratch" mkdir -p "$SCR" > $T_TMP.mount.out -scoutfs mkfs -f -Q 0,127.0.0.1,53000 "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 \ +scoutfs mkfs -f -Q 0,127.0.0.1,$T_SCRATCH_PORT "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 \ || t_fail "mkfs failed" echo "== bad devices, bad options" diff --git a/tests/tests/change-devices.sh b/tests/tests/change-devices.sh index cb1e34cd..2436c5fa 100644 --- a/tests/tests/change-devices.sh +++ b/tests/tests/change-devices.sh @@ -11,7 +11,7 @@ truncate -s $sz "$T_TMP.equal" truncate -s $large_sz "$T_TMP.large" echo "== make scratch fs" -t_quiet scoutfs mkfs -f -Q 0,127.0.0.1,53000 "$T_EX_META_DEV" "$T_EX_DATA_DEV" +t_quiet scoutfs mkfs -f -Q 0,127.0.0.1,$T_SCRATCH_PORT "$T_EX_META_DEV" "$T_EX_DATA_DEV" SCR="$T_TMPDIR/mnt.scratch" mkdir -p "$SCR" diff --git a/tests/tests/enospc.sh b/tests/tests/enospc.sh index f3ade8f0..3f4cc1cd 100644 --- a/tests/tests/enospc.sh +++ b/tests/tests/enospc.sh @@ -57,7 +57,7 @@ test "$before" == "$after" || \ # XXX this is all pretty manual, would be nice to have helpers echo "== make small meta fs" # meta device just big enough for reserves and the metadata we'll fill -scoutfs mkfs -A -f -Q 0,127.0.0.1,53000 -m 10G "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 || \ +scoutfs mkfs -A -f -Q 0,127.0.0.1,$T_SCRATCH_PORT -m 10G "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 || \ t_fail "mkfs failed" SCR="$T_TMPDIR/mnt.scratch" mkdir -p "$SCR" diff --git a/tests/tests/format-version-forward-back.sh b/tests/tests/format-version-forward-back.sh index 04d6f907..d907ef49 100644 --- a/tests/tests/format-version-forward-back.sh +++ b/tests/tests/format-version-forward-back.sh @@ -89,7 +89,7 @@ for vers in $(seq $MIN $((MAX - 1))); do old_module="$builds/$vers/scoutfs.ko" echo "mkfs $vers" >> "$T_TMP.log" - t_quiet $old_scoutfs mkfs -f -Q 0,127.0.0.1,53000 "$T_EX_META_DEV" "$T_EX_DATA_DEV" \ + t_quiet $old_scoutfs mkfs -f -Q 0,127.0.0.1,$T_SCRATCH_PORT "$T_EX_META_DEV" "$T_EX_DATA_DEV" \ || t_fail "mkfs $vers failed" echo "mount $vers with $vers" >> "$T_TMP.log" diff --git a/tests/tests/resize-devices.sh b/tests/tests/resize-devices.sh index 3b13accf..cceda43c 100644 --- a/tests/tests/resize-devices.sh +++ b/tests/tests/resize-devices.sh @@ -72,7 +72,7 @@ quarter_data=$(echo "$size_data / 4" | bc) # XXX this is all pretty manual, would be nice to have helpers echo "== make initial small fs" -scoutfs mkfs -A -f -Q 0,127.0.0.1,53000 -m $quarter_meta -d $quarter_data \ +scoutfs mkfs -A -f -Q 0,127.0.0.1,$T_SCRATCH_PORT -m $quarter_meta -d $quarter_data \ "$T_EX_META_DEV" "$T_EX_DATA_DEV" > $T_TMP.mkfs.out 2>&1 || \ t_fail "mkfs failed" SCR="$T_TMPDIR/mnt.scratch" diff --git a/tests/tests/xfstests.sh b/tests/tests/xfstests.sh index b0ae44cf..bd02a1a3 100644 --- a/tests/tests/xfstests.sh +++ b/tests/tests/xfstests.sh @@ -50,9 +50,9 @@ t_quiet sync cat << EOF > local.config export FSTYP=scoutfs export MKFS_OPTIONS="-f" -export MKFS_TEST_OPTIONS="-Q 0,127.0.0.1,42000" -export MKFS_SCRATCH_OPTIONS="-Q 0,127.0.0.1,43000" -export MKFS_DEV_OPTIONS="-Q 0,127.0.0.1,44000" +export MKFS_TEST_OPTIONS="-Q 0,127.0.0.1,$T_TEST_PORT" +export MKFS_SCRATCH_OPTIONS="-Q 0,127.0.0.1,$T_SCRATCH_PORT" +export MKFS_DEV_OPTIONS="-Q 0,127.0.0.1,$T_DEV_PORT" export TEST_DEV=$T_DB0 export TEST_DIR=$T_M0 export SCRATCH_META_DEV=$T_EX_META_DEV