[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18602 - gnunet/src/integration-tests
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18602 - gnunet/src/integration-tests |
Date: |
Thu, 15 Dec 2011 15:09:56 +0100 |
Author: wachs
Date: 2011-12-15 15:09:56 +0100 (Thu, 15 Dec 2011)
New Revision: 18602
Added:
gnunet/src/integration-tests/gnunet_testing.py.in
Log:
improved peer management
Added: gnunet/src/integration-tests/gnunet_testing.py.in
===================================================================
--- gnunet/src/integration-tests/gnunet_testing.py.in
(rev 0)
+++ gnunet/src/integration-tests/gnunet_testing.py.in 2011-12-15 14:09:56 UTC
(rev 18602)
@@ -0,0 +1,90 @@
address@hidden@
+# 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.
+#
+# Functions for integration testing
+import os
+import re
+import subprocess
+import sys
+import shutil
+import time
+
+class Test:
+ def __init__(self, testname, verbose):
+ self.verbose = verbose;
+ self.name = testname;
+ 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
+ self.gnunetarm = ''
+ self.gnunetstatistics = ''
+ if os.name == 'posix':
+ self.gnunetarm = 'gnunet-arm'
+ self.gnunetstatistics = 'gnunet-statistics'
+ elif os.name == 'nt':
+ self.gnunetarm = 'gnunet-arm.exe'
+ self.gnunetstatistics = 'gnunet-statistics.exe'
+ if os.name == "nt":
+ shutil.rmtree (os.path.join (os.getenv ("TEMP"), testname), True)
+ else:
+ shutil.rmtree ("/tmp/" + testname, True)
+ def p (self, msg):
+ print msg
+
+class Peer:
+ def __init__(self, test, cfg_file):
+ if (False == os.path.isfile(cfg_file)):
+ print ("Peer cfg " + cfg_file + ": FILE NOT FOUND")
+ self.test = test
+ self.started = False
+ self.cfg = cfg_file
+ def start (self):
+ self.test.p ("Starting peer using cfg " + self.cfg)
+ try:
+ server = subprocess.Popen ([self.test.gnunetarm, '-sq', '-c',
self.cfg])
+ server.communicate ()
+ except OSError:
+ print "Can not start peer"
+ self.started = False
+ return False
+ self.started = True
+ return True
+ def stop (self):
+ self.test.p ("Stopping peer using cfg " + self.cfg)
+ try:
+ server = subprocess.Popen ([self.test.gnunetarm, '-eq', '-c',
self.cfg])
+ server.communicate ()
+ except OSError:
+ print "Can not stop peer"
+ return False
+ self.started = False
+ return True;
+ def check (self, subsystem, name, value):
+ from gnunet_pyexpect import pexpect
+ server = pexpect ()
+ server.spawn (None, [self.test.gnunetstatistics, '-c', self.cfg
,'-q','-n', name, '-s', subsystem ], stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
+ #server.expect ("stdout", re.compile (r""))
+ test = server.read("stdout", 10240)
+ if (test.find(str(value)) == -1):
+ return False
+ else:
+ return True
+
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18602 - gnunet/src/integration-tests,
gnunet <=