diff --git a/.gitignore b/.gitignore index 5e572050cf1dca9554923a997f090c238a6aa82c..04b2ffe91e9614bc31d6d492efc1ca604ecf3449 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,7 @@ .vscode/ unwanted_logs/ log_files/ -feedback_ingi.zip +*.zip linksimulator/ demo.* interpo/ \ No newline at end of file diff --git a/tests/advanced_test.sh b/tests/advanced_test.sh index 640598c3f34036ae40fff4243d1f4472cbc7c197..adf3f96c6c8587f20d44549a0e0232eb27b94692 100755 --- a/tests/advanced_test.sh +++ b/tests/advanced_test.sh @@ -24,13 +24,18 @@ touch "${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_received_file.${BSN_EXT}" \ "${TEST_OUTPUT_FILES}/adv_valgrind_${BSN_PRE}_sender.log" +# The next 2 lines come from: https://unix.stackexchange.com/questions/55913/whats-the-easiest-way-to-find-an-unused-local-port +# We use this to be sure we're using unused port +port1=$(comm -23 <(seq 49152 65535 | sort) <(ss -Htan | awk '{print $4}' | cut -d':' -f2 | sort -u) | shuf | head -n 1) +port2=$(comm -23 <(seq 49152 65535 | sort) <(ss -Htan | awk '{print $4}' | cut -d':' -f2 | sort -u) | shuf | head -n 1) + # We first launch the link simulator -./linksimulator/link_sim -p 65027 -P 65139 -l 70 -d 1500 -e 20 -c 10 -R \ +./linksimulator/link_sim -p $port2 -P $port1 -l 70 -d 1500 -e 20 -c 10 -R \ &>${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_link.log & link_pid=$! # We launch the receiver and capture its output valgrind --leak-check=full --log-file=${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_valgrind_receiver.log \ - ./receiver ::1 65139 1> ${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_received_file.${BSN_EXT} \ + ./receiver ::1 $port1 1> ${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_received_file.${BSN_EXT} \ 2> ${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_receiver.log & receiver_pid=$! cleanup() @@ -43,7 +48,7 @@ trap cleanup SIGINT # Kill the background procces in case of ^-C # We start the transfer if ! valgrind --leak-check=full --log-file=${TEST_OUTPUT_FILES}/adv_valgrind_${BSN_PRE}_receiver.log \ - ./sender -f ${FILENAME} ::1 65027 2> ${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_sender.log ; then + ./sender -f ${FILENAME} ::1 $port2 2> ${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_sender.log ; then echo "Crash du sender!" cat ${TEST_OUTPUT_FILES}/adv_${BSN_PRE}_sender.log err=1 # We record the error diff --git a/tests/simple_test.sh b/tests/simple_test.sh index f2f0e3ab9702c9a6135cfd7aee0fd67829c34ead..3d3b438c987f813c013847768097e5fd9aff1147 100755 --- a/tests/simple_test.sh +++ b/tests/simple_test.sh @@ -26,9 +26,13 @@ touch "${TEST_OUTPUT_FILES}/${BSNM_PRE}_received_file.${BSNM_EXT}" \ "${TEST_OUTPUT_FILES}/${BSNM_PRE}_receiver.log" +# The next line come from: https://unix.stackexchange.com/questions/55913/whats-the-easiest-way-to-find-an-unused-local-port +# We use this to be sure we're using unused port +port=$(comm -23 <(seq 49152 65535 | sort) <(ss -Htan | awk '{print $4}' | cut -d':' -f2 | sort -u) | shuf | head -n 1) + # We launch the receiver and capture its output valgrind --leak-check=full --log-file=${TEST_OUTPUT_FILES}/valgrind_${BSNM_PRE}_receiver.log \ - ./receiver ::1 65197 1> ${TEST_OUTPUT_FILES}/${BSNM_PRE}_received_file.${BSNM_EXT} \ + ./receiver ::1 $port 1> ${TEST_OUTPUT_FILES}/${BSNM_PRE}_received_file.${BSNM_EXT} \ 2> ${TEST_OUTPUT_FILES}/${BSNM_PRE}_receiver.log & receiver_pid=$! cleanup() @@ -41,7 +45,7 @@ trap cleanup SIGINT # Kill the background procces in case of ^-C # We start the transfer if ! valgrind --leak-check=full --log-file=${TEST_OUTPUT_FILES}/valgrind_${BSNM_PRE}_sender.log \ - ./sender -f ${FILENAME} ::1 65197 2> ${TEST_OUTPUT_FILES}/${BSNM_PRE}_sender.log ; then + ./sender -f ${FILENAME} ::1 $port 2> ${TEST_OUTPUT_FILES}/${BSNM_PRE}_sender.log ; then echo "The sender crashed!" cat ${TEST_OUTPUT_FILES}/${BSNM_PRE}_sender.log err=1 # We record the error