diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2011-12-09 17:31:04 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2011-12-09 17:31:04 +0000 |
commit | 6884edf943572c2a23544813858edd92186214c3 (patch) | |
tree | fdd45051f4170e78d2a1e5feaab05295e5bc892a /src/integration-tests/test_integration_clique.py.in | |
parent | aac6badf87eb6b89def532f06aa9c6e1544f5d60 (diff) | |
download | gnunet-6884edf943572c2a23544813858edd92186214c3.tar.gz gnunet-6884edf943572c2a23544813858edd92186214c3.zip |
clique
Diffstat (limited to 'src/integration-tests/test_integration_clique.py.in')
-rwxr-xr-x | src/integration-tests/test_integration_clique.py.in | 441 |
1 files changed, 400 insertions, 41 deletions
diff --git a/src/integration-tests/test_integration_clique.py.in b/src/integration-tests/test_integration_clique.py.in index 892f80931..a2008742c 100755 --- a/src/integration-tests/test_integration_clique.py.in +++ b/src/integration-tests/test_integration_clique.py.in | |||
@@ -18,67 +18,426 @@ | |||
18 | # Boston, MA 02111-1307, USA. | 18 | # Boston, MA 02111-1307, USA. |
19 | # | 19 | # |
20 | # | 20 | # |
21 | # | ||
22 | # This test starts 3 peers and expects bootstrap and a connected clique | ||
23 | # | ||
24 | # Conditions for successful exit: | ||
25 | # Both peers have 1 connected peer in transport, core, topology, fs | ||
26 | |||
21 | import sys | 27 | import sys |
22 | import os | 28 | import os |
23 | import subprocess | 29 | import subprocess |
24 | import re | 30 | import re |
25 | import shutil | 31 | import shutil |
32 | import time | ||
33 | import pexpect | ||
26 | 34 | ||
35 | #definitions | ||
27 | 36 | ||
28 | testname = "test_integration_clique" | 37 | testname = "test_integration_clique" |
29 | verbose = True | 38 | verbose = False |
39 | gnunetarm = "" | ||
40 | gnunetstatistics = "" | ||
41 | success = False | ||
42 | timeout = 10 | ||
30 | 43 | ||
31 | srcdir = "../.." | 44 | #test conditions |
32 | gnunet_pyexpect_dir = os.path.join (srcdir, "contrib") | ||
33 | if gnunet_pyexpect_dir not in sys.path: | ||
34 | sys.path.append (gnunet_pyexpect_dir) | ||
35 | 45 | ||
36 | from gnunet_pyexpect import pexpect | ||
37 | 46 | ||
38 | if os.name == 'posix': | 47 | def vprintf (msg): |
39 | gnunetarm = 'gnunet-arm' | 48 | if verbose == True: |
40 | elif os.name == 'nt': | 49 | print msg |
41 | gnunetarm = 'gnunet-arm.exe' | ||
42 | 50 | ||
43 | if os.name == "nt": | 51 | def setup (): |
44 | shutil.rmtree (os.path.join (os.getenv ("TEMP"), testname), True) | 52 | srcdir = "../.." |
45 | else: | 53 | gnunet_pyexpect_dir = os.path.join (srcdir, "contrib") |
46 | shutil.rmtree ("/tmp/" + testname, True) | 54 | if gnunet_pyexpect_dir not in sys.path: |
55 | sys.path.append (gnunet_pyexpect_dir) | ||
56 | from gnunet_pyexpect import pexpect | ||
57 | global gnunetarm | ||
58 | global gnunetstatistics | ||
59 | if os.name == 'posix': | ||
60 | gnunetarm = 'gnunet-arm' | ||
61 | gnunetstatistics = 'gnunet-statistics' | ||
62 | elif os.name == 'nt': | ||
63 | gnunetarm = 'gnunet-arm.exe' | ||
64 | gnunetstatistics = 'gnunet-statistics.exe' | ||
65 | if os.name == "nt": | ||
66 | shutil.rmtree (os.path.join (os.getenv ("TEMP"), testname), True) | ||
67 | else: | ||
68 | shutil.rmtree ("/tmp/" + testname, True) | ||
47 | 69 | ||
48 | if verbose == True: | 70 | def start (): |
49 | print "Running " + testname | 71 | vprintf ("Starting bootstrap server & client") |
72 | try: | ||
73 | server = subprocess.Popen ([gnunetarm, '-sq', '-c', './confs/c_bootstrap_server.conf']) | ||
74 | server.communicate () | ||
75 | except OSError: | ||
76 | print "Can not start bootstrap server, exiting..." | ||
77 | exit (1) | ||
78 | try: | ||
79 | client = subprocess.Popen ([gnunetarm, '-sq', '-c', 'confs/c_no_nat_client.conf']) | ||
80 | client.communicate () | ||
81 | except OSError: | ||
82 | print "Can not start bootstrap client, exiting..." | ||
83 | exit (1) | ||
84 | try: | ||
85 | client = subprocess.Popen ([gnunetarm, '-sq', '-c', 'confs/c_no_nat_client_2.conf']) | ||
86 | client.communicate () | ||
87 | except OSError: | ||
88 | print "Can not start bootstrap client 2, exiting..." | ||
89 | exit (1) | ||
90 | vprintf ("Bootstrap server & client started") | ||
50 | 91 | ||
92 | def stop (): | ||
93 | try: | ||
94 | client = subprocess.Popen ([gnunetarm, '-eq', '-c', 'confs/c_no_nat_client.conf']) | ||
95 | client.communicate () | ||
96 | except OSError: | ||
97 | print "Can not stop bootstrap client 1, exiting..." | ||
98 | exit (1) | ||
99 | vprintf ("Bootstrap client stopped") | ||
51 | 100 | ||
52 | 101 | ||
102 | def cleanup (): | ||
103 | if os.name == "nt": | ||
104 | shutil.rmtree (os.path.join (os.getenv ("TEMP"), "gnunet-test-fs-py-ns"), True) | ||
105 | shutil.rmtree (os.path.join (os.getenv ("TEMP"), "c_no_nat_client"), True) | ||
106 | shutil.rmtree (os.path.join (os.getenv ("TEMP"), "c_no_nat_client_2"), True) | ||
107 | else: | ||
108 | shutil.rmtree ("/tmp/c_bootstrap_server/", True) | ||
109 | shutil.rmtree ("/tmp/c_no_nat_client/", True) | ||
110 | shutil.rmtree ("/tmp/c_no_nat_client_2/", True) | ||
53 | 111 | ||
54 | exit () | 112 | def check_statistics (conf, subsystem, name, value): |
55 | # dummy copied from fs | 113 | from gnunet_pyexpect import pexpect |
56 | arm = subprocess.Popen ([gnunetarm, '-sq', '-c', 'test_gnunet_fs_ns_data.conf']) | 114 | server = pexpect () |
57 | arm.communicate () | 115 | server.spawn (None, [gnunetstatistics, '-c', conf ,'-q','-n', name, '-s', subsystem ], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) |
116 | #server.expect ("stdout", re.compile (r"")) | ||
117 | test = server.read("stdout", 10240) | ||
118 | if (test.find(str(value)) == -1): | ||
119 | return False | ||
120 | else: | ||
121 | return True | ||
122 | |||
123 | |||
58 | 124 | ||
59 | try: | 125 | def check_connect (): |
60 | pseu = pexpect () | 126 | server_transport_connected = False |
61 | pseu.spawn (None, [pseudonym, '-c', 'test_gnunet_fs_ns_data.conf', '-C', 'licenses', '-k', 'gplad', '-m', 'description:Free Software Licenses', '-R', 'myroot'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | 127 | server_topology_connected = False |
62 | pseu.spawn (None, [pseudonym, '-c', 'test_gnunet_fs_ns_data.conf', '-o'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | 128 | server_core_connected = False |
63 | pseu.expect ("stdout", re.compile (r"licenses (.*)\r?\n")) | 129 | server_core_session_map = False |
130 | server_fs_connected = False | ||
131 | client_transport_connected = False | ||
132 | client_topology_connected = False | ||
133 | client_core_connected = False | ||
134 | client_core_session_map = False | ||
135 | client_fs_connected = False | ||
136 | |||
137 | client2_transport_connected = False | ||
138 | client2_topology_connected = False | ||
139 | client2_core_connected = False | ||
140 | client2_core_session_map = False | ||
141 | client2_fs_connected = False | ||
142 | |||
143 | connected = False | ||
144 | count = 1 | ||
145 | while ((connected == False) and (count <= timeout)): | ||
146 | # Perform TRANSPORT | ||
147 | if ((False == server_transport_connected) and (True == check_statistics ('./confs/c_bootstrap_server.conf', 'transport', '# peers connected',2))): | ||
148 | server_transport_connected = True | ||
149 | vprintf ('Server transport services is connected') | ||
150 | |||
151 | if ((False == client_transport_connected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'transport', '# peers connected',2))): | ||
152 | client_transport_connected = True | ||
153 | vprintf ('Client transport services is connected') | ||
154 | |||
155 | if ((False == client2_transport_connected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'transport', '# peers connected',2))): | ||
156 | client2_transport_connected = True | ||
157 | vprintf ('Client 2 transport services is connected') | ||
64 | 158 | ||
65 | pub = pexpect () | 159 | # Perform TRANSPORT |
66 | pub.spawn (None, [publish, '-c', 'test_gnunet_fs_ns_data.conf', '-k', 'licenses', '-P', 'licenses', '-u', 'gnunet://fs/chk/PC0M19QMQC0BPSHR6BGA228PP6INER1D610MGEMOMEM87222FN8HVUO7PQGO0O9HD2GVLHF2N5IDHEQUNK6LKE428FPO96SKQEA486O.PG7K85JGQ6N599MD5HEP3CHEVFPKQD9JB6NPSLVA3T1SKDS66CFI499VS6MGQ88B0QUAVT1282TCRD4GGFVUKDLGI8F0SPIANA3J2LG.35147', '-t', 'gpl', '-N', 'gpl3'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | 160 | if ((False == server_core_connected) and (True == check_statistics ('./confs/c_bootstrap_server.conf', 'core', '# neighbour entries allocated',2))): |
161 | server_core_connected = True | ||
162 | vprintf ('Server core services is connected') | ||
163 | |||
164 | if ((False == client_core_connected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'core', '# neighbour entries allocated',2))): | ||
165 | client_core_connected = True | ||
166 | vprintf ('Client core services is connected') | ||
67 | 167 | ||
68 | s = pexpect () | 168 | if ((False == client2_core_connected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'core', '# neighbour entries allocated',2))): |
69 | s.spawn (None, [search, '-V', '-t', '1000', '-N', '1', '-c', 'test_gnunet_fs_ns_data.conf', 'gplad'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | 169 | client2_core_connected = True |
70 | s.expect ("stdout", re.compile (r'#0:\r?\n')) | 170 | vprintf ('Client2 core services is connected') |
71 | s.expect ("stdout", re.compile (r'gnunet-download gnunet://fs/sks/.*/myroot\r?\n')) | 171 | |
72 | s.expect ("stdout", re.compile (r'\s*description: Free Software Licenses\r?\n')) | 172 | # Perform TRANSPORT |
173 | if ((False == server_core_session_map) and (True == check_statistics ('./confs/c_bootstrap_server.conf', 'core', '# entries in session map',2))): | ||
174 | server_core_session_map = True | ||
175 | vprintf ('Server core services is connected') | ||
176 | |||
177 | if ((False == client_core_session_map) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'core', '# entries in session map',2))): | ||
178 | client_core_session_map = True | ||
179 | vprintf ('Client core notifies about connected') | ||
73 | 180 | ||
74 | pseu = pexpect () | 181 | if ((False == client2_core_session_map) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'core', '# entries in session map',2))): |
75 | pseu.spawn (None, [pseudonym, '-c', 'test_gnunet_fs_ns_data.conf'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) | 182 | client2_core_session_map = True |
76 | pseu.expect ("stdout", re.compile (r'Free Software Licenses.*:\r?\n')) | 183 | vprintf ('Client2 core notifies about connected') |
77 | 184 | ||
78 | finally: | 185 | # Perform TRANSPORT |
79 | arm = subprocess.Popen ([gnunetarm, '-eq', '-c', 'test_gnunet_fs_ns_data.conf']) | 186 | if ((False == server_topology_connected) and (True == check_statistics ('./confs/c_bootstrap_server.conf', 'topology', '# peers connected',2))): |
80 | arm.communicate () | 187 | server_topology_connected = True |
81 | if os.name == "nt": | 188 | vprintf ('Server topology services is connected') |
82 | shutil.rmtree (os.path.join (os.getenv ("TEMP"), "gnunet-test-fs-py-ns"), True) | 189 | |
190 | if ((False == client_topology_connected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'topology', '# peers connected',2))): | ||
191 | client_topology_connected = True | ||
192 | vprintf ('Client topology services is connected') | ||
193 | |||
194 | if ((False == client2_topology_connected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'topology', '# peers connected',2))): | ||
195 | client2_topology_connected = True | ||
196 | vprintf ('Client2 topology services is connected') | ||
197 | |||
198 | # Perform TRANSPORT | ||
199 | if ((False == server_fs_connected) and (True == check_statistics ('./confs/c_bootstrap_server.conf', 'fs', '# peers connected',2))): | ||
200 | server_fs_connected = True | ||
201 | vprintf ('Server fs services is connected') | ||
202 | |||
203 | if ((False == client_fs_connected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'fs', '# peers connected',2))): | ||
204 | client_fs_connected = True | ||
205 | vprintf ('Client fs services is connected') | ||
206 | |||
207 | if ((False == client2_fs_connected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'fs', '# peers connected',2))): | ||
208 | client2_fs_connected = True | ||
209 | vprintf ('Client2 fs services is connected') | ||
210 | |||
211 | # Check if conditions fulfilled | ||
212 | if ((True == client_transport_connected) and (True == client2_transport_connected) and (True == server_transport_connected) and | ||
213 | (True == client_topology_connected) and (True == client2_topology_connected) and (True == server_topology_connected) and | ||
214 | (True == client_core_connected) and (True == client2_core_connected) and (True == server_core_connected) and | ||
215 | (True == client_core_session_map) and (True == client2_core_session_map) and (True == server_core_session_map) and | ||
216 | (True == client_fs_connected) and (True == client2_fs_connected) and (True == server_fs_connected)): | ||
217 | connected = True | ||
218 | break | ||
219 | print '.', | ||
220 | time.sleep(1) | ||
221 | count += 1 | ||
222 | if (connected == False): | ||
223 | print '' | ||
224 | if (server_transport_connected == False): | ||
225 | print ('Server transport was NOT connected') | ||
226 | if (server_topology_connected == False): | ||
227 | print ('Server topology was NOT connected') | ||
228 | if (server_core_connected == False): | ||
229 | print ('Server core was NOT connected') | ||
230 | if (server_core_session_map == False): | ||
231 | print ('Server core sessions did NOT increase') | ||
232 | |||
233 | if (client_transport_connected == False): | ||
234 | print ('Client transport was NOT connected') | ||
235 | if (client_topology_connected == False): | ||
236 | print ('Client topology was NOT connected') | ||
237 | if (client_core_connected == False): | ||
238 | print ('Client core was NOT connected') | ||
239 | if (client_core_session_map == False): | ||
240 | print ('Client core sessions did NOT increase') | ||
241 | |||
242 | if (client2_transport_connected == False): | ||
243 | print ('Client2 transport was NOT connected') | ||
244 | if (client2_topology_connected == False): | ||
245 | print ('Client2 topology was NOT connected') | ||
246 | if (client2_core_connected == False): | ||
247 | print ('Client2 core was NOT connected') | ||
248 | if (client2_core_session_map == False): | ||
249 | print ('Client2 core sessions did NOT increase') | ||
250 | return False | ||
83 | else: | 251 | else: |
84 | shutil.rmtree ("/tmp/gnunet-test-fs-py-ns", True) | 252 | return True |
253 | |||
254 | def check_disconnect_client (): | ||
255 | vprintf ("Shutting down client 2") | ||
256 | try: | ||
257 | server = subprocess.Popen ([gnunetarm, '-eq', '-c', './confs/c_no_nat_client_2.conf']) | ||
258 | server.communicate () | ||
259 | except OSError: | ||
260 | print "Can not stop client 2, exiting..." | ||
261 | exit (1) | ||
262 | |||
263 | client_transport_disconnected = False | ||
264 | client_topology_disconnected = False | ||
265 | client_core_disconnected = False | ||
266 | client_core_session_map = False | ||
267 | client_fs_disconnected = False | ||
268 | |||
269 | disconnected = False | ||
270 | count = 1 | ||
271 | while ((disconnected == False) and (count <= timeout)): | ||
272 | if ((False == client_transport_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'transport', '# peers connected',0))): | ||
273 | client_transport_disconnected = True | ||
274 | vprintf ('Client transport services is disconnected') | ||
275 | |||
276 | if ((False == client_core_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'core', '# neighbour entries allocated',0))): | ||
277 | client_core_disconnected = True | ||
278 | vprintf ('Client core services is disconnected') | ||
279 | |||
280 | if ((False == client_core_session_map) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'core', '# entries in session map',0))): | ||
281 | client_core_session_map = True | ||
282 | vprintf ('Client core notifies about disconnected') | ||
283 | |||
284 | if ((False == client_topology_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'topology', '# peers connected',0))): | ||
285 | client_topology_disconnected = True | ||
286 | vprintf ('Client topology services is disconnected') | ||
287 | |||
288 | if ((False == client_fs_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'fs', '# peers connected',0))): | ||
289 | client_fs_disconnected = True | ||
290 | vprintf ('Client fs services is disconnected') | ||
291 | |||
292 | # Check if conditions fulfilled | ||
293 | if ((True == client_transport_disconnected) and | ||
294 | (True == client_topology_disconnected) and | ||
295 | (True == client_core_disconnected) and | ||
296 | (True == client_core_session_map) and | ||
297 | (True == client_fs_disconnected)): | ||
298 | disconnected = True | ||
299 | break | ||
300 | print '.' | ||
301 | time.sleep(1) | ||
302 | count += 1 | ||
303 | if (disconnected == False): | ||
304 | print '' | ||
305 | if (client_transport_disconnected == False): | ||
306 | print ('Client transport was NOT disconnected') | ||
307 | if (client_topology_disconnected == False): | ||
308 | print ('Client topology was NOT disconnected') | ||
309 | if (client_core_disconnected == False): | ||
310 | print ('Client core was NOT disconnected') | ||
311 | if (server_core_session_map == False): | ||
312 | print ('Server core sessions did NOT increase') | ||
313 | return False | ||
314 | else: | ||
315 | return True | ||
316 | |||
317 | def check_disconnect_server (): | ||
318 | vprintf ("Shutting down bootstrap server") | ||
319 | try: | ||
320 | server = subprocess.Popen ([gnunetarm, '-eq', '-c', './confs/c_bootstrap_server.conf']) | ||
321 | server.communicate () | ||
322 | except OSError: | ||
323 | print "Can not stop bootstrap server, exiting..." | ||
324 | exit (1) | ||
325 | |||
326 | client_transport_disconnected = False | ||
327 | client_topology_disconnected = False | ||
328 | client_core_disconnected = False | ||
329 | client_core_session_map = False | ||
330 | client_fs_disconnected = False | ||
331 | |||
332 | client2_transport_disconnected = False | ||
333 | client2_topology_disconnected = False | ||
334 | client2_core_disconnected = False | ||
335 | client2_core_session_map = False | ||
336 | client2_fs_disconnected = False | ||
337 | |||
338 | disconnected = False | ||
339 | count = 1 | ||
340 | while ((disconnected == False) and (count <= timeout)): | ||
341 | if ((False == client_transport_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'transport', '# peers connected',1))): | ||
342 | client_transport_disconnected = True | ||
343 | vprintf ('Client transport services is disconnected') | ||
344 | |||
345 | if ((False == client_core_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'core', '# neighbour entries allocated',1))): | ||
346 | client_core_disconnected = True | ||
347 | vprintf ('Client core services is disconnected') | ||
348 | |||
349 | if ((False == client_core_session_map) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'core', '# entries in session map',1))): | ||
350 | client_core_session_map = True | ||
351 | vprintf ('Client core notifies about disconnected') | ||
352 | |||
353 | if ((False == client_topology_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'topology', '# peers connected',1))): | ||
354 | client_topology_disconnected = True | ||
355 | vprintf ('Client topology services is disconnected') | ||
356 | |||
357 | if ((False == client_fs_disconnected) and (True == check_statistics ('./confs/c_no_nat_client.conf', 'fs', '# peers connected',1))): | ||
358 | client_fs_disconnected = True | ||
359 | vprintf ('Client fs services is disconnected') | ||
360 | |||
361 | if ((False == client2_transport_disconnected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'transport', '# peers connected',1))): | ||
362 | client2_transport_disconnected = True | ||
363 | vprintf ('Client2 transport services is disconnected') | ||
364 | |||
365 | if ((False == client2_core_disconnected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'core', '# neighbour entries allocated',1))): | ||
366 | client2_core_disconnected = True | ||
367 | vprintf ('Client2 core services is disconnected') | ||
368 | |||
369 | if ((False == client2_core_session_map) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'core', '# entries in session map',1))): | ||
370 | client2_core_session_map = True | ||
371 | vprintf ('Client2 core notifies about disconnected') | ||
372 | |||
373 | if ((False == client2_topology_disconnected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'topology', '# peers connected',1))): | ||
374 | client2_topology_disconnected = True | ||
375 | vprintf ('Client2 topology services is disconnected') | ||
376 | |||
377 | if ((False == client2_fs_disconnected) and (True == check_statistics ('./confs/c_no_nat_client_2.conf', 'fs', '# peers connected',1))): | ||
378 | client2_fs_disconnected = True | ||
379 | vprintf ('Client2 fs services is disconnected') | ||
380 | |||
381 | |||
382 | # Check if conditions fulfilled | ||
383 | if ((True == client_transport_disconnected) and | ||
384 | (True == client_topology_disconnected) and | ||
385 | (True == client_core_disconnected) and | ||
386 | (True == client_core_session_map) and | ||
387 | (True == client_fs_disconnected) and | ||
388 | (True == client2_transport_disconnected) and | ||
389 | (True == client2_topology_disconnected) and | ||
390 | (True == client2_core_disconnected) and | ||
391 | (True == client2_core_session_map) and | ||
392 | (True == client2_fs_disconnected)): | ||
393 | disconnected = True | ||
394 | #break | ||
395 | print '.' | ||
396 | time.sleep(1) | ||
397 | count += 1 | ||
398 | if (disconnected == False): | ||
399 | print '' | ||
400 | if (client_transport_disconnected == False): | ||
401 | print ('Client transport was NOT disconnected') | ||
402 | if (client_topology_disconnected == False): | ||
403 | print ('Client topology was NOT disconnected') | ||
404 | if (client_core_disconnected == False): | ||
405 | print ('Client core was NOT disconnected') | ||
406 | if (client_core_session_map == False): | ||
407 | print ('Client core sessions did NOT decrease') | ||
408 | if (client2_transport_disconnected == False): | ||
409 | print ('Client2 transport was NOT disconnected') | ||
410 | if (client2_topology_disconnected == False): | ||
411 | print ('Client2 topology was NOT disconnected') | ||
412 | if (client2_core_disconnected == False): | ||
413 | print ('Client2 core was NOT disconnected') | ||
414 | if (client2_core_session_map == False): | ||
415 | print ('Client2 core sessions did NOT decrease') | ||
416 | return False | ||
417 | else: | ||
418 | return True | ||
419 | |||
420 | # | ||
421 | # Test execution | ||
422 | # | ||
423 | |||
424 | vprintf ("Running " + testname) | ||
425 | setup () | ||
426 | start () | ||
427 | |||
428 | ret = check_connect () | ||
429 | if (ret == True): | ||
430 | vprintf ('Peers connected') | ||
431 | if (True == check_disconnect_server ()): | ||
432 | if (True == check_disconnect_client ()): | ||
433 | success = True | ||
434 | |||
435 | stop () | ||
436 | cleanup () | ||
437 | |||
438 | if (success == False): | ||
439 | print ('Test failed') | ||
440 | exit (1) | ||
441 | else: | ||
442 | exit (0) | ||
443 | |||