From 6d781281fffc548f0ca38c2dcad9de5b5bd95952 Mon Sep 17 00:00:00 2001
From: sdemeesterde <samuel.demeester@student.uclouvain.be>
Date: Fri, 15 Apr 2022 14:08:37 +0200
Subject: [PATCH] better names for tests dir

---
 .gitignore                                    |   2 +-
 tests/advanced_test.sh                        |   6 +--
 tests/run_tests.sh                            |  11 ++++-
 tests/simple_test.sh                          |   6 +--
 {test_files => tests_files}/greeting.txt      |   0
 {test_files => tests_files}/long_message.txt  |   0
 {test_files => tests_files}/noice.gif         | Bin
 {test_files => tests_files}/smile.png         | Bin
 {test_files => tests_files}/thumbs-up-nod.gif | Bin
 .../greeting/adv_greeting_link.log            |  16 +++++++
 .../greeting/adv_greeting_received_file.txt   |   1 +
 .../greeting/adv_greeting_receiver.log        |  13 ++++++
 .../greeting/adv_greeting_sender.log          |  22 ++++++++++
 .../adv_valgrind_greeting_receiver.log        |  26 +++++++++++
 .../greeting/adv_valgrind_greeting_sender.log |  15 +++++++
 .../greeting/greeting_receiver_stats.csv      |  11 +++++
 .../greeting/greeting_sender_stats.csv        |  12 +++++
 .../long_message/adv_long_message_link.log    |  28 ++++++++++++
 .../adv_long_message_received_file.txt        |  31 +++++++++++++
 .../adv_long_message_receiver.log             |  22 ++++++++++
 .../long_message/adv_long_message_sender.log  |  41 ++++++++++++++++++
 .../adv_valgrind_long_message_receiver.log    |  26 +++++++++++
 .../adv_valgrind_long_message_sender.log      |  15 +++++++
 .../long_message_receiver_stats.csv           |  11 +++++
 .../long_message_sender_stats.csv             |  12 +++++
 .../advanced_tests/smile/adv_smile_link.log   |  13 ++++++
 .../smile/adv_smile_received_file.png         |   0
 .../smile/adv_smile_receiver.log              |   2 +
 .../advanced_tests/smile/adv_smile_sender.log |   9 ++++
 .../smile/adv_valgrind_smile_receiver.log     |   6 +++
 .../smile/adv_valgrind_smile_sender.log       |  33 ++++++++++++++
 .../smile/smile_receiver_stats.csv            |   0
 .../smile/smile_sender_stats.csv              |   0
 .../thumbs-up-nod/adv_thumbs-up-nod_link.log  |  11 +++++
 .../adv_thumbs-up-nod_received_file.gif       |   0
 .../adv_thumbs-up-nod_receiver.log            |   2 +
 .../adv_thumbs-up-nod_sender.log              |   6 +++
 .../adv_valgrind_thumbs-up-nod_receiver.log   |   6 +++
 .../adv_valgrind_thumbs-up-nod_sender.log     |  27 ++++++++++++
 .../thumbs-up-nod_receiver_stats.csv          |   0
 .../thumbs-up-nod_sender_stats.csv            |   0
 41 files changed, 433 insertions(+), 9 deletions(-)
 rename {test_files => tests_files}/greeting.txt (100%)
 rename {test_files => tests_files}/long_message.txt (100%)
 rename {test_files => tests_files}/noice.gif (100%)
 rename {test_files => tests_files}/smile.png (100%)
 rename {test_files => tests_files}/thumbs-up-nod.gif (100%)
 create mode 100644 tests_logs/advanced_tests/greeting/adv_greeting_link.log
 create mode 100644 tests_logs/advanced_tests/greeting/adv_greeting_received_file.txt
 create mode 100644 tests_logs/advanced_tests/greeting/adv_greeting_receiver.log
 create mode 100644 tests_logs/advanced_tests/greeting/adv_greeting_sender.log
 create mode 100644 tests_logs/advanced_tests/greeting/adv_valgrind_greeting_receiver.log
 create mode 100644 tests_logs/advanced_tests/greeting/adv_valgrind_greeting_sender.log
 create mode 100644 tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv
 create mode 100644 tests_logs/advanced_tests/greeting/greeting_sender_stats.csv
 create mode 100644 tests_logs/advanced_tests/long_message/adv_long_message_link.log
 create mode 100644 tests_logs/advanced_tests/long_message/adv_long_message_received_file.txt
 create mode 100644 tests_logs/advanced_tests/long_message/adv_long_message_receiver.log
 create mode 100644 tests_logs/advanced_tests/long_message/adv_long_message_sender.log
 create mode 100644 tests_logs/advanced_tests/long_message/adv_valgrind_long_message_receiver.log
 create mode 100644 tests_logs/advanced_tests/long_message/adv_valgrind_long_message_sender.log
 create mode 100644 tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv
 create mode 100644 tests_logs/advanced_tests/long_message/long_message_sender_stats.csv
 create mode 100644 tests_logs/advanced_tests/smile/adv_smile_link.log
 create mode 100644 tests_logs/advanced_tests/smile/adv_smile_received_file.png
 create mode 100644 tests_logs/advanced_tests/smile/adv_smile_receiver.log
 create mode 100644 tests_logs/advanced_tests/smile/adv_smile_sender.log
 create mode 100644 tests_logs/advanced_tests/smile/adv_valgrind_smile_receiver.log
 create mode 100644 tests_logs/advanced_tests/smile/adv_valgrind_smile_sender.log
 create mode 100644 tests_logs/advanced_tests/smile/smile_receiver_stats.csv
 create mode 100644 tests_logs/advanced_tests/smile/smile_sender_stats.csv
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_link.log
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_received_file.gif
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_receiver.log
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_sender.log
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_receiver.log
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_sender.log
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_receiver_stats.csv
 create mode 100644 tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_sender_stats.csv

diff --git a/.gitignore b/.gitignore
index 9366bca..2045c1a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,6 @@
 *.o
 .vscode/
-unwanted_logs/
+test_logs/
 log_files/
 *.zip
 linksimulator/
diff --git a/tests/advanced_test.sh b/tests/advanced_test.sh
index b00f11f..f856773 100755
--- a/tests/advanced_test.sh
+++ b/tests/advanced_test.sh
@@ -9,13 +9,13 @@ FILENAME=$1
 BASENAME=$(basename $FILENAME)
 BSN_PRE="${BASENAME%.*}"
 BSN_EXT="${BASENAME##*.}"
-TEST_OUTPUT_FILES="unwanted_logs/advanced_tests/${BSN_PRE}"
+TEST_OUTPUT_FILES="tests_logs/advanced_tests/${BSN_PRE}"
 GREEN='\033[0;32m'
 NC='\033[0m'
 
 # If the directory does not exist, we create it
-if [ ! -d "unwanted_logs/advanced_tests/" ]; then
-  mkdir 'unwanted_logs/advanced_tests/' 2>/dev/null
+if [ ! -d "tests_logs/advanced_tests/" ]; then
+  mkdir 'tests_logs/advanced_tests/' 2>/dev/null
 fi
 mkdir "${TEST_OUTPUT_FILES}/" 2>/dev/null  
 
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 5cf92ee..ca2d764 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -2,10 +2,17 @@
 
 # Note that this assumes to be called from the Makefile, you may want to adapt it.
 FILESIZE="" 
-TEST_FILES_DIR=./test_files/
+TEST_FILES_DIR=./tests_files/
 
+if [ ! -d ./tests_logs/ ]; then
+  mkdir ./tests_logs
+fi
 # Remove everything
-rm -rf ./unwanted_logs/*
+rm -rf ./tests_logs/*
+
+if [ -d ./unwanted_logs/ ]; then
+  rm -rdf ./unwanted_logs
+fi
 
 # We want our tests to always use valgrind 
 #echo -e "\nStarting simple tests ...\n"
diff --git a/tests/simple_test.sh b/tests/simple_test.sh
index f76b145..db3611d 100755
--- a/tests/simple_test.sh
+++ b/tests/simple_test.sh
@@ -9,13 +9,13 @@ FILENAME=$1
 BASENAME=$(basename $FILENAME)
 BSNM_PRE="${BASENAME%.*}"
 BSNM_EXT="${BASENAME##*.}"
-TEST_OUTPUT_FILES="unwanted_logs/simple_tests/${BSNM_PRE}"
+TEST_OUTPUT_FILES="tests_logs/simple_tests/${BSNM_PRE}"
 GREEN='\033[0;32m'
 NC='\033[0m'
 
 # If the directory does not exist, we create it
-if [ ! -d "unwanted_logs/simple_tests/" ]; then
-  mkdir 'unwanted_logs/simple_tests/' 2>/dev/null
+if [ ! -d "tests_logs/simple_tests/" ]; then
+  mkdir 'tests_logs/simple_tests/' 2>/dev/null
 fi
 mkdir "${TEST_OUTPUT_FILES}/" 2>/dev/null  
 
diff --git a/test_files/greeting.txt b/tests_files/greeting.txt
similarity index 100%
rename from test_files/greeting.txt
rename to tests_files/greeting.txt
diff --git a/test_files/long_message.txt b/tests_files/long_message.txt
similarity index 100%
rename from test_files/long_message.txt
rename to tests_files/long_message.txt
diff --git a/test_files/noice.gif b/tests_files/noice.gif
similarity index 100%
rename from test_files/noice.gif
rename to tests_files/noice.gif
diff --git a/test_files/smile.png b/tests_files/smile.png
similarity index 100%
rename from test_files/smile.png
rename to tests_files/smile.png
diff --git a/test_files/thumbs-up-nod.gif b/tests_files/thumbs-up-nod.gif
similarity index 100%
rename from test_files/thumbs-up-nod.gif
rename to tests_files/thumbs-up-nod.gif
diff --git a/tests_logs/advanced_tests/greeting/adv_greeting_link.log b/tests_logs/advanced_tests/greeting/adv_greeting_link.log
new file mode 100644
index 0000000..bdc7e84
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/adv_greeting_link.log
@@ -0,0 +1,16 @@
+@@ Using random seed: 1650024411
+@@ Using parameters:
+.. port: 65134
+.. forward_port: 65164
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650024411
+.. link_direction: Forward
+@@ Remote host is ::1 [40279]
+[SEQ   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Reverse).
+[SEQ   1] Sent packet (Forward).
+[SEQ   2] Sent packet (Reverse).
diff --git a/tests_logs/advanced_tests/greeting/adv_greeting_received_file.txt b/tests_logs/advanced_tests/greeting/adv_greeting_received_file.txt
new file mode 100644
index 0000000..c57eff5
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/adv_greeting_received_file.txt
@@ -0,0 +1 @@
+Hello World!
\ No newline at end of file
diff --git a/tests_logs/advanced_tests/greeting/adv_greeting_receiver.log b/tests_logs/advanced_tests/greeting/adv_greeting_receiver.log
new file mode 100644
index 0000000..ce742c1
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/adv_greeting_receiver.log
@@ -0,0 +1,13 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv, listen_ip is ::1, listen_port is 65164
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65164
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65134
+[DEBUG] Received data packet seqnum 0 with timestamp 984824098 | current_window_size : 31, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 1, timestamp 0
+[DEBUG] Received data packet seqnum 1 with timestamp 0 | current_window_size : 30, current_window_start : 0
+[DEBUG] Going to consume the next 2 packets.
+[DEBUG] Consuming packet : 0 | curr_recv_window = 29, recv_window_start = 0
+[DEBUG] Consuming packet : 1 | curr_recv_window = 30, recv_window_start = 1
+[DEBUG] Received the last packet
+[DEBUG] Sent ACK saying we are waiting for 2, timestamp 0
+[DEBUG] Done the transfer with done status being true
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv.
diff --git a/tests_logs/advanced_tests/greeting/adv_greeting_sender.log b/tests_logs/advanced_tests/greeting/adv_greeting_sender.log
new file mode 100644
index 0000000..5a6cfcf
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/adv_greeting_sender.log
@@ -0,0 +1,22 @@
+[DEBUG] Sender has following arguments: 
+		filename is ./test_files//greeting.txt,
+		stats_filename is tests_logs/advanced_tests/greeting/greeting_sender_stats.csv,
+		fec_enabled is 0,
+		receiver_ip is ::1,
+		receiver_port is 65134
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65134
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] The LAST PTYPE_DATA is being sent !
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 1 has been received
+[DEBUG] The sender is cumulatively acknowledging [0 : 1[ (place in the buffer) | [0, 1[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 30
+[DEBUG] The CLOSING pkt is being sent !
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] A timer of -> 30000ms <- has started after sending the last FEC pkt !
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 2 has been received
+[DEBUG] The sender is cumulatively acknowledging [1 : 2[ (place in the buffer) | [1, 2[ (seqnum)
+[DEBUG] Sender disconnected
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/greeting/greeting_sender_stats.csv.
diff --git a/tests_logs/advanced_tests/greeting/adv_valgrind_greeting_receiver.log b/tests_logs/advanced_tests/greeting/adv_valgrind_greeting_receiver.log
new file mode 100644
index 0000000..57ec847
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/adv_valgrind_greeting_receiver.log
@@ -0,0 +1,26 @@
+==14844== Memcheck, a memory error detector
+==14844== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==14844== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==14844== Command: ./receiver ::1 65164 -s tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv
+==14844== Parent PID: 14814
+==14844== 
+==14844== 
+==14844== HEAP SUMMARY:
+==14844==     in use at exit: 120 bytes in 1 blocks
+==14844==   total heap usage: 13 allocs, 12 frees, 9,826 bytes allocated
+==14844== 
+==14844== 120 bytes in 1 blocks are definitely lost in loss record 1 of 1
+==14844==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+==14844==    by 0x10BD7F: state_new (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/receiver)
+==14844==    by 0x10BEBB: receiver_read_write_loop (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/receiver)
+==14844==    by 0x10953D: main (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/receiver)
+==14844== 
+==14844== LEAK SUMMARY:
+==14844==    definitely lost: 120 bytes in 1 blocks
+==14844==    indirectly lost: 0 bytes in 0 blocks
+==14844==      possibly lost: 0 bytes in 0 blocks
+==14844==    still reachable: 0 bytes in 0 blocks
+==14844==         suppressed: 0 bytes in 0 blocks
+==14844== 
+==14844== For lists of detected and suppressed errors, rerun with: -s
+==14844== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/greeting/adv_valgrind_greeting_sender.log b/tests_logs/advanced_tests/greeting/adv_valgrind_greeting_sender.log
new file mode 100644
index 0000000..2111b92
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/adv_valgrind_greeting_sender.log
@@ -0,0 +1,15 @@
+==14845== Memcheck, a memory error detector
+==14845== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==14845== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==14845== Command: ./sender -f ./test_files//greeting.txt ::1 65134 -s tests_logs/advanced_tests/greeting/greeting_sender_stats.csv
+==14845== Parent PID: 14814
+==14845== 
+==14845== 
+==14845== HEAP SUMMARY:
+==14845==     in use at exit: 0 bytes in 0 blocks
+==14845==   total heap usage: 9 allocs, 9 frees, 3,864 bytes allocated
+==14845== 
+==14845== All heap blocks were freed -- no leaks are possible
+==14845== 
+==14845== For lists of detected and suppressed errors, rerun with: -s
+==14845== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv b/tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv
new file mode 100644
index 0000000..1f614a8
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/greeting_receiver_stats.csv
@@ -0,0 +1,11 @@
+data_sent:0
+data_received:2
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:2
+ack_received:0
+nack_received:0
+packet_ignored:0
+packet_duplicated:0
+packet_recovered:0
diff --git a/tests_logs/advanced_tests/greeting/greeting_sender_stats.csv b/tests_logs/advanced_tests/greeting/greeting_sender_stats.csv
new file mode 100644
index 0000000..698ca85
--- /dev/null
+++ b/tests_logs/advanced_tests/greeting/greeting_sender_stats.csv
@@ -0,0 +1,12 @@
+data_sent:2
+data_received:0
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:0
+ack_received:2
+nack_received:0
+packet_ignored:0
+min_rtt:7
+max_rtt:14
+packet_retransmitted:0
diff --git a/tests_logs/advanced_tests/long_message/adv_long_message_link.log b/tests_logs/advanced_tests/long_message/adv_long_message_link.log
new file mode 100644
index 0000000..8e01de6
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/adv_long_message_link.log
@@ -0,0 +1,28 @@
+@@ Using random seed: 1650024417
+@@ Using parameters:
+.. port: 65164
+.. forward_port: 65114
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650024417
+.. link_direction: Forward
+@@ Remote host is ::1 [53917]
+[SEQ   0] Corrupting packet: inverted byte #275
+[SEQ   0] Sent packet (Forward).
+[SEQ   0] Sent packet (Forward).
+[SEQ   1] Sent packet (Reverse).
+[SEQ   1] Sent packet (Forward).
+[SEQ   2] Sent packet (Reverse).
+[SEQ   2] Dropping packet
+[SEQ   2] Corrupting packet: inverted byte #426
+[SEQ   2] Sent packet (Forward).
+[SEQ   2] Sent packet (Forward).
+[SEQ   3] Sent packet (Reverse).
+[SEQ   3] Corrupting packet: inverted byte #1
+[SEQ   3] Sent packet (Forward).
+[SEQ   3] Dropping packet
+[SEQ   3] Sent packet (Forward).
+[SEQ   4] Sent packet (Reverse).
diff --git a/tests_logs/advanced_tests/long_message/adv_long_message_received_file.txt b/tests_logs/advanced_tests/long_message/adv_long_message_received_file.txt
new file mode 100644
index 0000000..9a4178c
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/adv_long_message_received_file.txt
@@ -0,0 +1,31 @@
+Hello I'm a good friend, I've seen that you are writing a protocol named TRTP. 
+How is it going ? Hard ? Good for you. See life is full of hard things just like your 
+network course. But when you manage to thrive throgh tough times then sweet things are 
+ahead. So good luck have a nice day of testing and remember : Tough Times Never Last.
+
+PS: Drink a beer when you pass the test. Share your knowledge to others, computer 
+science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
+
+Hi Vany I love reading from you. As you know I'm working sometime a bit late in the night.
+In a few hour you'll be in the famous "Salle Intel" to be really productive as you are.
+
+Best regards,
+
+Samuel
+
+Sorry to be lazy but I'll past down what is above
+
+Hello I'm a good friend, I've seen that you are writing a protocol named TRTP. 
+How is it going ? Hard ? Good for you. See life is full of hard things just like your 
+network course. But when you manage to thrive throgh tough times then sweet things are 
+ahead. So good luck have a nice day of testing and remember : Tough Times Never Last.
+
+PS: Drink a beer when you pass the test. Share your knowledge to others, computer 
+science isn't a field for selfishness. If you want to switch to Law, Economy, some shit
+
+Hi Vany I love reading from you. As you know I'm working sometime a bit late in the night.
+In a few hour you'll be in the famous "Salle Intel" to be really productive as you are.
+
+Best regards,
+
+Samuel
diff --git a/tests_logs/advanced_tests/long_message/adv_long_message_receiver.log b/tests_logs/advanced_tests/long_message/adv_long_message_receiver.log
new file mode 100644
index 0000000..0ca8d62
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/adv_long_message_receiver.log
@@ -0,0 +1,22 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv, listen_ip is ::1, listen_port is 65114
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65114
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65164
+[DEBUG] Received a damaged packet with 4 status. and seqnum as 0
+[DEBUG] Received data packet seqnum 0 with timestamp 0 | current_window_size : 31, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 1, timestamp 0
+[DEBUG] Received data packet seqnum 1 with timestamp 0 | current_window_size : 30, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 2, timestamp 0
+[DEBUG] Received a damaged packet with 4 status. and seqnum as 0
+[DEBUG] Received data packet seqnum 2 with timestamp 984824098 | current_window_size : 29, current_window_start : 0
+[DEBUG] Sent ACK saying we are waiting for 3, timestamp 0
+[DEBUG] Received a damaged packet with 3 status. and seqnum as 0
+[DEBUG] Received data packet seqnum 3 with timestamp 0 | current_window_size : 28, current_window_start : 0
+[DEBUG] Going to consume the next 4 packets.
+[DEBUG] Consuming packet : 0 | curr_recv_window = 27, recv_window_start = 0
+[DEBUG] Consuming packet : 1 | curr_recv_window = 28, recv_window_start = 1
+[DEBUG] Consuming packet : 2 | curr_recv_window = 29, recv_window_start = 2
+[DEBUG] Consuming packet : 3 | curr_recv_window = 30, recv_window_start = 3
+[DEBUG] Received the last packet
+[DEBUG] Sent ACK saying we are waiting for 4, timestamp 0
+[DEBUG] Done the transfer with done status being true
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv.
diff --git a/tests_logs/advanced_tests/long_message/adv_long_message_sender.log b/tests_logs/advanced_tests/long_message/adv_long_message_sender.log
new file mode 100644
index 0000000..142803c
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/adv_long_message_sender.log
@@ -0,0 +1,41 @@
+[DEBUG] Sender has following arguments: 
+		filename is ./test_files//long_message.txt,
+		stats_filename is tests_logs/advanced_tests/long_message/long_message_sender_stats.csv,
+		fec_enabled is 0,
+		receiver_ip is ::1,
+		receiver_port is 65164
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65164
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The pkt with seqnum: 0 has timeout
+[DEBUG] Sending the pkt with seqnum: 0
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 1 has been received
+[DEBUG] The sender is cumulatively acknowledging [0 : 1[ (place in the buffer) | [0, 1[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 30
+[DEBUG] Sending the pkt with seqnum: 1
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 30 | receiver window size: 29
+[DEBUG] The LAST PTYPE_DATA is being sent !
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 2 has been received
+[DEBUG] The sender is cumulatively acknowledging [1 : 2[ (place in the buffer) | [1, 2[ (seqnum)
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The pkt with seqnum: 2 has timeout
+[DEBUG] Sending the pkt with seqnum: 2
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 3 has been received
+[DEBUG] The sender is cumulatively acknowledging [2 : 3[ (place in the buffer) | [2, 3[ (seqnum)
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 28
+[DEBUG] The CLOSING pkt is being sent !
+[DEBUG] Sending the pkt with seqnum: 3
+[DEBUG] A timer of -> 30000ms <- has started after sending the last FEC pkt !
+[DEBUG] The pkt with seqnum: 3 has timeout
+[DEBUG] Sending the pkt with seqnum: 3
+[DEBUG] The pkt with seqnum: 3 has timeout
+[DEBUG] Sending the pkt with seqnum: 3
+[DEBUG] The sender is reading from the socket.
+[DEBUG] The ACK with the seqnum: 4 has been received
+[DEBUG] The sender is cumulatively acknowledging [3 : 4[ (place in the buffer) | [3, 4[ (seqnum)
+[DEBUG] Sender disconnected
+[DEBUG] Wrote the transfer statistics to tests_logs/advanced_tests/long_message/long_message_sender_stats.csv.
diff --git a/tests_logs/advanced_tests/long_message/adv_valgrind_long_message_receiver.log b/tests_logs/advanced_tests/long_message/adv_valgrind_long_message_receiver.log
new file mode 100644
index 0000000..d10e023
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/adv_valgrind_long_message_receiver.log
@@ -0,0 +1,26 @@
+==14948== Memcheck, a memory error detector
+==14948== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==14948== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==14948== Command: ./receiver ::1 65114 -s tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv
+==14948== Parent PID: 14919
+==14948== 
+==14948== 
+==14948== HEAP SUMMARY:
+==14948==     in use at exit: 120 bytes in 1 blocks
+==14948==   total heap usage: 22 allocs, 21 frees, 14,578 bytes allocated
+==14948== 
+==14948== 120 bytes in 1 blocks are definitely lost in loss record 1 of 1
+==14948==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+==14948==    by 0x10BD7F: state_new (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/receiver)
+==14948==    by 0x10BEBB: receiver_read_write_loop (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/receiver)
+==14948==    by 0x10953D: main (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/receiver)
+==14948== 
+==14948== LEAK SUMMARY:
+==14948==    definitely lost: 120 bytes in 1 blocks
+==14948==    indirectly lost: 0 bytes in 0 blocks
+==14948==      possibly lost: 0 bytes in 0 blocks
+==14948==    still reachable: 0 bytes in 0 blocks
+==14948==         suppressed: 0 bytes in 0 blocks
+==14948== 
+==14948== For lists of detected and suppressed errors, rerun with: -s
+==14948== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/long_message/adv_valgrind_long_message_sender.log b/tests_logs/advanced_tests/long_message/adv_valgrind_long_message_sender.log
new file mode 100644
index 0000000..889985c
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/adv_valgrind_long_message_sender.log
@@ -0,0 +1,15 @@
+==14949== Memcheck, a memory error detector
+==14949== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==14949== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==14949== Command: ./sender -f ./test_files//long_message.txt ::1 65164 -s tests_logs/advanced_tests/long_message/long_message_sender_stats.csv
+==14949== Parent PID: 14919
+==14949== 
+==14949== 
+==14949== HEAP SUMMARY:
+==14949==     in use at exit: 0 bytes in 0 blocks
+==14949==   total heap usage: 13 allocs, 13 frees, 5,976 bytes allocated
+==14949== 
+==14949== All heap blocks were freed -- no leaks are possible
+==14949== 
+==14949== For lists of detected and suppressed errors, rerun with: -s
+==14949== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv b/tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv
new file mode 100644
index 0000000..9cbf943
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/long_message_receiver_stats.csv
@@ -0,0 +1,11 @@
+data_sent:0
+data_received:4
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:4
+ack_received:0
+nack_received:0
+packet_ignored:3
+packet_duplicated:0
+packet_recovered:0
diff --git a/tests_logs/advanced_tests/long_message/long_message_sender_stats.csv b/tests_logs/advanced_tests/long_message/long_message_sender_stats.csv
new file mode 100644
index 0000000..ff5cf29
--- /dev/null
+++ b/tests_logs/advanced_tests/long_message/long_message_sender_stats.csv
@@ -0,0 +1,12 @@
+data_sent:9
+data_received:0
+data_truncated_received:0
+fec_sent:0
+fec_received:0
+ack_sent:0
+ack_received:4
+nack_received:0
+packet_ignored:0
+min_rtt:1
+max_rtt:4007
+packet_retransmitted:5
diff --git a/tests_logs/advanced_tests/smile/adv_smile_link.log b/tests_logs/advanced_tests/smile/adv_smile_link.log
new file mode 100644
index 0000000..7a2bf0b
--- /dev/null
+++ b/tests_logs/advanced_tests/smile/adv_smile_link.log
@@ -0,0 +1,13 @@
+@@ Using random seed: 1650024432
+@@ Using parameters:
+.. port: 65142
+.. forward_port: 65138
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650024432
+.. link_direction: Forward
+@@ Remote host is ::1 [57367]
+[SEQ   0] Dropping packet
diff --git a/tests_logs/advanced_tests/smile/adv_smile_received_file.png b/tests_logs/advanced_tests/smile/adv_smile_received_file.png
new file mode 100644
index 0000000..e69de29
diff --git a/tests_logs/advanced_tests/smile/adv_smile_receiver.log b/tests_logs/advanced_tests/smile/adv_smile_receiver.log
new file mode 100644
index 0000000..fcedb4c
--- /dev/null
+++ b/tests_logs/advanced_tests/smile/adv_smile_receiver.log
@@ -0,0 +1,2 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/smile/smile_receiver_stats.csv, listen_ip is ::1, listen_port is 65138
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65138
diff --git a/tests_logs/advanced_tests/smile/adv_smile_sender.log b/tests_logs/advanced_tests/smile/adv_smile_sender.log
new file mode 100644
index 0000000..c3bcb35
--- /dev/null
+++ b/tests_logs/advanced_tests/smile/adv_smile_sender.log
@@ -0,0 +1,9 @@
+[DEBUG] Sender has following arguments: 
+		filename is ./test_files//smile.png,
+		stats_filename is tests_logs/advanced_tests/smile/smile_sender_stats.csv,
+		fec_enabled is 0,
+		receiver_ip is ::1,
+		receiver_port is 65142
+[DEBUG] Successfully connected to IPv6 addresss: 0000:0000:0000:0000:0000:0000:0000:0001, port : 65142
+[DEBUG] The sender will send a pkt on the socket, the current sender window size is: 31 | receiver window size: 1
+[DEBUG] Sending the pkt with seqnum: 0
diff --git a/tests_logs/advanced_tests/smile/adv_valgrind_smile_receiver.log b/tests_logs/advanced_tests/smile/adv_valgrind_smile_receiver.log
new file mode 100644
index 0000000..739f675
--- /dev/null
+++ b/tests_logs/advanced_tests/smile/adv_valgrind_smile_receiver.log
@@ -0,0 +1,6 @@
+==15112== Memcheck, a memory error detector
+==15112== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==15112== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==15112== Command: ./receiver ::1 65138 -s tests_logs/advanced_tests/smile/smile_receiver_stats.csv
+==15112== Parent PID: 15083
+==15112== 
diff --git a/tests_logs/advanced_tests/smile/adv_valgrind_smile_sender.log b/tests_logs/advanced_tests/smile/adv_valgrind_smile_sender.log
new file mode 100644
index 0000000..131236f
--- /dev/null
+++ b/tests_logs/advanced_tests/smile/adv_valgrind_smile_sender.log
@@ -0,0 +1,33 @@
+==15113== Memcheck, a memory error detector
+==15113== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==15113== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==15113== Command: ./sender -f ./test_files//smile.png ::1 65142 -s tests_logs/advanced_tests/smile/smile_sender_stats.csv
+==15113== Parent PID: 15083
+==15113== 
+==15113== 
+==15113== Process terminating with default action of signal 2 (SIGINT)
+==15113==    at 0x498D995: poll (poll.c:29)
+==15113==    by 0x1095F0: main (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/sender)
+==15113== 
+==15113== HEAP SUMMARY:
+==15113==     in use at exit: 2,200 bytes in 4 blocks
+==15113==   total heap usage: 6 allocs, 2 frees, 2,280 bytes allocated
+==15113== 
+==15113== 8 bytes in 1 blocks are definitely lost in loss record 1 of 4
+==15113==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+==15113==    by 0x1095A4: main (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/sender)
+==15113== 
+==15113== 2,192 (1,544 direct, 648 indirect) bytes in 1 blocks are definitely lost in loss record 4 of 4
+==15113==    at 0x483DD99: calloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+==15113==    by 0x10AE8B: state_new (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/sender)
+==15113==    by 0x1095C5: main (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/sender)
+==15113== 
+==15113== LEAK SUMMARY:
+==15113==    definitely lost: 1,552 bytes in 2 blocks
+==15113==    indirectly lost: 648 bytes in 2 blocks
+==15113==      possibly lost: 0 bytes in 0 blocks
+==15113==    still reachable: 0 bytes in 0 blocks
+==15113==         suppressed: 0 bytes in 0 blocks
+==15113== 
+==15113== For lists of detected and suppressed errors, rerun with: -s
+==15113== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/smile/smile_receiver_stats.csv b/tests_logs/advanced_tests/smile/smile_receiver_stats.csv
new file mode 100644
index 0000000..e69de29
diff --git a/tests_logs/advanced_tests/smile/smile_sender_stats.csv b/tests_logs/advanced_tests/smile/smile_sender_stats.csv
new file mode 100644
index 0000000..e69de29
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_link.log b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_link.log
new file mode 100644
index 0000000..e67cac6
--- /dev/null
+++ b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_link.log
@@ -0,0 +1,11 @@
+@@ Using random seed: 1650024433
+@@ Using parameters:
+.. port: 65079
+.. forward_port: 65157
+.. delay: 0
+.. jitter: 0
+.. err_rate: 20
+.. cut_rate: 30
+.. loss_rate: 25
+.. seed: 1650024433
+.. link_direction: Forward
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_received_file.gif b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_received_file.gif
new file mode 100644
index 0000000..e69de29
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_receiver.log b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_receiver.log
new file mode 100644
index 0000000..d1d3fcf
--- /dev/null
+++ b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_receiver.log
@@ -0,0 +1,2 @@
+[DEBUG] Receiver has following arguments: stats_filename is tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_receiver_stats.csv, listen_ip is ::1, listen_port is 65157
+[DEBUG] Successfully bound to IPv6 address : 0000:0000:0000:0000:0000:0000:0000:0001, port : 65157
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_sender.log b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_sender.log
new file mode 100644
index 0000000..d61dc2f
--- /dev/null
+++ b/tests_logs/advanced_tests/thumbs-up-nod/adv_thumbs-up-nod_sender.log
@@ -0,0 +1,6 @@
+[DEBUG] Sender has following arguments: 
+		filename is ./test_files//thumbs-up-nod.gif,
+		stats_filename is tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_sender_stats.csv,
+		fec_enabled is 0,
+		receiver_ip is ::1,
+		receiver_port is 65079
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_receiver.log b/tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_receiver.log
new file mode 100644
index 0000000..1a8a961
--- /dev/null
+++ b/tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_receiver.log
@@ -0,0 +1,6 @@
+==15155== Memcheck, a memory error detector
+==15155== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==15155== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==15155== Command: ./receiver ::1 65157 -s tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_receiver_stats.csv
+==15155== Parent PID: 15126
+==15155== 
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_sender.log b/tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_sender.log
new file mode 100644
index 0000000..33c4b6f
--- /dev/null
+++ b/tests_logs/advanced_tests/thumbs-up-nod/adv_valgrind_thumbs-up-nod_sender.log
@@ -0,0 +1,27 @@
+==15156== Memcheck, a memory error detector
+==15156== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
+==15156== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
+==15156== Command: ./sender -f ./test_files//thumbs-up-nod.gif ::1 65079 -s tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_sender_stats.csv
+==15156== Parent PID: 15126
+==15156== 
+==15156== 
+==15156== Process terminating with default action of signal 2 (SIGINT)
+==15156==    at 0x49890A5: write (write.c:26)
+==15156==    by 0x4909EBC: _IO_file_write@@GLIBC_2.2.5 (fileops.c:1181)
+==15156==    by 0x490A7D7: new_do_write (fileops.c:449)
+==15156==    by 0x490A7D7: _IO_new_file_xsputn (fileops.c:1255)
+==15156==    by 0x490A7D7: _IO_file_xsputn@@GLIBC_2.2.5 (fileops.c:1197)
+==15156==    by 0x48F4F82: buffered_vfprintf (vfprintf-internal.c:2395)
+==15156==    by 0x48F1D53: __vfprintf_internal (vfprintf-internal.c:1346)
+==15156==    by 0x49A9152: __fprintf_chk (fprintf_chk.c:33)
+==15156==    by 0x109EE1: create_socket_connect (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/sender)
+==15156==    by 0x109568: main (in /mnt/datalinux/Documents/BAC-SINF/bac3/Q2/reseaux/projet/project_trtp/sender)
+==15156== 
+==15156== HEAP SUMMARY:
+==15156==     in use at exit: 0 bytes in 0 blocks
+==15156==   total heap usage: 2 allocs, 2 frees, 80 bytes allocated
+==15156== 
+==15156== All heap blocks were freed -- no leaks are possible
+==15156== 
+==15156== For lists of detected and suppressed errors, rerun with: -s
+==15156== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_receiver_stats.csv b/tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_receiver_stats.csv
new file mode 100644
index 0000000..e69de29
diff --git a/tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_sender_stats.csv b/tests_logs/advanced_tests/thumbs-up-nod/thumbs-up-nod_sender_stats.csv
new file mode 100644
index 0000000..e69de29
-- 
GitLab