gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnunet] 12/19: Fixed Generic and specific test setup and code.


From: gnunet
Subject: [gnunet] 12/19: Fixed Generic and specific test setup and code.
Date: Wed, 28 Aug 2024 11:19:42 +0200

This is an automated email from the git hooks/post-receive script.

t3sserakt pushed a commit to branch master
in repository gnunet.

commit ecbec010c90fbcd1ea3542eee5c91b50ad2845b9
Author: t3sserakt <t3ss@posteo.de>
AuthorDate: Fri Aug 23 10:23:55 2024 +0200

    Fixed Generic and specific test setup and code.
---
 scripts/netjail/netjail_start_new.sh              | 47 +++++++++++++++----
 scripts/netjail/netjail_test_master.sh            | 22 ++++-----
 src/service/arm/test_arm_plugin_probnat.c         | 15 ++++++-
 src/service/arm/test_arm_probnat.conf             | 55 -----------------------
 src/service/arm/test_arm_probnat_host.conf        | 18 +++-----
 src/service/arm/testing_arm_cmd_start_peer.c      |  9 +++-
 src/service/transport/template_tng_cfg_peer1.conf |  8 ----
 src/service/transport/test_tng_defaults.conf      |  3 --
 8 files changed, 77 insertions(+), 100 deletions(-)

diff --git a/scripts/netjail/netjail_start_new.sh 
b/scripts/netjail/netjail_start_new.sh
index ed9ba71e4..1a57ae8f7 100755
--- a/scripts/netjail/netjail_start_new.sh
+++ b/scripts/netjail/netjail_start_new.sh
@@ -60,6 +60,9 @@ configure_carrier_subnet()
 {
     X=$1
 
+    netjail_bridge
+    CARRIER_BRIDGE=$RESULT
+
     for Y in $(seq ${CARRIER_SUBNETS[$X]}); do
 
         echo gaga 4
@@ -102,18 +105,30 @@ configure_carrier_subnet()
         netjail_node
            SUBNET_ROUTERS[$X,$Y]=$RESULT
            netjail_node_link_bridge ${SUBNET_ROUTERS[$X,$Y]} 
${CARRIER_ROUTER_NETS[$X]} $ADDRESS 16
-           SUBNET_ROUTER_EXT_IF[$X]=$RESULT
+           SUBNET_ROUTER_EXT_IF[$X,$Y]=$RESULT
            netjail_bridge
            SUBNET_ROUTER_NETS[$X,$Y]=$RESULT
 
         configure_subnet_peer $X $Y
 
         echo gaga 5.5 ${SUBNET_ROUTERS[$X,$Y]}
- 
+
+        ROUTER_ADDRESS=${CARRIER_NET/X/$X}
+        ROUTER_ADDRESS=${ROUTER_ADDRESS/Y/$((${CARRIER_SUBNETS[$X]}+1))}
+        ROUTER_ADDRESS=${ROUTER_ADDRESS/Z/0}
+
+        ip netns exec ${SUBNET_ROUTERS[$X,$Y]} ip route add $ROUTER_ADDRESS 
dev ${SUBNET_ROUTER_EXT_IF[$X,$Y]}
+        ip netns exec ${SUBNET_ROUTERS[$X,$Y]} ip route add default via 
$ROUTER_ADDRESS
+        ip netns exec ${SUBNET_ROUTERS[$X,$Y]} sleep 2000 &
+
         ADDRESS=${CARRIER_NET/X/$X}
         ADDRESS=${ADDRESS/Y/${SUBNET_NODE_NUMBER[$X]}}
-        ADDRESS=${ADDRESS/Z/$((${CARRIER_SUBNET_PEERS[$X,$Y]+}1))}
+        ADDRESS=${ADDRESS/Z/$((${CARRIER_SUBNET_PEERS[$X,$Y]}+1))}
+
         netjail_node_link_bridge ${SUBNET_ROUTERS[$X,$Y]} 
${SUBNET_ROUTER_NETS[$X,$Y]} $ADDRESS 24
+
+        netjail_node_add_nat ${SUBNET_ROUTERS[$X,$Y]} $ADDRESS 24
+
         for Z in $(seq ${CARRIER_SUBNET_PEERS[$X,$Y]}); do
                    netjail_node_add_default ${SUBNET_PEER[$X,$Y,$Z]} $ADDRESS
            done
@@ -141,7 +156,7 @@ configure_carrier_peer()
         ADDRESS=${ADDRESS/Z/0}
         netjail_node
                CARRIER_PEER[$X,$Y]=$RESULT
-               netjail_node_link_bridge ${CARRIER_PEER[$X,$Y]} 
${CARRIER_ROUTER_NETS[$X]} $ADDRESS 24
+               netjail_node_link_bridge ${CARRIER_PEER[$X,$Y]} 
${CARRIER_ROUTER_NETS[$X]} $ADDRESS 16
     done
 }
 
@@ -187,10 +202,11 @@ configure_carriers ()
     # FIXME configure backbone peers
 
     echo gaga 2
-    ADDRESS=${INET/X/$TOTAL_NODES}
+    ADDRESS=${INET/X/$(($BACKBONE_PEERS+$X))}
     netjail_node
        CARRIER_ROUTERS[$X]=$RESULT
        netjail_node_link_bridge ${CARRIER_ROUTERS[$X]} $NETWORK_NET $ADDRESS 16
+    CARRIER_ROUTER_EXT_IF[$X]=$RESULT
        netjail_bridge
        CARRIER_ROUTER_NETS[$X]=$RESULT
 
@@ -199,10 +215,19 @@ configure_carriers ()
 
     echo gaga 7 ${CARRIER_PEERS[$X]}
 
+    ADDRESS=${INET/X/$XX}
+    ip netns exec ${CARRIER_ROUTERS[$X]} ip route add $ADDRESS dev 
${CARRIER_ROUTER_EXT_IF[$X]}
+    ip netns exec ${CARRIER_ROUTERS[$X]} ip route add default via $ADDRESS
+    ip netns exec ${CARRIER_ROUTERS[$X]} sleep 2001 &
+
     ROUTER_ADDRESS=${CARRIER_NET/X/$X}
-    ROUTER_ADDRESS=${ROUTER_ADDRESS/Y/$((${SUBNET_NODE_NUMBER[$X]}+1))}
+    ROUTER_ADDRESS=${ROUTER_ADDRESS/Y/$((${CARRIER_SUBNETS[$X]}+1))}
     ROUTER_ADDRESS=${ROUTER_ADDRESS/Z/0}
-    netjail_node_link_bridge ${CARRIER_ROUTERS[$X]} ${CARRIER_ROUTER_NETS[$X]} 
$ROUTER_ADDRESS 24
+
+    netjail_node_link_bridge ${CARRIER_ROUTERS[$X]} ${CARRIER_ROUTER_NETS[$X]} 
$ROUTER_ADDRESS 16
+
+    netjail_node_add_nat ${CARRIER_ROUTERS[$X]} $ROUTER_ADDRESS 16
+
     for Y in $(seq ${CARRIER_PEERS[$X]}); do
                netjail_node_add_default ${CARRIER_PEER[$X,$Y]} $ROUTER_ADDRESS
        done
@@ -252,15 +277,21 @@ for X in $(seq $BACKBONE_PEERS); do
     echo gaga 0 $BACKBONE_PEER_TESTBED_PLUGIN
     netjail_node
        BB_PEERS[$X]=$RESULT
-    ADDRESS=${INET/X/$TOTAL_NODES}
+    ADDRESS=${INET/X/$X}
        netjail_node_link_bridge ${BB_PEERS[$X]} $NETWORK_NET $ADDRESS  16
 done
 
 IPT=iptables-nft
 
+let XX=$BACKBONE_PEERS+$CARRIERS+1
+
 for X in $(seq $CARRIERS); do
     TOTAL_NODES=$(($TOTAL_NODES+1))
     configure_carriers $X
 done
 
+netjail_node
+GATEWAY=$RESULT
+ADDRESS=${INET/X/$XX}
+netjail_node_link_bridge $GATEWAY $NETWORK_NET $ADDRESS 16
 
diff --git a/scripts/netjail/netjail_test_master.sh 
b/scripts/netjail/netjail_test_master.sh
index 9487f3106..ecde89797 100755
--- a/scripts/netjail/netjail_test_master.sh
+++ b/scripts/netjail/netjail_test_master.sh
@@ -4,15 +4,15 @@ then
     echo "You have to create the directory '/run/netns'."
     exit 77
 fi
-if [ -f /proc/sys/kernel/unprivileged_userns_clone ];
-then
-    if [ "$(cat /proc/sys/kernel/unprivileged_userns_clone)" != 1 ];
-    then
-        echo -e "Error during test setup: The kernel parameter 
'kernel.unprivileged_userns_clone' has to be set to 1! One has to execute\n\n 
sysctl kernel.unprivileged_userns_clone=1\n"
-        exit 77
-    fi
-else
-    echo -e "Error during test setup: The kernel lacks the parameter 
'kernel.unprivileged_userns_clone'\n"
-    exit 77
-fi
+#if [ -f /proc/sys/kernel/unprivileged_userns_clone ];
+#then
+#    if [ "$(cat /proc/sys/kernel/unprivileged_userns_clone)" != 1 ];
+#    then
+#        echo -e "Error during test setup: The kernel parameter 
'kernel.unprivileged_us#erns_clone' has to be set to 1! One has to execute\n\n 
sysctl kernel.unprivileged_user#ns_clone=1\n"
+#        exit 77
+#    fi
+#else
+#    echo -e "Error during test setup: The kernel lacks the parameter 
'kernel.unprivile#ged_userns_clone'\n"
+#    exit 77
+#fi
 exec unshare -r -nmU bash -c "mount -t tmpfs --make-rshared tmpfs /run/netns; 
$*"
diff --git a/src/service/arm/test_arm_plugin_probnat.c 
b/src/service/arm/test_arm_plugin_probnat.c
index 4dfb0f2ba..63830928f 100644
--- a/src/service/arm/test_arm_plugin_probnat.c
+++ b/src/service/arm/test_arm_plugin_probnat.c
@@ -41,9 +41,20 @@ get_conf_name (const char *my_node_id)
 
   if (0 == strcmp ("000000", dash))
     conf_name = "test_arm_probnat_host.conf";
+  else if (0 == strcmp ("000003", dash))
+    conf_name = "test_arm_probnat_peer1.conf";
+  else if (0 == strcmp ("000006", dash))
+    conf_name = "test_arm_probnat_peer1.conf";
   else
-    conf_name = "test_arm_probnat.conf";
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+              "Getting conf for id %s failed \n",
+              my_node_id);
+  }
 
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "Using conf %s",
+              conf_name);
   return conf_name;
 }
 
@@ -59,7 +70,7 @@ GNUNET_TESTING_MAKE_PLUGIN (
                                 GNUNET_OS_PROCESS_EXITED,
                                 0,
                                 "sleep",
-                                "300",
+                                "3000",
                                 NULL),
   GNUNET_TESTING_cmd_stop_peer ("stop",
                                 "start")
diff --git a/src/service/arm/test_arm_probnat.conf 
b/src/service/arm/test_arm_probnat.conf
deleted file mode 100644
index 7b67fab66..000000000
--- a/src/service/arm/test_arm_probnat.conf
+++ /dev/null
@@ -1,55 +0,0 @@
-@INLINE@ ../transport/template_tng_cfg_peer1.conf
-[PATHS]
-GNUNET_TEST_HOME = $GNUNET_TMP/test-transport/api-tcp-p1/
-
-[transport]
-BINARY = gnunet-service-transport
-#PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-%p 
-UNIXPATH = $GNUNET_RUNTIME_DIR/tng-p1.sock
-
-[PEER]
-PRIVATE_KEY = $GNUNET_RUNTIME_DIR/private.key
-
-[communicator-tcp]
-BINARY = gnunet-communicator-tcp
-BINDTO = 192.168.15.1:60002
-DISABLE_V6 = YES
-IMMEDIATE_START = YES
-UNIXPATH = $GNUNET_RUNTIME_DIR/tcp-comm-p1.sock
-#PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_ctpeer1-%p
-#PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args
-
-[communicator-udp]
-#PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_cupeer1-%p
-BINARY = gnunet-communicator-udp
-BINDTO = 192.168.15.1:60002
-DISABLE_V6 = YES
-IMMEDIATE_START = YES
-UNIXPATH = $GNUNET_RUNTIME_DIR/udp-comm-p1.sock
-
-[peerstore]
-IMMEDIATE_START = YES
-USE_INCLUDED_HELLOS = YES
-PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-%p
-
-[topology]
-IMMEDIATE_START = YES
-PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-transport-%p
-
-[dht]
-IMMEDIATE_START = YES
-PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-%p
-
-[fs]
-IMMEDIATE_START = YES
-
-[hostlist]
-IMMEDIATE_START = YES
-SERVERS = http://192.168.1.1:8080/
-PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-%p
-
-[core]
-PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-transport-%p
-
-[cadet]
-PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-transport-%p
diff --git a/src/service/arm/test_arm_probnat_host.conf 
b/src/service/arm/test_arm_probnat_host.conf
index 406b8dcc9..a4c1995d7 100644
--- a/src/service/arm/test_arm_probnat_host.conf
+++ b/src/service/arm/test_arm_probnat_host.conf
@@ -1,31 +1,26 @@
 @INLINE@ ../transport/template_tng_cfg_peer1.conf
-[PATHS]
-GNUNET_TEST_HOME = $GNUNET_TMP/test-transport/api-tcp-p1/
+
+[PEER]
+#PRIVATE_KEY = $GNUNET_RUNTIME_DIR/private_host.key
 
 [transport]
 BINARY = gnunet-service-transport
 #PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_peer1-%p 
-UNIXPATH = $GNUNET_RUNTIME_DIR/tng-p1.sock
-
-[PEER]
-PRIVATE_KEY = $GNUNET_RUNTIME_DIR/private.key
 
 [communicator-tcp]
 BINARY = gnunet-communicator-tcp
-BINDTO = 192.168.15.1:60002
+BINDTO = 60002
 DISABLE_V6 = YES
 IMMEDIATE_START = YES
-UNIXPATH = $GNUNET_RUNTIME_DIR/tcp-comm-p1.sock
 #PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_ctpeer1-%p
 #PREFIX = xterm -geometry 100x85 -T peer1 -e gdb --args
 
 [communicator-udp]
 #PREFIX = valgrind --leak-check=full --track-origins=yes --trace-children=yes 
--log-file=$GNUNET_TEST_HOME/vg_cupeer1-%p
 BINARY = gnunet-communicator-udp
-BINDTO = 192.168.15.1:60002
+BINDTO = 60002
 DISABLE_V6 = YES
 IMMEDIATE_START = YES
-UNIXPATH = $GNUNET_RUNTIME_DIR/udp-comm-p1.sock
 
 [peerstore]
 IMMEDIATE_START = YES
@@ -42,4 +37,5 @@ IMMEDIATE_START = YES
 
 [hostlist]
 IMMEDIATE_START = YES
-OPTIONS = -p
\ No newline at end of file
+OPTIONS = -p
+EXTERNAL_DNS_NAME = 192.168.1.1
\ No newline at end of file
diff --git a/src/service/arm/testing_arm_cmd_start_peer.c 
b/src/service/arm/testing_arm_cmd_start_peer.c
index 73d7ca4e7..28f68fbd9 100644
--- a/src/service/arm/testing_arm_cmd_start_peer.c
+++ b/src/service/arm/testing_arm_cmd_start_peer.c
@@ -87,14 +87,19 @@ conn_status (
   enum GNUNET_GenericReturnValue connected)
 {
   struct GNUNET_TESTING_StartPeerState *sps = cls;
+  struct GNUNET_TESTING_AsyncContext ac = sps->ac;
 
-  if (GNUNET_OK != connected)
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "We %s arm\n",
+              GNUNET_OK != connected ? "disconnected from" : "connected to");
+  if (GNUNET_NO == ac.finished && GNUNET_OK != connected)
   {
     GNUNET_break (0);
     GNUNET_TESTING_async_fail (&sps->ac);
     return;
   }
-  GNUNET_TESTING_async_finish (&sps->ac);
+  else if (GNUNET_NO == ac.finished)
+    GNUNET_TESTING_async_finish (&sps->ac);
 }
 
 
diff --git a/src/service/transport/template_tng_cfg_peer1.conf 
b/src/service/transport/template_tng_cfg_peer1.conf
index 84b3174c4..53b2ed43d 100644
--- a/src/service/transport/template_tng_cfg_peer1.conf
+++ b/src/service/transport/template_tng_cfg_peer1.conf
@@ -1,8 +1,4 @@
 @INLINE@ test_tng_defaults.conf
-[PATHS]
-GNUNET_TEST_HOME = $GNUNET_TMP/test-transport/api-tcp-p1/
-GNUNET_RUNTIME_DIR = $GNUNET_TEST_HOME/runtime/
-GNUNET_USER_RUNTIME_DIR = $GNUNET_TEST_HOME/runtime/
 
 [nat]
 RETURN_LOCAL_ADDRESSES = YES
@@ -10,20 +6,16 @@ DISABLEV6 = NO
 
 [arm]
 PORT = 12005
-UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-p1-service-arm.sock
 
 [statistics]
 PORT = 12004
-UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-p1-service-statistics.sock
 
 [resolver]
 PORT = 12003
-UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-p1-service-resolver.sock
 
 [transport]
 #PREFIX = valgrind --leak-check=full
 PORT = 12001
-UNIXPATH = $GNUNET_RUNTIME_DIR/gnunet-p1-service-transport.sock
 
 [hostlist]
 SERVERS = dummy
diff --git a/src/service/transport/test_tng_defaults.conf 
b/src/service/transport/test_tng_defaults.conf
index 81dbb5bd7..ab501183d 100644
--- a/src/service/transport/test_tng_defaults.conf
+++ b/src/service/transport/test_tng_defaults.conf
@@ -1,8 +1,5 @@
 @INLINE@ ../../../contrib/conf/gnunet/no_forcestart.conf
 
-[PATHS]
-GNUNET_TEST_HOME = $GNUNET_TMP/test-tng/
-
 [transport]
 # PREFIX = valgrind 
 

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]