aboutsummaryrefslogtreecommitdiff
path: root/src/integration-tests/test_integration_disconnect.py.in
diff options
context:
space:
mode:
Diffstat (limited to 'src/integration-tests/test_integration_disconnect.py.in')
-rwxr-xr-xsrc/integration-tests/test_integration_disconnect.py.in87
1 files changed, 42 insertions, 45 deletions
diff --git a/src/integration-tests/test_integration_disconnect.py.in b/src/integration-tests/test_integration_disconnect.py.in
index f8b411778..a81c78540 100755
--- a/src/integration-tests/test_integration_disconnect.py.in
+++ b/src/integration-tests/test_integration_disconnect.py.in
@@ -11,13 +11,14 @@
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
21import sys 22import sys
22import signal 23import signal
23import os 24import os
@@ -29,8 +30,8 @@ from gnunet_testing import Peer
29from gnunet_testing import Test 30from gnunet_testing import Test
30from gnunet_testing import Check 31from gnunet_testing import Check
31from gnunet_testing import Condition 32from gnunet_testing import Condition
32from gnunet_testing import * 33from gnunet_testing import *
33 34
34 35
35# 36#
36# 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
@@ -71,16 +72,16 @@ def cleanup ():
71 72
72def success_disconnect_cont (check): 73def success_disconnect_cont (check):
73 print('Peers disconnected successfully') 74 print('Peers disconnected successfully')
74 global success 75 global success
75 success = True; 76 success = True;
76 77
77 78
78def fail_disconnect_cont (check): 79def fail_disconnect_cont (check):
79 global success 80 global success
80 success = False; 81 success = False;
81 print('Peers failed to disconnect') 82 print('Peers failed to disconnect')
82 check.evaluate(True) 83 check.evaluate(True)
83 84
84def check_disconnect (): 85def check_disconnect ():
85 test.p ('Shutting down bootstrap server') 86 test.p ('Shutting down bootstrap server')
86 server.stop () 87 server.stop ()
@@ -98,8 +99,8 @@ def success_connect_cont (check):
98 check_disconnect () 99 check_disconnect ()
99 100
100 101
101def fail_connect_cont (check): 102def fail_connect_cont (check):
102 global success 103 global success
103 success= False 104 success= False
104 print('Peers failed to connected!') 105 print('Peers failed to connected!')
105 check.evaluate(True) 106 check.evaluate(True)
@@ -107,33 +108,33 @@ def fail_connect_cont (check):
107 108
108def check_connect (): 109def check_connect ():
109 check = Check (test) 110 check = Check (test)
111 check.add (StatisticsCondition (server, 'transport', '# peers connected',1))
112 check.add (StatisticsCondition (server, 'core', '# peers connected',1))
113 check.add (StatisticsCondition (server, 'topology', '# peers connected',1))
114 check.add (StatisticsCondition (server, 'dht', '# peers connected',1))
115 check.add (StatisticsCondition (server, 'fs', '# peers connected',1))
116
110 check.add (StatisticsCondition (client, 'transport', '# peers connected',1)) 117 check.add (StatisticsCondition (client, 'transport', '# peers connected',1))
111 check.add (StatisticsCondition (client, 'core', '# peers connected',1)) 118 check.add (StatisticsCondition (client, 'core', '# peers connected',1))
112 check.add (StatisticsCondition (client, 'topology', '# peers connected',1)) 119 check.add (StatisticsCondition (client, 'topology', '# peers connected',1))
113 check.add (StatisticsCondition (client, 'dht', '# peers connected',1)) 120 check.add (StatisticsCondition (client, 'dht', '# peers connected',1))
114 check.add (StatisticsCondition (client, 'fs', '# peers connected',1)) 121 check.add (StatisticsCondition (client, 'fs', '# peers connected',1))
115 122
116 check.add (StatisticsCondition (server, 'transport', '# peers connected',1))
117 check.add (StatisticsCondition (server, 'core', '# peers connected',1))
118 check.add (StatisticsCondition (server, 'topology', '# peers connected',1))
119 check.add (StatisticsCondition (server, 'dht', '# peers connected',1))
120 check.add (StatisticsCondition (server, 'fs', '# peers connected',1))
121
122 check.run_blocking (check_timeout, success_connect_cont, fail_connect_cont) 123 check.run_blocking (check_timeout, success_connect_cont, fail_connect_cont)
123 124
124# 125#
125# Test execution 126# Test execution
126# 127#
127 128
128def SigHandler(signum = None, frame = None): 129def SigHandler(signum = None, frame = None):
129 global success 130 global success
130 global server 131 global server
131 global client 132 global client
132 133
133 print('Test was aborted!') 134 print('Test was aborted!')
134 if (None != server): 135 if (None != server):
135 server.stop () 136 server.stop ()
136 if (None != client): 137 if (None != client):
137 client.stop () 138 client.stop ()
138 cleanup () 139 cleanup ()
139 sys.exit(success) 140 sys.exit(success)
@@ -142,67 +143,63 @@ def run ():
142 global success 143 global success
143 global test 144 global test
144 global server 145 global server
145 global client 146 global client
146 147
147 server = None 148 server = None
148 client = None 149 client = None
149 success = False 150 success = False
150 151
151 for sig in signals: 152 for sig in signals:
152 signal.signal(sig, SigHandler) 153 signal.signal(sig, SigHandler)
153 154
154 test = Test ('test_integration_bootstrap_and_connect.py', verbose) 155 test = Test ('test_integration_bootstrap_and_connect.py', verbose)
155 cleanup () 156 cleanup ()
156 157
157 server = Peer(test, './confs/c_bootstrap_server.conf'); 158 server = Peer(test, './confs/c_bootstrap_server.conf');
158 client = Peer(test, './confs/c_no_nat_client.conf'); 159 client = Peer(test, './confs/c_no_nat_client.conf');
159 160
160 if (True != server.start()): 161 if (True != server.start()):
161 print('Failed to start server') 162 print('Failed to start server')
162 if (None != server): 163 if (None != server):
163 server.stop () 164 server.stop ()
164 cleanup () 165 cleanup ()
165 sys.exit(success) 166 sys.exit(success)
166 167
167 # Give the server time to start 168 # Give the server time to start
168 time.sleep(5) 169 time.sleep(5)
169 170
170 if (True != client.start()): 171 if (True != client.start()):
171 print('Failed to start client') 172 print('Failed to start client')
172 if (None != server): 173 if (None != server):
173 server.stop () 174 server.stop ()
174 if (None != client): 175 if (None != client):
175 client.stop () 176 client.stop ()
176 cleanup () 177 cleanup ()
177 sys.exit(success) 178 sys.exit(success)
178 179
179 if ((client.started == True) and (server.started == True)): 180 if ((client.started == True) and (server.started == True)):
180 test.p ('Peers started, running check') 181 test.p ('Peers started, running check')
181 time.sleep(5) 182 time.sleep(5)
182 check_connect () 183 check_connect ()
183 server.stop () 184 server.stop ()
184 client.stop () 185 client.stop ()
185 186
186 cleanup () 187 cleanup ()
187 188
188 if (success == False): 189 if (success == False):
189 print ('Test failed') 190 print ('Test failed')
190 return False 191 return False
191 else: 192 else:
192 return True 193 return True
193 194
194try: 195try:
195 run () 196 run ()
196except (KeyboardInterrupt, SystemExit): 197except (KeyboardInterrupt, SystemExit):
197 print('Test interrupted') 198 print('Test interrupted')
198 server.stop () 199 server.stop ()
199 client.stop () 200 client.stop ()
200 cleanup () 201 cleanup ()
201if (success == False): 202if (success == False):
202 sys.exit(1) 203 sys.exit(1)
203else: 204else:
204 sys.exit(0) 205 sys.exit(0)
205
206
207
208