diff options
Diffstat (limited to 'src/integration-tests/test_integration_disconnect.py.in')
-rwxr-xr-x | src/integration-tests/test_integration_disconnect.py.in | 87 |
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 | # |
21 | from __future__ import print_function | ||
21 | import sys | 22 | import sys |
22 | import signal | 23 | import signal |
23 | import os | 24 | import os |
@@ -29,8 +30,8 @@ from gnunet_testing import Peer | |||
29 | from gnunet_testing import Test | 30 | from gnunet_testing import Test |
30 | from gnunet_testing import Check | 31 | from gnunet_testing import Check |
31 | from gnunet_testing import Condition | 32 | from gnunet_testing import Condition |
32 | from gnunet_testing import * | 33 | from 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 | ||
72 | def success_disconnect_cont (check): | 73 | def 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 | ||
78 | def fail_disconnect_cont (check): | 79 | def 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 | ||
84 | def check_disconnect (): | 85 | def 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 | ||
101 | def fail_connect_cont (check): | 102 | def 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 | ||
108 | def check_connect (): | 109 | def 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 | ||
128 | def SigHandler(signum = None, frame = None): | 129 | def 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 | ||
194 | try: | 195 | try: |
195 | run () | 196 | run () |
196 | except (KeyboardInterrupt, SystemExit): | 197 | except (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 () |
201 | if (success == False): | 202 | if (success == False): |
202 | sys.exit(1) | 203 | sys.exit(1) |
203 | else: | 204 | else: |
204 | sys.exit(0) | 205 | sys.exit(0) |
205 | |||
206 | |||
207 | |||
208 | |||