From: xrs Date: Sat, 29 Feb 2020 13:40:08 +0000 (+0100) Subject: two peers on the stage X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d25e0e167c2614a55b89c0195dab9f69f9355b7f;p=oweals%2Fgnunet.git two peers on the stage --- diff --git a/src/cadet/test_cadeT.c b/src/cadet/test_cadeT.c new file mode 100644 index 000000000..1b74eade2 --- /dev/null +++ b/src/cadet/test_cadeT.c @@ -0,0 +1,201 @@ +/* + This file is part of GNUnet. + Copyright (C) 2009 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 cadet/test_cadeT.c + * @brief testcase for cadet.c + * @author xrs + * + * Goal: + * - test session resumption after a hard channel breakup + * + * ToDos: + * - setup peer A + * - setup peer B + * - setup cadet on peer B listening on port 1234 + * - create a channel from peer A to B + * - create method to find out session initiator + * - send a message over channel + * - check if message was received + * - breakup the connection without sending a channel destroy message + * - assert tunnel is down + * - resume channel (second handshake for tunnel) + * - send second message over channel + * - check if message was receveived + * - end test + * + * Questions: + * - can we simulate hard breakups with TESTBED? + * - yes, with GNUNET_TESTBED_underlay_configure_link + * - how can we test the sublayers of CADET, e.g. connection, tunnel, channel? + * + * Development + * - red -> green -> refactor (cyclic) + */ +#include "platform.h" +#include "gnunet_testbed_service.h" +#include "cadet.h" + +#define REQUESTED_PEERS 2 +#define CONFIG "test_cadet.conf" +#define TESTPROGAM_NAME "test-cadet-channel-resumption" +#define PORTNAME "cadet_port" + +struct GNUNET_TESTBED_Operation *testbed_to_svc[2]; + +/** + * Port name kown by the two peers. + */ +static struct GNUNET_HashCode hashed_portname; + +static int test_result = 0; + +// FIXME: temp cnt +static int cnt = 0; + +/****************************** TEST LOGIC ********************************/ + +// TBD + +/************************** TESBED MANAGEMENT *****************************/ + +static void +shutdown_task (void *cls) +{ + for (int i=0; i