diff options
author | Bertrand Marc <beberking@gmail.com> | 2012-06-06 20:47:48 +0200 |
---|---|---|
committer | Bertrand Marc <beberking@gmail.com> | 2012-06-06 20:47:48 +0200 |
commit | 740b30688bd745a527f96f9116c19acb3480971a (patch) | |
tree | 2709a3f4dba11c174aa9e1ba3612e30c578e76a9 /src/integration-tests/test_integration_connection_values_tcp.py.in | |
parent | 2b81464a43485fcc8ce079fafdee7b7a171835f4 (diff) |
Imported Upstream version 0.9.3upstream/0.9.3
Diffstat (limited to 'src/integration-tests/test_integration_connection_values_tcp.py.in')
-rwxr-xr-x | src/integration-tests/test_integration_connection_values_tcp.py.in | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/src/integration-tests/test_integration_connection_values_tcp.py.in b/src/integration-tests/test_integration_connection_values_tcp.py.in new file mode 100755 index 0000000..d8a92ba --- /dev/null +++ b/src/integration-tests/test_integration_connection_values_tcp.py.in @@ -0,0 +1,124 @@ +#!@PYTHON@ +# This file is part of GNUnet. +# (C) 2010 Christian Grothoff (and other contributing authors) +# +# GNUnet is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; either version 2, or (at your +# option) any later version. +# +# GNUnet is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNUnet; see the file COPYING. If not, write to the +# Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. +# +# +# +# This test starts 3 peers and expects bootstrap and a connected clique +# +# Conditions for successful exit: +# Both peers have 1 connected peer in transport, core, topology, fs + +import sys +import os +import subprocess +import re +import shutil +import time +import pexpect +from gnunet_testing import Peer +from gnunet_testing import Test +from gnunet_testing import Check +from gnunet_testing import Condition +from gnunet_testing import * + + +#definitions + +testname = "test_integration_connection_value" +verbose = True +check_timeout = 180 + + +def cleanup (): + if os.name == "nt": + shutil.rmtree (os.path.join (os.getenv ("TEMP"), "c_normal_client"), True) + else: + shutil.rmtree ("/tmp/c_normal_client/", True) + + +def success_cont (check): + global success + success = True; + +def fail_cont (check): + global success + success= False; + check.evaluate(True) + + +def check_connect (): + check = Check (test) + check.add (EqualStatisticsCondition (client, 'transport', '# peers connected', client, 'core', '# neighbour entries allocated')) + check.add (EqualStatisticsCondition (client, 'transport', '# peers connected', client, 'core', '# peers connected')) + check.add (EqualStatisticsCondition (client, 'core', '# neighbour entries allocated', client, 'core', '# peers connected')) + check.add (EqualStatisticsCondition (client, 'transport', '# peers connected', client, 'topology', '# peers connected')) + check.add (EqualStatisticsCondition (client, 'topology', '# peers connected', client, 'core', '# peers connected')) + + while True: + check.reset() + res = check.run_once (None, None) + print "Values are equal" + check.evaluate (False) +#if (False == res): +# break + time.sleep (5) + +# +# Test execution +# +def run (): + global success + global test + global client + + + success = False + + test = Test ('test_integration_connection_value', verbose) + + client = Peer(test, './confs/c_normal_client_tcp.conf'); + client.start(); + + if (client.started == True): + test.p ('Peers started, running check') + check_connect () + + client.stop () + + cleanup () + + if (success == False): + print ('Test failed') + return False + else: + return True + + +try: + run () +except (KeyboardInterrupt, SystemExit): + print 'Test interrupted' + client.stop () + cleanup () +if (success == False): + sys.exit(1) +else: + sys.exit(0) + + |