wip killed redirection

This commit is contained in:
asus
2023-02-22 16:09:16 +01:00
parent 37a45a9a0a
commit 1e38829e31
16 changed files with 413 additions and 135 deletions

BIN
a.out

Binary file not shown.

View File

@@ -1,10 +1,9 @@
received 1 : client 1:
received 1 : client 2: holla
received 1 : client 3: hulli
received 1 : server: client 1 just arrived
received 1 : server: client 1 just left
received 1 : server: client 2 just arrived
received 1 : server: client 2 just left
received 1 : server: client 3 just arrived
received 1 : server: client 3 just left
received 0 : client 1: hello
received 0 : client 2: holla
received 0 : client 3: hulli
received 0 : server: client 1 just arrived
received 0 : server: client 1 just left
received 0 : server: client 2 just arrived
received 0 : server: client 2 just left
received 0 : server: client 3 just arrived
received 0 : server: client 3 just left

9
logs/test_1_compare.txt Normal file
View File

@@ -0,0 +1,9 @@
received 0 : client 1: hello
received 0 : client 2: holla
received 0 : client 3: hulli
received 0 : server: client 1 just arrived
received 0 : server: client 1 just left
received 0 : server: client 2 just arrived
received 0 : server: client 2 just left
received 0 : server: client 3 just arrived
received 0 : server: client 3 just left

View File

@@ -1,18 +1,17 @@
received 3 : client 7: holla
received 3 : server: client 7 just arrived
received 2 : server: client 6 just left
received 1 : client 5:
received 1 : client 6: hulli
received 1 : client 7: holla
received 1 : server: client 5 just arrived
received 2 : client 7: hulli
received 2 : server: client 7 just arrived
received 2 : server: client 7 just left
received 1 : client 6: holla
received 1 : client 7: hulli
received 1 : server: client 6 just arrived
received 1 : server: client 6 just left
received 1 : server: client 7 just arrived
received 1 : server: client 7 just left
received 0 : client 6: hulli
received 0 : client 7: holla
received 0 : server: client 4 just left
received 0 : client 5: hello
received 0 : client 6: holla
received 0 : client 7: hulli
received 0 : server: client 5 just arrived
received 0 : server: client 5 just left
received 0 : server: client 6 just arrived
received 0 : server: client 6 just left
received 0 : server: client 7 just arrived

18
logs/test_2_compare.txt Normal file
View File

@@ -0,0 +1,18 @@
received 2 : client 7: hulli
received 2 : server: client 7 just arrived
received 2 : server: client 7 just left
received 1 : client 6: holla
received 1 : client 7: hulli
received 1 : server: client 6 just arrived
received 1 : server: client 6 just left
received 1 : server: client 7 just arrived
received 1 : server: client 7 just left
received 0 : client 5: hello
received 0 : client 6: holla
received 0 : client 7: hulli
received 0 : server: client 5 just arrived
received 0 : server: client 5 just left
received 0 : server: client 6 just arrived
received 0 : server: client 6 just left
received 0 : server: client 7 just arrived
received 0 : server: client 7 just left

View File

@@ -1,22 +1,17 @@
received 1 : client 10:
received 1 : client 10: line 1
received 1 : client 10: line 2
received 1 : client 10: line 4
received 1 : client 10: line 5
received 1 : client 9:
received 1 : server: client 10 just arrived
received 1 : server: client 10 just left
received 1 : server: client 9 just arrived
received 0 : client 10:
received 0 : client 10: line 1
received 0 : client 10: line 2
received 0 : client 10: line 4
received 0 : client 10: line 5
received 0 : client 9:
received 0 : client 9: line 1
received 0 : client 9: line 2
received 0 : client 9: line 4
received 0 : client 9: line 5
received 0 : server: client 10 just arrived
received 0 : server: client 10 just left
received 0 : server: client 9 just arrived
received 0 : server: client 9 just left
received 0 : server: client 8 just left

21
logs/test_3_compare.txt Normal file
View File

@@ -0,0 +1,21 @@
received 1 : client 10:
received 1 : client 10: line 1
received 1 : client 10: line 2
received 1 : client 10: line 4
received 1 : client 10: line 5
received 1 : server: client 10 just arrived
received 1 : server: client 10 just left
received 0 : client 10:
received 0 : client 10: line 1
received 0 : client 10: line 2
received 0 : client 10: line 4
received 0 : client 10: line 5
received 0 : client 9:
received 0 : client 9: line 1
received 0 : client 9: line 2
received 0 : client 9: line 4
received 0 : client 9: line 5
received 0 : server: client 10 just arrived
received 0 : server: client 10 just left
received 0 : server: client 9 just arrived
received 0 : server: client 9 just left

View File

@@ -1,4 +1,3 @@
received 0 : client 12: one medium line, which is more thant 50 characters long
received 0 : server: client 12 just arrived
received 0 : server: client 12 just left

3
logs/test_4_compare.txt Normal file
View File

@@ -0,0 +1,3 @@
received 0 : client 12: one medium line, which is more thant 50 characters long
received 0 : server: client 12 just arrived
received 0 : server: client 12 just left

View File

@@ -1,2 +1 @@
received 0 : server: client 14 just arrived

3
logs/test_5_compare.txt Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,94 +1,3 @@
received 1 : client 17:
received 1 : client 18:
received 1 : client 19:
received 1 : client 20:
received 1 : client 21:
received 1 : client 22:
received 1 : client 23:
received 1 : client 24:
received 1 : client 25:
received 1 : client 26:
received 1 : client 27:
received 1 : client 28:
received 1 : client 29:
received 1 : client 30:
received 1 : client 31:
received 1 : client 32:
received 1 : client 33:
received 1 : client 34:
received 1 : client 35:
received 1 : client 36:
received 1 : client 37:
received 1 : client 38:
received 1 : client 39:
received 1 : client 40:
received 1 : client 41:
received 1 : client 42:
received 1 : client 43:
received 1 : client 44:
received 1 : client 45:
received 1 : client 46:
received 1 : server: client 17 just arrived
received 1 : server: client 17 just left
received 1 : server: client 18 just arrived
received 1 : server: client 18 just left
received 1 : server: client 19 just arrived
received 1 : server: client 19 just left
received 1 : server: client 20 just arrived
received 1 : server: client 20 just left
received 1 : server: client 21 just arrived
received 1 : server: client 21 just left
received 1 : server: client 22 just arrived
received 1 : server: client 22 just left
received 1 : server: client 23 just arrived
received 1 : server: client 23 just left
received 1 : server: client 24 just arrived
received 1 : server: client 24 just left
received 1 : server: client 25 just arrived
received 1 : server: client 25 just left
received 1 : server: client 26 just arrived
received 1 : server: client 26 just left
received 1 : server: client 27 just arrived
received 1 : server: client 27 just left
received 1 : server: client 28 just arrived
received 1 : server: client 28 just left
received 1 : server: client 29 just arrived
received 1 : server: client 29 just left
received 1 : server: client 30 just arrived
received 1 : server: client 30 just left
received 1 : server: client 31 just arrived
received 1 : server: client 31 just left
received 1 : server: client 32 just arrived
received 1 : server: client 32 just left
received 1 : server: client 33 just arrived
received 1 : server: client 33 just left
received 1 : server: client 34 just arrived
received 1 : server: client 34 just left
received 1 : server: client 35 just arrived
received 1 : server: client 35 just left
received 1 : server: client 36 just arrived
received 1 : server: client 36 just left
received 1 : server: client 37 just arrived
received 1 : server: client 37 just left
received 1 : server: client 38 just arrived
received 1 : server: client 38 just left
received 1 : server: client 39 just arrived
received 1 : server: client 39 just left
received 1 : server: client 40 just arrived
received 1 : server: client 40 just left
received 1 : server: client 41 just arrived
received 1 : server: client 41 just left
received 1 : server: client 42 just arrived
received 1 : server: client 42 just left
received 1 : server: client 43 just arrived
received 1 : server: client 43 just left
received 1 : server: client 44 just arrived
received 1 : server: client 44 just left
received 1 : server: client 45 just arrived
received 1 : server: client 45 just left
received 1 : server: client 46 just arrived
received 1 : server: client 46 just left
received 0 : client 16:
received 0 : client 17:
received 0 : client 18:
@@ -181,3 +90,93 @@ received 0 : server: client 45 just arrived
received 0 : server: client 45 just left
received 0 : server: client 46 just arrived
received 0 : server: client 46 just left
received 1 : client 17:
received 1 : client 18:
received 1 : client 19:
received 1 : client 20:
received 1 : client 21:
received 1 : client 22:
received 1 : client 23:
received 1 : client 24:
received 1 : client 25:
received 1 : client 26:
received 1 : client 27:
received 1 : client 28:
received 1 : client 29:
received 1 : client 30:
received 1 : client 31:
received 1 : client 32:
received 1 : client 33:
received 1 : client 34:
received 1 : client 35:
received 1 : client 36:
received 1 : client 37:
received 1 : client 38:
received 1 : client 39:
received 1 : client 40:
received 1 : client 41:
received 1 : client 42:
received 1 : client 43:
received 1 : client 44:
received 1 : client 45:
received 1 : client 46:
received 1 : server: client 17 just arrived
received 1 : server: client 17 just left
received 1 : server: client 18 just arrived
received 1 : server: client 18 just left
received 1 : server: client 19 just arrived
received 1 : server: client 19 just left
received 1 : server: client 20 just arrived
received 1 : server: client 20 just left
received 1 : server: client 21 just arrived
received 1 : server: client 21 just left
received 1 : server: client 22 just arrived
received 1 : server: client 22 just left
received 1 : server: client 23 just arrived
received 1 : server: client 23 just left
received 1 : server: client 24 just arrived
received 1 : server: client 24 just left
received 1 : server: client 25 just arrived
received 1 : server: client 25 just left
received 1 : server: client 26 just arrived
received 1 : server: client 26 just left
received 1 : server: client 27 just arrived
received 1 : server: client 27 just left
received 1 : server: client 28 just arrived
received 1 : server: client 28 just left
received 1 : server: client 29 just arrived
received 1 : server: client 29 just left
received 1 : server: client 30 just arrived
received 1 : server: client 30 just left
received 1 : server: client 31 just arrived
received 1 : server: client 31 just left
received 1 : server: client 32 just arrived
received 1 : server: client 32 just left
received 1 : server: client 33 just arrived
received 1 : server: client 33 just left
received 1 : server: client 34 just arrived
received 1 : server: client 34 just left
received 1 : server: client 35 just arrived
received 1 : server: client 35 just left
received 1 : server: client 36 just arrived
received 1 : server: client 36 just left
received 1 : server: client 37 just arrived
received 1 : server: client 37 just left
received 1 : server: client 38 just arrived
received 1 : server: client 38 just left
received 1 : server: client 39 just arrived
received 1 : server: client 39 just left
received 1 : server: client 40 just arrived
received 1 : server: client 40 just left
received 1 : server: client 41 just arrived
received 1 : server: client 41 just left
received 1 : server: client 42 just arrived
received 1 : server: client 42 just left
received 1 : server: client 43 just arrived
received 1 : server: client 43 just left
received 1 : server: client 44 just arrived
received 1 : server: client 44 just left
received 1 : server: client 45 just arrived
received 1 : server: client 45 just left
received 1 : server: client 46 just arrived
received 1 : server: client 46 just left

182
logs/test_6_compare.txt Normal file
View File

@@ -0,0 +1,182 @@
received 1 : client 17:
received 1 : client 18:
received 1 : client 19:
received 1 : client 20:
received 1 : client 21:
received 1 : client 22:
received 1 : client 23:
received 1 : client 24:
received 1 : client 25:
received 1 : client 26:
received 1 : client 27:
received 1 : client 28:
received 1 : client 29:
received 1 : client 30:
received 1 : client 31:
received 1 : client 32:
received 1 : client 33:
received 1 : client 34:
received 1 : client 35:
received 1 : client 36:
received 1 : client 37:
received 1 : client 38:
received 1 : client 39:
received 1 : client 40:
received 1 : client 41:
received 1 : client 42:
received 1 : client 43:
received 1 : client 44:
received 1 : client 45:
received 1 : client 46:
received 1 : server: client 17 just arrived
received 1 : server: client 17 just left
received 1 : server: client 18 just arrived
received 1 : server: client 18 just left
received 1 : server: client 19 just arrived
received 1 : server: client 19 just left
received 1 : server: client 20 just arrived
received 1 : server: client 20 just left
received 1 : server: client 21 just arrived
received 1 : server: client 21 just left
received 1 : server: client 22 just arrived
received 1 : server: client 22 just left
received 1 : server: client 23 just arrived
received 1 : server: client 23 just left
received 1 : server: client 24 just arrived
received 1 : server: client 24 just left
received 1 : server: client 25 just arrived
received 1 : server: client 25 just left
received 1 : server: client 26 just arrived
received 1 : server: client 26 just left
received 1 : server: client 27 just arrived
received 1 : server: client 27 just left
received 1 : server: client 28 just arrived
received 1 : server: client 28 just left
received 1 : server: client 29 just arrived
received 1 : server: client 29 just left
received 1 : server: client 30 just arrived
received 1 : server: client 30 just left
received 1 : server: client 31 just arrived
received 1 : server: client 31 just left
received 1 : server: client 32 just arrived
received 1 : server: client 32 just left
received 1 : server: client 33 just arrived
received 1 : server: client 33 just left
received 1 : server: client 34 just arrived
received 1 : server: client 34 just left
received 1 : server: client 35 just arrived
received 1 : server: client 35 just left
received 1 : server: client 36 just arrived
received 1 : server: client 36 just left
received 1 : server: client 37 just arrived
received 1 : server: client 37 just left
received 1 : server: client 38 just arrived
received 1 : server: client 38 just left
received 1 : server: client 39 just arrived
received 1 : server: client 39 just left
received 1 : server: client 40 just arrived
received 1 : server: client 40 just left
received 1 : server: client 41 just arrived
received 1 : server: client 41 just left
received 1 : server: client 42 just arrived
received 1 : server: client 42 just left
received 1 : server: client 43 just arrived
received 1 : server: client 43 just left
received 1 : server: client 44 just arrived
received 1 : server: client 44 just left
received 1 : server: client 45 just arrived
received 1 : server: client 45 just left
received 1 : server: client 46 just arrived
received 1 : server: client 46 just left
received 0 : client 16:
received 0 : client 17:
received 0 : client 18:
received 0 : client 19:
received 0 : client 20:
received 0 : client 21:
received 0 : client 22:
received 0 : client 23:
received 0 : client 24:
received 0 : client 25:
received 0 : client 26:
received 0 : client 27:
received 0 : client 28:
received 0 : client 29:
received 0 : client 30:
received 0 : client 31:
received 0 : client 32:
received 0 : client 33:
received 0 : client 34:
received 0 : client 35:
received 0 : client 36:
received 0 : client 37:
received 0 : client 38:
received 0 : client 39:
received 0 : client 40:
received 0 : client 41:
received 0 : client 42:
received 0 : client 43:
received 0 : client 44:
received 0 : client 45:
received 0 : client 46:
received 0 : server: client 16 just arrived
received 0 : server: client 17 just arrived
received 0 : server: client 17 just left
received 0 : server: client 18 just arrived
received 0 : server: client 18 just left
received 0 : server: client 19 just arrived
received 0 : server: client 19 just left
received 0 : server: client 20 just arrived
received 0 : server: client 20 just left
received 0 : server: client 21 just arrived
received 0 : server: client 21 just left
received 0 : server: client 22 just arrived
received 0 : server: client 22 just left
received 0 : server: client 23 just arrived
received 0 : server: client 23 just left
received 0 : server: client 24 just arrived
received 0 : server: client 24 just left
received 0 : server: client 25 just arrived
received 0 : server: client 25 just left
received 0 : server: client 26 just arrived
received 0 : server: client 26 just left
received 0 : server: client 27 just arrived
received 0 : server: client 27 just left
received 0 : server: client 28 just arrived
received 0 : server: client 28 just left
received 0 : server: client 29 just arrived
received 0 : server: client 29 just left
received 0 : server: client 30 just arrived
received 0 : server: client 30 just left
received 0 : server: client 31 just arrived
received 0 : server: client 31 just left
received 0 : server: client 32 just arrived
received 0 : server: client 32 just left
received 0 : server: client 33 just arrived
received 0 : server: client 33 just left
received 0 : server: client 34 just arrived
received 0 : server: client 34 just left
received 0 : server: client 35 just arrived
received 0 : server: client 35 just left
received 0 : server: client 36 just arrived
received 0 : server: client 36 just left
received 0 : server: client 37 just arrived
received 0 : server: client 37 just left
received 0 : server: client 38 just arrived
received 0 : server: client 38 just left
received 0 : server: client 39 just arrived
received 0 : server: client 39 just left
received 0 : server: client 40 just arrived
received 0 : server: client 40 just left
received 0 : server: client 41 just arrived
received 0 : server: client 41 just left
received 0 : server: client 42 just arrived
received 0 : server: client 42 just left
received 0 : server: client 43 just arrived
received 0 : server: client 43 just left
received 0 : server: client 44 just arrived
received 0 : server: client 44 just left
received 0 : server: client 45 just arrived
received 0 : server: client 45 just left
received 0 : server: client 46 just arrived
received 0 : server: client 46 just left

BIN
mini_serv Executable file

Binary file not shown.

BIN
mini_serv_compare Executable file

Binary file not shown.

View File

@@ -1,20 +1,47 @@
#!/bin/bash
path="mini_serv.c"
if [ ! -z "$1" ]; then
path="$1"
fi
id=1
test_directory="logs"
mkdir -p "$test_directory"
test_file_name="log"
test_number=0
GRAY="\e[0;30m"
RED="\e[0;31m"
GREEN="\e[0;32m"
YELLOW="\e[0;33m"
BLUE="\e[0;34m"
PURPLE="\e[0;35m"
CYAN="\e[0;36m"
WHITE="\e[0;37m"
B_GRAY="\e[1;30m"
B_RED="\e[1;31m"
B_GREEN="\e[1;32m"
B_YELLOW="\e[1;33m"
B_BLUE="\e[1;34m"
B_PURPLE="\e[1;35m"
B_CYAN="\e[1;36m"
B_WHITE="\e[1;37m"
COLOR_RESET="\e[0m"
path="mini_serv.c"
compare_path="utils/mini_serv_luke.c"
port=0
while [ $port -lt 1024 -o $port -gt 10000 ]; do
port=$RANDOM
done
compare_port=0
while [ $compare_port -lt 1024 -o $compare_port -gt 10000 ]; do
compare_port=$RANDOM
if [ $compare_port -eq $port ]; then
compare_port=0
fi
done
id=1
test_directory="logs"
rm -rf "$test_directory"
mkdir -p "$test_directory"
test_file_name="log"
test_number=0
new_test() {
@@ -22,23 +49,35 @@ new_test() {
id=0
((++test_number))
test_file_name="test_$test_number"
echo "" > $test_directory/$test_file_name.txt
launch_client
}
# parameter 1 : text
launch_client() {
# my miniserv
while read -r line
do
echo "received $id : $line"
done < <(echo "$1" | nc localhost "$port" 2>&1) | sort >> $test_directory/$test_file_name.txt &
# the compared miniserv
while read -r line
do
echo "received $id : $line"
done < <(echo "$1" | nc localhost "$compare_port" 2>&1) | sort >> $test_directory/${test_file_name}_compare.txt &
((++id))
}
stop_last_client() {
kill -KILL $(pidof nc | tr ' ' '\n' | head -n1)
pid=$(pidof nc | tr ' ' '\n' | head -n1)
kill -KILL $pid
wait $pid 2>/dev/null
pid=$(pidof nc | tr ' ' '\n' | head -n1)
kill -KILL $pid
wait $pid 2>/dev/null
}
clang -Wall -Wextra -Werror $path 2>&1
./a.out "$port" 2>&1 &
clang -Wall -Wextra -Werror $path -o mini_serv 2>&1
clang -Wall -Wextra -Werror $compare_path -o mini_serv_compare 2>&1
./mini_serv "$port" 2>&1 &
./mini_serv_compare "$compare_port" 2>&1 &
# # # # # # # # # # # # # # # # # # # # # # # # # #
@@ -104,5 +143,18 @@ do
done
# COMPARE # # # # # # # # # # # # # # # # # # # #
#
number_of_tests=$((`ls -1 "$test_directory" | wc -l` / 2))
for i in $(seq 1 $number_of_tests); do
test_diff=$(diff -U 3 $test_directory/test_${i}.txt $test_directory/test_${i}_compare.txt)
if [ -z "$test_diff" ]; then
echo -e $B_GREEN"ok"$COLOR_RESET
else
echo -e $B_RED"ko"$COLOR_RESET
fi
done
killall -q a.out nc