import subprocess
import re
import shutil
+import time
#
# This test tests if a fresh peer bootstraps from a hostlist server and then
#definitions
-def vpfrint (msg):
- if verbose == True:
- print msg
-
-
testname = "test_integration_bootstrap_and_connect"
verbose = True
+gnunetarm = ""
+#fix this!
+success = True
+timeout = 2
-# setup
-
-srcdir = "../.."
-gnunet_pyexpect_dir = os.path.join (srcdir, "contrib")
-if gnunet_pyexpect_dir not in sys.path:
- sys.path.append (gnunet_pyexpect_dir)
-
-from gnunet_pyexpect import pexpect
-
-if os.name == 'posix':
- gnunetarm = 'gnunet-arm'
-elif os.name == 'nt':
- gnunetarm = 'gnunet-arm.exe'
-
-if os.name == "nt":
- shutil.rmtree (os.path.join (os.getenv ("TEMP"), testname), True)
-else:
- shutil.rmtree ("/tmp/" + testname, True)
-
-vpfrint ("Running " + testname)
+def vprintf (msg):
+ if verbose == True:
+ print msg
+def setup ():
+ srcdir = "../.."
+ gnunet_pyexpect_dir = os.path.join (srcdir, "contrib")
+ if gnunet_pyexpect_dir not in sys.path:
+ sys.path.append (gnunet_pyexpect_dir)
+
+ from gnunet_pyexpect import pexpect
+
+ global gnunetarm
+ if os.name == 'posix':
+ gnunetarm = 'gnunet-arm'
+ elif os.name == 'nt':
+ gnunetarm = 'gnunet-arm.exe'
+
+ if os.name == "nt":
+ shutil.rmtree (os.path.join (os.getenv ("TEMP"), testname), True)
+ else:
+ shutil.rmtree ("/tmp/" + testname, True)
+
+def start ():
+ vprintf ("Starting bootstrap server & client")
+ try:
+ server = subprocess.Popen ([gnunetarm, '-sq', '-c', './confs/c_bootstrap_server.conf'])
+ server.communicate ()
+ except OSError:
+ print "Can not start bootstrap server, exiting..."
+ exit (1)
+ try:
+ client = subprocess.Popen ([gnunetarm, '-sq', '-c', 'confs/c_no_nat_client.conf'])
+ client.communicate ()
+ except OSError:
+ print "Can not start bootstrap client, exiting..."
+ exit (1)
+ vprintf ("Bootstrap server & client started")
+
+def stop ():
+ vprintf ("Shutting down bootstrap server")
+ try:
+ server = subprocess.Popen ([gnunetarm, '-eq', '-c', './confs/c_bootstrap_server.conf'])
+ server.communicate ()
+ except OSError:
+ print "Can not stop bootstrap server, exiting..."
+ exit (1)
+ try:
+ client = subprocess.Popen ([gnunetarm, '-eq', '-c', 'confs/c_no_nat_client.conf'])
+ client.communicate ()
+ except OSError:
+ print "Can not stop bootstrap client, exiting..."
+ exit (1)
+ vprintf ("Bootstrap server & client stopped")
+
+
+def cleanup ():
+ if os.name == "nt":
+ shutil.rmtree (os.path.join (os.getenv ("TEMP"), "gnunet-test-fs-py-ns"), True)
+ else:
+ shutil.rmtree ("/tmp/gnunet-test-fs-py-ns", True)
+
+def check ():
+ global success
+ global timeout
+ count = 1
+
+ while ((success == False) and (count < timeout)):
+ time.sleep(1)
+ count += 1
+#
+# Test execution
+#
-# start nodes
+vprintf ("Running " + testname)
+setup ()
+start ()
-vpfrint ("Starting bootstrap server & client")
-try:
- server = subprocess.Popen ([gnunetarm, '-sq', '-c', './confs/c_bootstrap_server.conf'])
- server.communicate ()
-except OSError:
- print "Can not start bootstrap server, exiting..."
- exit (1)
-try:
- client = subprocess.Popen ([gnunetarm, '-sq', '-c', 'confs/c_no_nat_client.conf'])
- client.communicate ()
-except OSError:
- print "Can not start bootstrap client, exiting..."
- exit (1)
-vpfrint ("Bootstrap server & client started")
+check ()
+stop ()
+cleanup ()
-import time
-time.sleep(5)
-
-# shutdown
-vpfrint ("Shutting down bootstrap server")
-try:
- server = subprocess.Popen ([gnunetarm, '-eq', '-c', './confs/c_bootstrap_server.conf'])
- server.communicate ()
-except OSError:
- print "Can not stop bootstrap server, exiting..."
- exit (1)
-try:
- client = subprocess.Popen ([gnunetarm, '-eq', '-c', 'confs/c_no_nat_client.conf'])
- client.communicate ()
-except OSError:
- print "Can not stop bootstrap client, exiting..."
- exit (1)
-vpfrint ("Bootstrap server & client stopped")
-
-# clean up
-
-if os.name == "nt":
- shutil.rmtree (os.path.join (os.getenv ("TEMP"), "gnunet-test-fs-py-ns"), True)
+if (success == False):
+ print ('Test failed')
+ exit (1)
else:
- shutil.rmtree ("/tmp/gnunet-test-fs-py-ns", True)
+ print ('Test successful')
+ exit (0)
-exit (0)