aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/integration-tests/test_integration_disconnect.py.in96
-rw-r--r--src/topology/friends.c2
2 files changed, 47 insertions, 51 deletions
diff --git a/src/integration-tests/test_integration_disconnect.py.in b/src/integration-tests/test_integration_disconnect.py.in
index b39df1319..e1e431a0a 100755
--- a/src/integration-tests/test_integration_disconnect.py.in
+++ b/src/integration-tests/test_integration_disconnect.py.in
@@ -11,13 +11,13 @@
11# WITHOUT ANY WARRANTY; without even the implied warranty of 11# WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13# Affero General Public License for more details. 13# Affero General Public License for more details.
14# 14#
15# You should have received a copy of the GNU Affero General Public License 15# You should have received a copy of the GNU Affero General Public License
16# along with this program. If not, see <http://www.gnu.org/licenses/>. 16# along with this program. If not, see <http://www.gnu.org/licenses/>.
17# 17#
18# SPDX-License-Identifier: AGPL3.0-or-later 18# SPDX-License-Identifier: AGPL3.0-or-later
19# 19#
20# 20#
21from __future__ import print_function 21from __future__ import print_function
22import sys 22import sys
23import signal 23import signal
@@ -30,8 +30,8 @@ from gnunet_testing import Peer
30from gnunet_testing import Test 30from gnunet_testing import Test
31from gnunet_testing import Check 31from gnunet_testing import Check
32from gnunet_testing import Condition 32from gnunet_testing import Condition
33from gnunet_testing import * 33from gnunet_testing import *
34 34
35 35
36# 36#
37# This test tests if a fresh peer bootstraps from a hostlist server and then 37# This test tests if a fresh peer bootstraps from a hostlist server and then
@@ -72,16 +72,16 @@ def cleanup ():
72 72
73def success_disconnect_cont (check): 73def success_disconnect_cont (check):
74 print('Peers disconnected successfully') 74 print('Peers disconnected successfully')
75 global success 75 global success
76 success = True; 76 success = True;
77 77
78 78
79def fail_disconnect_cont (check): 79def fail_disconnect_cont (check):
80 global success 80 global success
81 success = False; 81 success = False;
82 print('Peers failed to disconnect') 82 print('Peers failed to disconnect')
83 check.evaluate(True) 83 check.evaluate(True)
84 84
85def check_disconnect (): 85def check_disconnect ():
86 test.p ('Shutting down bootstrap server') 86 test.p ('Shutting down bootstrap server')
87 server.stop () 87 server.stop ()
@@ -99,8 +99,8 @@ def success_connect_cont (check):
99 check_disconnect () 99 check_disconnect ()
100 100
101 101
102def fail_connect_cont (check): 102def fail_connect_cont (check):
103 global success 103 global success
104 success= False 104 success= False
105 print('Peers failed to connected!') 105 print('Peers failed to connected!')
106 check.evaluate(True) 106 check.evaluate(True)
@@ -108,33 +108,33 @@ def fail_connect_cont (check):
108 108
109def check_connect (): 109def check_connect ():
110 check = Check (test) 110 check = Check (test)
111 check.add (StatisticsCondition (client, 'transport', '# peers connected',1)) 111 check.add (StatisticsCondition (client, 'transport', '# peers connected',2))
112 check.add (StatisticsCondition (client, 'core', '# peers connected',1)) 112 check.add (StatisticsCondition (client, 'core', '# peers connected',2))
113 check.add (StatisticsCondition (client, 'topology', '# peers connected',1)) 113 check.add (StatisticsCondition (client, 'topology', '# peers connected',2))
114 check.add (StatisticsCondition (client, 'dht', '# peers connected',1)) 114 check.add (StatisticsCondition (client, 'dht', '# peers connected',2))
115 check.add (StatisticsCondition (client, 'fs', '# peers connected',1)) 115 check.add (StatisticsCondition (client, 'fs', '# peers connected',2))
116 116
117 check.add (StatisticsCondition (server, 'transport', '# peers connected',1)) 117 check.add (StatisticsCondition (server, 'transport', '# peers connected',2))
118 check.add (StatisticsCondition (server, 'core', '# peers connected',1)) 118 check.add (StatisticsCondition (server, 'core', '# peers connected',2))
119 check.add (StatisticsCondition (server, 'topology', '# peers connected',1)) 119 check.add (StatisticsCondition (server, 'topology', '# peers connected',2))
120 check.add (StatisticsCondition (server, 'dht', '# peers connected',1)) 120 check.add (StatisticsCondition (server, 'dht', '# peers connected',2))
121 check.add (StatisticsCondition (server, 'fs', '# peers connected',1)) 121 check.add (StatisticsCondition (server, 'fs', '# peers connected',2))
122 122
123 check.run_blocking (check_timeout, success_connect_cont, fail_connect_cont) 123 check.run_blocking (check_timeout, success_connect_cont, fail_connect_cont)
124 124
125# 125#
126# Test execution 126# Test execution
127# 127#
128 128
129def SigHandler(signum = None, frame = None): 129def SigHandler(signum = None, frame = None):
130 global success 130 global success
131 global server 131 global server
132 global client 132 global client
133 133
134 print('Test was aborted!') 134 print('Test was aborted!')
135 if (None != server): 135 if (None != server):
136 server.stop () 136 server.stop ()
137 if (None != client): 137 if (None != client):
138 client.stop () 138 client.stop ()
139 cleanup () 139 cleanup ()
140 sys.exit(success) 140 sys.exit(success)
@@ -143,67 +143,63 @@ def run ():
143 global success 143 global success
144 global test 144 global test
145 global server 145 global server
146 global client 146 global client
147 147
148 server = None 148 server = None
149 client = None 149 client = None
150 success = False 150 success = False
151 151
152 for sig in signals: 152 for sig in signals:
153 signal.signal(sig, SigHandler) 153 signal.signal(sig, SigHandler)
154 154
155 test = Test ('test_integration_bootstrap_and_connect.py', verbose) 155 test = Test ('test_integration_bootstrap_and_connect.py', verbose)
156 cleanup () 156 cleanup ()
157 157
158 server = Peer(test, './confs/c_bootstrap_server.conf'); 158 server = Peer(test, './confs/c_bootstrap_server.conf');
159 client = Peer(test, './confs/c_no_nat_client.conf'); 159 client = Peer(test, './confs/c_no_nat_client.conf');
160 160
161 if (True != server.start()): 161 if (True != server.start()):
162 print('Failed to start server') 162 print('Failed to start server')
163 if (None != server): 163 if (None != server):
164 server.stop () 164 server.stop ()
165 cleanup () 165 cleanup ()
166 sys.exit(success) 166 sys.exit(success)
167 167
168 # Give the server time to start 168 # Give the server time to start
169 time.sleep(5) 169 time.sleep(5)
170 170
171 if (True != client.start()): 171 if (True != client.start()):
172 print('Failed to start client') 172 print('Failed to start client')
173 if (None != server): 173 if (None != server):
174 server.stop () 174 server.stop ()
175 if (None != client): 175 if (None != client):
176 client.stop () 176 client.stop ()
177 cleanup () 177 cleanup ()
178 sys.exit(success) 178 sys.exit(success)
179 179
180 if ((client.started == True) and (server.started == True)): 180 if ((client.started == True) and (server.started == True)):
181 test.p ('Peers started, running check') 181 test.p ('Peers started, running check')
182 time.sleep(5) 182 time.sleep(5)
183 check_connect () 183 check_connect ()
184 server.stop () 184 server.stop ()
185 client.stop () 185 client.stop ()
186 186
187 cleanup () 187 cleanup ()
188 188
189 if (success == False): 189 if (success == False):
190 print ('Test failed') 190 print ('Test failed')
191 return False 191 return False
192 else: 192 else:
193 return True 193 return True
194 194
195try: 195try:
196 run () 196 run ()
197except (KeyboardInterrupt, SystemExit): 197except (KeyboardInterrupt, SystemExit):
198 print('Test interrupted') 198 print('Test interrupted')
199 server.stop () 199 server.stop ()
200 client.stop () 200 client.stop ()
201 cleanup () 201 cleanup ()
202if (success == False): 202if (success == False):
203 sys.exit(1) 203 sys.exit(1)
204else: 204else:
205 sys.exit(0) 205 sys.exit(0)
206
207
208
209
diff --git a/src/topology/friends.c b/src/topology/friends.c
index 4278e1266..f23724444 100644
--- a/src/topology/friends.c
+++ b/src/topology/friends.c
@@ -11,7 +11,7 @@
11 WITHOUT ANY WARRANTY; without even the implied warranty of 11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details. 13 Affero General Public License for more details.
14 14
15 You should have received a copy of the GNU Affero General Public License 15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. 16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17 17