From: Christian Grothoff Date: Tue, 19 Feb 2019 00:59:00 +0000 (+0100) Subject: got integration tests to pass, fixes #5560 X-Git-Tag: v0.11.0~63^2~32^2~24 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=29184ebd9987a2c63d50d563bd0b7a5ce68f0023;p=oweals%2Fgnunet.git got integration tests to pass, fixes #5560 --- diff --git a/src/integration-tests/test_integration_bootstrap_and_connect.py.in b/src/integration-tests/test_integration_bootstrap_and_connect.py.in index 560a429fd..f0de1c0cd 100755 --- a/src/integration-tests/test_integration_bootstrap_and_connect.py.in +++ b/src/integration-tests/test_integration_bootstrap_and_connect.py.in @@ -11,7 +11,7 @@ # 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 . # diff --git a/src/integration-tests/test_integration_disconnect_nat.py.in b/src/integration-tests/test_integration_disconnect_nat.py.in index 825c1cfa1..601586f47 100755 --- a/src/integration-tests/test_integration_disconnect_nat.py.in +++ b/src/integration-tests/test_integration_disconnect_nat.py.in @@ -11,7 +11,7 @@ # 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 . # diff --git a/src/integration-tests/test_integration_reconnect.py.in b/src/integration-tests/test_integration_reconnect.py.in index 573ae221a..e8abacd48 100755 --- a/src/integration-tests/test_integration_reconnect.py.in +++ b/src/integration-tests/test_integration_reconnect.py.in @@ -11,13 +11,13 @@ # 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 # -# +# from __future__ import print_function import sys import os @@ -30,13 +30,13 @@ from gnunet_testing import Peer from gnunet_testing import Test from gnunet_testing import Check from gnunet_testing import Condition -from gnunet_testing import * - +from gnunet_testing import * + # # This test tests if a fresh peer bootstraps from a hostlist server and then # successfully connects to the server. When both peers are connected -# in transport, core, topology, fs, botth peers are shutdown and restarted +# in transport, core, topology, fs, botth peers are shutdown and restarted # # Conditions for successful exit: # Both peers have 1 connected peer in transport, core, topology, fs after restart @@ -68,68 +68,68 @@ def cleanup_onerror (function, path, excinfo): def cleanup (): retries = 10 - path = os.path.join (tmp, "c_bootstrap_server") - test.p ("Removing " + path) + path = os.path.join (tmp, "c_bootstrap_server") + test.p ("Removing " + path) while ((os.path.exists(path)) and (retries > 0)): shutil.rmtree ((path), False, cleanup_onerror) time.sleep (1) retries -= 1 if (os.path.exists(path)): - test.p ("Failed to remove " + path) - - + test.p ("Failed to remove " + path) + + retries = 10 - path = os.path.join (tmp, "c_no_nat_client") - test.p ("Removing " + path) + path = os.path.join (tmp, "c_no_nat_client") + test.p ("Removing " + path) while ((os.path.exists(path)) and (retries > 0)): shutil.rmtree ((path), False, cleanup_onerror) time.sleep (1) retries -= 1 if (os.path.exists(path)): - test.p ("Failed to remove " + path) + test.p ("Failed to remove " + path) def success_restart_cont (check): - global success + global success print('Peers connected successfully after restart') server.stop () client.stop () - success = True; + success = True; -def fail_restart_cont (check): - global success +def fail_restart_cont (check): + global success success = False; print('Peers failed to connect after restart') - check.evaluate(True) - + check.evaluate(True) + def success_connect_cont (check): print('Peers connected successfully') server.stop () client.stop () - + time.sleep(5) - + test.p ('Restarting client & server') server.start () client.start () - + check = Check (test) check.add (StatisticsCondition (client, 'transport', '# peers connected',1)) check.add (StatisticsCondition (client, 'core', '# peers connected',1)) check.add (StatisticsCondition (client, 'topology', '# peers connected',1)) check.add (StatisticsCondition (client, 'fs', '# peers connected',1)) - + check.add (StatisticsCondition (server, 'transport', '# peers connected',1)) check.add (StatisticsCondition (server, 'core', '# peers connected',1)) check.add (StatisticsCondition (server, 'topology', '# peers connected',1)) - check.add (StatisticsCondition (server, 'fs', '# peers connected',1)) - + check.add (StatisticsCondition (server, 'fs', '# peers connected',1)) + check.run_blocking (check_timeout, success_restart_cont, fail_restart_cont) -def fail_connect_cont (check): - global success +def fail_connect_cont (check): + global success success= False; print('Peers failed to connect') check.evaluate(True) @@ -141,28 +141,28 @@ def check_connect (): check.add (StatisticsCondition (client, 'core', '# peers connected',1)) check.add (StatisticsCondition (client, 'topology', '# peers connected',1)) check.add (StatisticsCondition (client, 'fs', '# peers connected',1)) - + check.add (StatisticsCondition (server, 'transport', '# peers connected',1)) check.add (StatisticsCondition (server, 'core', '# peers connected',1)) check.add (StatisticsCondition (server, 'topology', '# peers connected',1)) - check.add (StatisticsCondition (server, 'fs', '# peers connected',1)) - + check.add (StatisticsCondition (server, 'fs', '# peers connected',1)) + check.run_blocking (check_timeout, success_connect_cont, fail_connect_cont) -# +# # Test execution -# +# def SigHandler(signum = None, frame = None): - global success + global success global server - global client - + global client + print('Test was aborted!') if (None != server): server.stop () - if (None != client): + if (None != client): client.stop () cleanup () sys.exit(success) @@ -172,68 +172,66 @@ def run (): global test global server global client - + success = False server = None - client = None + client = None for sig in signals: signal.signal(sig, SigHandler) - - + + test = Test ('test_integration_disconnect', verbose) cleanup () server = Peer(test, './confs/c_bootstrap_server.conf'); server.start(); - + client = Peer(test, './confs/c_no_nat_client.conf'); client.start(); - + if (True != server.start()): print('Failed to start server') if (None != server): server.stop () - if (None != server): + if (None != server): client.stop () cleanup () sys.exit(success) - + # Give the server time to start time.sleep(5) - + if (True != client.start()): print('Failed to start client') if (None != server): server.stop () - if (None != server): + if (None != server): client.stop () cleanup () sys.exit(success) - + check_connect () - - server.stop () + + server.stop () client.stop () cleanup () - + if (success == False): print ('Test failed') return True else: return False - + try: run () -except (KeyboardInterrupt, SystemExit): +except (KeyboardInterrupt, SystemExit): print('Test interrupted') server.stop () client.stop () cleanup () if (success == False): - sys.exit(1) + sys.exit(1) else: - sys.exit(0) - - + sys.exit(0) diff --git a/src/integration-tests/test_integration_reconnect_nat.py.in b/src/integration-tests/test_integration_reconnect_nat.py.in index 5b3f34d02..61d2ea966 100755 --- a/src/integration-tests/test_integration_reconnect_nat.py.in +++ b/src/integration-tests/test_integration_reconnect_nat.py.in @@ -11,7 +11,7 @@ # 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 . # diff --git a/src/pq/pq_result_helper.c b/src/pq/pq_result_helper.c index b0f0a8a6b..336ca8c42 100644 --- a/src/pq/pq_result_helper.c +++ b/src/pq/pq_result_helper.c @@ -11,7 +11,7 @@ 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 . diff --git a/src/sq/sq.c b/src/sq/sq.c index 36200aa26..e74071b81 100644 --- a/src/sq/sq.c +++ b/src/sq/sq.c @@ -11,7 +11,7 @@ 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 .