aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Gillmann <ng0@n0.is>2018-05-22 09:26:21 +0000
committerNils Gillmann <ng0@n0.is>2018-05-22 09:26:21 +0000
commit067f31e6e330b5348f0979364de7e4038d4594e7 (patch)
tree5953a77446772ca996c35d82afd5d7edfecf9b88
parent043b52f76c21d5e74707c9dc4d379c8fed252dde (diff)
++
Signed-off-by: Nils Gillmann <ng0@n0.is>
-rw-r--r--src/dht/test_dht_tools.py.in184
1 files changed, 96 insertions, 88 deletions
diff --git a/src/dht/test_dht_tools.py.in b/src/dht/test_dht_tools.py.in
index 2d4ab9adc7..05582cbd06 100644
--- a/src/dht/test_dht_tools.py.in
+++ b/src/dht/test_dht_tools.py.in
@@ -21,105 +21,113 @@ import subprocess
import time
import tempfile
-os.environ["PATH"] = "@bindir@" + ":" + os.environ["PATH"];
+os.environ["PATH"] = "@bindir@" + ":" + os.environ["PATH"]
if os.name == "nt":
- tmp = os.getenv ("TEMP")
+ tmp = os.getenv("TEMP")
else:
- tmp = "/tmp"
+ tmp = "/tmp"
if os.name == 'nt':
- get = './gnunet-dht-get.exe'
- put = './gnunet-dht-put.exe'
- arm = 'gnunet-arm.exe'
+ get = './gnunet-dht-get.exe'
+ put = './gnunet-dht-put.exe'
+ arm = 'gnunet-arm.exe'
else:
- get = './gnunet-dht-get'
- put = './gnunet-dht-put'
- arm = 'gnunet-arm'
+ get = './gnunet-dht-get'
+ put = './gnunet-dht-put'
+ arm = 'gnunet-arm'
cfgfile = 'test_dht_api_peer1.conf'
-
run_get = [get, '-c', cfgfile]
run_put = [put, '-c', cfgfile]
run_arm = [arm, '-c', cfgfile]
-debug = os.getenv ('DEBUG')
+debug = os.getenv('DEBUG')
if debug:
- run_arm += [debug.split (' ')]
-
-def cleanup (exitcode):
- sys.exit (exitcode)
-
-def sub_run (args, want_stdo = True, want_stde = False, nofail = False):
- if want_stdo:
- stdo = subprocess.PIPE
- else:
- stdo = None
- if want_stde:
- stde = subprocess.PIPE
- else:
- stde = None
- p = subprocess.Popen (args, stdout = stdo, stderr = stde)
- stdo, stde = p.communicate ()
- if not nofail:
- if p.returncode != 0:
- sys.exit (p.returncode)
- return (p.returncode, stdo, stde)
-
-def fail (result):
- print (result)
- r_arm (['-e'], want_stdo = False)
- cleanup (1)
-
-def r_something (to_run, extra_args, failer = None, normal = True, **kw):
- rc, stdo, stde = sub_run (to_run + extra_args, nofail = True, **kw)
- if failer is not None:
- failer (to_run + extra_args, rc, stdo, stde, normal)
- return (rc, stdo, stde)
-
-def r_arm (extra_args, **kw):
- return r_something (run_arm, extra_args, **kw)
-
-def r_get (extra_args, **kw):
- return r_something (run_get, extra_args, **kw)
-
-def r_put (extra_args, **kw):
- return r_something (run_put, extra_args, **kw)
-
-def end_arm_failer (command, rc, stdo, stde, normal):
- if normal:
- if rc != 0:
- fail ("FAIL: error running {}\nCommand output was:\n{}\n{}".format (command, stdo, stde))
- else:
- if rc == 0:
- fail ("FAIL: expected error while running {}\nCommand output was:\n{}\n{}".format (command, stdo, stde))
-
-def print_only_failer (command, rc, stdo, stde, normal):
- if normal:
- if rc != 0:
- print ("FAIL: error running {}\nCommand output was:\n{}\n{}".format (command, stdo, stde))
- cleanup (1)
- else:
- if rc == 0:
- print ("FAIL: expected error while running {}\nCommand output was:\n{}\n{}".format (command, stdo, stde))
- cleanup (1)
-
-
-print ("TEST: Starting ARM...", end='')
-r_arm (['-s'], failer = end_arm_failer, want_stdo = False, want_stde = False)
-print ("PASS")
-time.sleep (1)
-
-print ("TEST: Testing put...", end='')
-r_put (['-k', 'testkey', '-d', 'testdata', '-t', '8'], failer = end_arm_failer)
-print ("PASS")
-time.sleep (1)
-
-print ("TEST: Testing get...", end='')
-rc, stdo, stde = r_get (['-k', 'testkey', '-T', '50 ms', '-t', '8'], want_stdo = True, failer = end_arm_failer)
-stdo = stdo.replace ('\r', '').splitlines ()
+ run_arm += [debug.split(' ')]
+
+
+def cleanup(exitcode):
+ sys.exit(exitcode)
+
+
+def sub_run(args, want_stdo=True, want_stde=False, nofail=False):
+ if want_stdo:
+ stdo = subprocess.PIPE
+ else:
+ stdo = None
+ if want_stde:
+ stde = subprocess.PIPE
+ else:
+ stde = None
+ p = subprocess.Popen(args, stdout=stdo, stderr=stde)
+ stdo, stde = p.communicate()
+ if not nofail:
+ if p.returncode != 0:
+ sys.exit(p.returncode)
+ return (p.returncode, stdo, stde)
+
+
+def fail(result):
+ print(result)
+ r_arm(['-e'], want_stdo=False)
+ cleanup(1)
+
+
+def r_something(to_run, extra_args, failer=None, normal=True, **kw):
+ rc, stdo, stde = sub_run(to_run + extra_args, nofail=True, **kw)
+ if failer is not None:
+ failer(to_run + extra_args, rc, stdo, stde, normal)
+ return (rc, stdo, stde)
+
+
+def r_arm(extra_args, **kw):
+ return r_something(run_arm, extra_args, **kw)
+
+
+def r_get(extra_args, **kw):
+ return r_something(run_get, extra_args, **kw)
+
+
+def r_put(extra_args, **kw):
+ return r_something(run_put, extra_args, **kw)
+
+
+def end_arm_failer(command, rc, stdo, stde, normal):
+ if normal:
+ if rc != 0:
+ fail("FAIL: error running {}\nCommand output was:\n{}\n{}".format(command, stdo, stde))
+ else:
+ if rc == 0:
+ fail("FAIL: expected error while running {}\nCommand output was:\n{}\n{}".format(command, stdo, stde))
+
+
+def print_only_failer(command, rc, stdo, stde, normal):
+ if normal:
+ if rc != 0:
+ print("FAIL: error running {}\nCommand output was:\n{}\n{}".format(command, stdo, stde))
+ cleanup(1)
+ else:
+ if rc == 0:
+ print("FAIL: expected error while running {}\nCommand output was:\n{}\n{}".format(command, stdo, stde))
+ cleanup(1)
+
+
+print("TEST: Starting ARM...", end='')
+r_arm(['-s'], failer=end_arm_failer, want_stdo=False, want_stde=False)
+print("PASS")
+time.sleep(1)
+
+print("TEST: Testing put...", end='')
+r_put(['-k', 'testkey', '-d', 'testdata', '-t', '8'], failer=end_arm_failer)
+print("PASS")
+time.sleep(1)
+
+print("TEST: Testing get...", end='')
+rc, stdo, stde = r_get(['-k', 'testkey', '-T', '50 ms', '-t', '8'], want_stdo=True, failer=end_arm_failer)
+stdo = stdo.replace('\r', '').splitlines()
expect = "Result 0, type 8:\ntestdata".splitlines()
-if len (stdo) != 2 or len (expect) != 2 or stdo[0] != expect[0] or stdo[1] != expect[1]:
- fail ("output `{}' differs from expected `{}'".format (stdo, expect))
-print ("PASS")
+if len(stdo) != 2 or len(expect) != 2 or stdo[0] != expect[0] or stdo[1] != expect[1]:
+ fail("output `{}' differs from expected `{}'".format(stdo, expect))
+print("PASS")
-r_arm (['-e', '-d'], failer = print_only_failer)
+r_arm(['-e', '-d'], failer=print_only_failer)