From c66295e27c44c3ad4453f0d7ba9ccd905a6decb8 Mon Sep 17 00:00:00 2001 From: t3sserakt Date: Mon, 30 Aug 2021 15:04:46 +0200 Subject: - introduced nested namespace in test script to get rid of the permission problem, renamed test file. --- src/testing/netjail_core.sh | 11 ++- src/testing/netjail_exec.sh | 2 +- src/transport/Makefile.am | 10 +-- src/transport/test_transport_api_cmd_simple_send.c | 86 ---------------------- 4 files changed, 16 insertions(+), 93 deletions(-) delete mode 100644 src/transport/test_transport_api_cmd_simple_send.c diff --git a/src/testing/netjail_core.sh b/src/testing/netjail_core.sh index f49d4b312..cf350d3fa 100755 --- a/src/testing/netjail_core.sh +++ b/src/testing/netjail_core.sh @@ -1,7 +1,7 @@ #!/bin/sh # -JAILOR=${SUDO_USER:?must run in sudo} + # running with `sudo` is required to be # able running the actual commands as the @@ -90,6 +90,7 @@ netjail_node_add_default() { } netjail_node_exec() { + JAILOR=${SUDO_USER:?must run in sudo} NODE=$1 FD_IN=$2 FD_OUT=$3 @@ -99,9 +100,17 @@ netjail_node_exec() { } netjail_node_exec_without_fds() { + JAILOR=${SUDO_USER:?must run in sudo} NODE=$1 shift 1 ip netns exec $NODE sudo -u $JAILOR -- $@ } +netjail_node_exec_without_fds_and_sudo() { + NODE=$1 + shift 1 + + ip netns exec $NODE $@ +} + diff --git a/src/testing/netjail_exec.sh b/src/testing/netjail_exec.sh index c20a8c117..17a7caaac 100755 --- a/src/testing/netjail_exec.sh +++ b/src/testing/netjail_exec.sh @@ -13,4 +13,4 @@ NODE=$(netjail_print_name "N" $N $M) -netjail_node_exec_without_fds $NODE $3 $4 $5 $1 $2 +netjail_node_exec_without_fds_and_sudo $NODE $3 $4 $5 $1 $2 diff --git a/src/transport/Makefile.am b/src/transport/Makefile.am index 61b3bab7c..4ea3b58c4 100644 --- a/src/transport/Makefile.am +++ b/src/transport/Makefile.am @@ -556,7 +556,7 @@ libgnunet_plugin_transport_https_server_la_CFLAGS = \ if HAVE_TESTING check_PROGRAMS = \ - test_transport_api_cmd_simple_send \ + test_transport_simple_send \ test_transport_address_switch_tcp \ test_transport_testing_startstop \ test_transport_testing_restart \ @@ -705,7 +705,7 @@ test_transport_api_slow_ats endif if HAVE_EXPERIMENTAL TESTS += \ - test_transport_api_cmd_simple_send \ + test_transport_simple_send \ test_transport_address_switch_udp \ test_plugin_udp \ test_transport_api_udp \ @@ -726,9 +726,9 @@ endif check_SCRIPTS= \ test_transport_simple_send.sh -test_transport_api_cmd_simple_send_SOURCES = \ - test_transport_api_cmd_simple_send.c -test_transport_api_cmd_simple_send_LDADD = \ +test_transport_simple_send_SOURCES = \ + test_transport_simple_send.c +test_transport_simple_send_LDADD = \ $(top_builddir)/src/testing/libgnunettesting.la \ $(top_builddir)/src/util/libgnunetutil.la \ $(top_builddir)/src/testbed/libgnunettestbed.la \ diff --git a/src/transport/test_transport_api_cmd_simple_send.c b/src/transport/test_transport_api_cmd_simple_send.c deleted file mode 100644 index 27b9f95de..000000000 --- a/src/transport/test_transport_api_cmd_simple_send.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - This file is part of GNUnet - Copyright (C) 2021 GNUnet e.V. - - GNUnet is free software: you can redistribute it and/or modify it - under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - GNUnet is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - - SPDX-License-Identifier: AGPL3.0-or-later - */ - -/** - * @file transport/test_transport_api_cmd_simple_send.c - * @brief Test case executing a script which sends a test message between two peers. - * @author t3sserakt - */ -#include "platform.h" -#include "gnunet_testing_ng_lib.h" -#include "gnunet_util_lib.h" - -#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 120) - -/** - * Return value of the test. - * - */ -static unsigned int rv = 0; - - -/** - * Main function to run the test cases. - * - * @param cls not used. - * - */ -static void -run (void *cls) -{ - struct GNUNET_TESTING_Command commands[] = { - GNUNET_TESTING_cmd_netjail_start ("netjail-start", - "2", - "1"), - GNUNET_TESTING_cmd_netjail_start_testing_system ("netjail-start-testbed ", - "2", - "1", - "libgnunet_test_transport_plugin_cmd_simple_send", - &rv), - GNUNET_TESTING_cmd_stop_testing_system ("stop-testbed", - "netjail-start-testbed ", - "2", - "1"), - GNUNET_TESTING_cmd_netjail_stop ("netjail-stop ", - "2", - "1"), - GNUNET_TESTING_cmd_end () - }; - - GNUNET_TESTING_run (NULL, - commands, - TIMEOUT); -} - - -int -main (int argc, - char *const *argv) -{ - GNUNET_log_setup ("test-netjail", - "DEBUG", - NULL); - GNUNET_SCHEDULER_run (&run, - NULL); - - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Test finished!\n"); - return rv; -} -- cgit v1.2.3