X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fpeerinfo-tool%2Ftest_gnunet_peerinfo.py.in;h=f54da35644bbe7e8e5b1ebb6d43a1203a48ae4f3;hb=35e5be0b0b4c7aea5a56d6a62333ab3a964a2972;hp=bff673e3b122c5695d0b63358459b34aa5c3e7ed;hpb=c7c2dd8a0d343b047115269c6a6c4ea62a4de1e5;p=oweals%2Fgnunet.git diff --git a/src/peerinfo-tool/test_gnunet_peerinfo.py.in b/src/peerinfo-tool/test_gnunet_peerinfo.py.in index bff673e3b..f54da3564 100755 --- a/src/peerinfo-tool/test_gnunet_peerinfo.py.in +++ b/src/peerinfo-tool/test_gnunet_peerinfo.py.in @@ -1,21 +1,19 @@ #!@PYTHON@ # This file is part of GNUnet. -# (C) 2010 Christian Grothoff (and other contributing authors) +# (C) 2010, 2018 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 free software: you can redistribute it and/or modify it +# under the terms of the GNU Affero General Public License as published +# by the Free Software Foundation, either version 3 of the License, +# 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. +# 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 . # # Testcase for gnunet-peerinfo import sys @@ -26,68 +24,70 @@ import shutil import time srcdir = "../.." -gnunet_pyexpect_dir = os.path.join (srcdir, "contrib") +gnunet_pyexpect_dir = os.path.join(srcdir, "contrib/scripts") if gnunet_pyexpect_dir not in sys.path: - sys.path.append (gnunet_pyexpect_dir) + sys.path.append(gnunet_pyexpect_dir) from gnunet_pyexpect import pexpect if os.name == 'posix': - peerinfo = 'gnunet-peerinfo' - gnunetarm = 'gnunet-arm' + peerinfo = './gnunet-peerinfo' + gnunetarm = 'gnunet-arm' + gnunettesting = 'gnunet-testing' elif os.name == 'nt': - peerinfo = 'gnunet-peerinfo.exe' - gnunetarm = 'gnunet-arm.exe' - + peerinfo = './gnunet-peerinfo.exe' + gnunetarm = 'gnunet-arm.exe' + gnunettesting = 'gnunet-testing.exe' +pinfo = pexpect() -pinfo = pexpect () -pinfo.spawn (None, [peerinfo, '-i', '-c', 'test_gnunet_peerinfo_data.conf', '-L', 'ERROR'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) -pinfo.expect ("stdout", re.compile (r'Error in communication with PEERINFO service: Timeout transmitting iteration request to `PEERINFO\' service.\r?\n')) -pinfo.expect ("stdout", "EOF") if os.name == "nt": - shutil.rmtree (os.path.join (os.getenv ("TEMP"), "gnunet-test-peerinfo"), True) + shutil.rmtree(os.path.join(os.getenv("TEMP"), "gnunet-test-peerinfo"), True) else: - shutil.rmtree ("/tmp/gnunet-test-peerinfo", True) -arm = subprocess.Popen ([gnunetarm, '-sq', '-c', 'test_gnunet_peerinfo_data.conf']) -arm.communicate () + shutil.rmtree("/tmp/gnunet-test-peerinfo", True) + +# create hostkey via testing lib # FIXME: The /tmp/ location needs to be adjusted to the TMP variable! +hkk = subprocess.Popen([gnunettesting, '-n', '1', '-c', 'test_gnunet_peerinfo_data.conf', '-k', '/tmp/gnunet-test-peerinfo/.hostkey']) +hkk.communicate() + +arm = subprocess.Popen([gnunetarm, '-sq', '-c', 'test_gnunet_peerinfo_data.conf']) +arm.communicate() try: - pinfo.spawn (None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', '-s'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - pinfo.expect ("stdout", re.compile (r'I am peer `.*\'.\r?\n')) - - pinfo.spawn (None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', '-qs'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - pinfo.expect ("stdout", re.compile (r'.......................................................................................................\r?\n')) - - pinfo.spawn (None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', 'invalid'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - pinfo.expect ("stdout", re.compile (r'Invalid command line argument `invalid\'\r?\n')) - - arm = subprocess.Popen ([gnunetarm, '-q', '-i', 'transport', '-c', 'test_gnunet_peerinfo_data.conf']) - arm.communicate () - time.sleep (1) - - pinfo.spawn (None, [peerinfo, '-i', '-c', 'test_gnunet_peerinfo_data.conf'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - pinfo.expect ("stdout", re.compile ("Peer `.*'\r?\n")) - m = pinfo.expect ("stdout", re.compile ("\s.*:24357\r?\n")) - while len (m.group (0)) > 0: - m = pinfo.expect ("stdout", re.compile ("(\s.*:24357\r?\n|\r?\n|)")) - - pinfo.spawn (None, [peerinfo, '-i', '-c', 'test_gnunet_peerinfo_data.conf', '-n'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - pinfo.expect ("stdout", re.compile ("Peer `.*'\r?\n")) - m = pinfo.expect ("stdout", re.compile ("\s.*:24357\r?\n")) - while len (m.group (0)) > 0: - m = pinfo.expect ("stdout", re.compile ("(\s.*:24357\r?\n|\r?\n|)")) - - pinfo.spawn (None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', '-qs'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - pid = pinfo.read ("stdout") - pid.strip () - -finally: - arm = subprocess.Popen ([gnunetarm, '-eq', '-c', 'test_gnunet_peerinfo_data.conf']) - arm.communicate () - if os.name == "nt": - shutil.rmtree (os.path.join (os.getenv ("TEMP"), "gnunet-test-peerinfo"), True) - else: - shutil.rmtree ("/tmp/gnunet-test-peerinfo", True) + pinfo.spawn(None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', '-s'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pinfo.expect("stdout", re.compile(r'I am peer `.*\'.\r?\n')) + + pinfo.spawn(None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', '-qs'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pinfo.expect("stdout", re.compile(r'....................................................\r?\n')) + pinfo.spawn(None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', 'invalid'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pinfo.expect("stdout", re.compile(r'Invalid command line argument `invalid\'\r?\n')) + + arm = subprocess.Popen([gnunetarm, '-q', '-i', 'transport', '-c', 'test_gnunet_peerinfo_data.conf']) + arm.communicate() + time.sleep(1) + + pinfo.spawn(None, [peerinfo, '-i', '-c', 'test_gnunet_peerinfo_data.conf'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pinfo.expect("stdout", re.compile("Peer `.*'\r?\n")) + m = pinfo.expect("stdout", re.compile("\s.*:24357\r?\n")) + while len(m.group(0)) > 0: + m = pinfo.expect("stdout", re.compile("(\s.*:24357\r?\n|\r?\n|)")) + + pinfo.spawn(None, [peerinfo, '-i', '-c', 'test_gnunet_peerinfo_data.conf', '-n'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pinfo.expect("stdout", re.compile("Peer `.*'\r?\n")) + m = pinfo.expect("stdout", re.compile("\s.*:24357\r?\n")) + while len(m.group(0)) > 0: + m = pinfo.expect("stdout", re.compile("(\s.*:24357\r?\n|\r?\n|)")) + + pinfo.spawn(None, [peerinfo, '-c', 'test_gnunet_peerinfo_data.conf', '-qs'], stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + pid = pinfo.read("stdout") + pid.strip() + +finally: + arm = subprocess.Popen([gnunetarm, '-eq', '-c', 'test_gnunet_peerinfo_data.conf']) + arm.communicate() + if os.name == "nt": + shutil.rmtree(os.path.join(os.getenv("TEMP"), "gnunet-test-peerinfo"), True) + else: + shutil.rmtree("/tmp/gnunet-test-peerinfo", True)