From d48eab4dbfa4678986af61afd83b3cb80b1a9679 Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Tue, 27 Nov 2007 22:21:50 +0000 Subject: [PATCH] exercise the C client a bit from tests Organization: Straylight/Edgeware From: Richard Kettlewell --- tests/dtest.py | 11 ++++++++++- tests/queue.py | 7 ++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/dtest.py b/tests/dtest.py index 7c0bae0..bedbec9 100644 --- a/tests/dtest.py +++ b/tests/dtest.py @@ -41,9 +41,10 @@ else: sys.path.insert(0, os.path.join(top_builddir, "python")) import disorder -# Make sure the server build directory is on the executable search path +# Make sure the build directories are on the executable search path ospath = os.environ["PATH"].split(os.pathsep) ospath.insert(0, os.path.join(top_builddir, "server")) +ospath.insert(0, os.path.join(top_builddir, "clients")) os.environ["PATH"] = os.pathsep.join(ospath) # Parse the makefile in the current directory to identify the source directory @@ -322,6 +323,14 @@ def check_files(): failures += 1 return failures +def command(args): + """Execute a command given as a list and return its stdout""" + p = subprocess.Popen(args, stdout=subprocess.PIPE) + lines = p.stdout.readlines() + rc = p.wait() + assert rc == 0, ("%s returned status %s" % (args, rc)) + return lines + # ----------------------------------------------------------------------------- # Common setup diff --git a/tests/queue.py b/tests/queue.py index 7f56af0..3be7c2a 100755 --- a/tests/queue.py +++ b/tests/queue.py @@ -18,14 +18,19 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA # -import dtest,time,disorder +import dtest,time,disorder,re def test(): """Check the queue is padded to the (default) configured length""" dtest.start_daemon() c = disorder.client() + print " getting queue via python module" q = c.queue() assert len(q) == 10, "queue is at proper length" + print " getting queue via disorder(1)" + q = dtest.command(["disorder", "--config", disorder._configfile, "queue"]) + tracks = filter(lambda s: re.match("^track", s), q) + assert len(tracks) == 10, "queue is at proper length" if __name__ == '__main__': dtest.run() -- [mdw]