chiark / gitweb /
Use Automake's simple test infrastructure for running Python-based
authorRichard Kettlewell <rjk@greenend.org.uk>
Sat, 3 May 2008 12:21:41 +0000 (13:21 +0100)
committerRichard Kettlewell <rjk@greenend.org.uk>
Sat, 3 May 2008 12:21:41 +0000 (13:21 +0100)
tests.

12 files changed:
tests/Makefile.am
tests/alltests [deleted file]
tests/cookie.py
tests/dbversion.py
tests/dump.py
tests/files.py
tests/play.py
tests/queue.py
tests/recode.py
tests/search.py
tests/user-upgrade.py
tests/user.py

index ff6253d..6795672 100644 (file)
@@ -26,11 +26,11 @@ disorder_udplog_SOURCES=udplog.c
 disorder_udplog_LDADD=$(LIBOBJS) ../lib/libdisorder.a
 disorder_udplog_DEPENDENCIES=../lib/libdisorder.a
 
-check:
-       ${PYTHON} -u ${srcdir}/alltests
+TESTS=cookie.py dbversion.py dump.py files.py play.py queue.py \
+       recode.py search.py user-upgrade.py user.py
 
 clean-local:
        rm -rf testroot *.log *.pyc
 
-EXTRA_DIST=alltests dtest.py dbversion.py search.py \
+EXTRA_DIST=dtest.py dbversion.py search.py \
        queue.py dump.py play.py cookie.py user-upgrade.py user.py recode.py
diff --git a/tests/alltests b/tests/alltests
deleted file mode 100755 (executable)
index 812b53a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#! /usr/bin/env python
-#
-# This file is part of DisOrder.
-# Copyright (C) 2007 Richard Kettlewell
-#
-# This program 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 of the License, or
-# (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
-#
-import sys,re,os.path,os
-
-# Parse the makefile in the current directory to identify the source directory
-top_srcdir = None
-for l in file("Makefile"):
-    r = re.search("^top_srcdir *= *(.*)$",  l)
-    if r:
-        top_srcdir = r.group(1)
-        break
-if not top_srcdir:
-    fatal("cannot identify source directory")
-
-# Make sure that the test directory is on the module search path (so we can
-# find dtest and the tests themselves)
-testdir = os.path.join(top_srcdir, "tests")
-sys.path.insert(0, testdir)
-import dtest
-
-# The tests are all the *.py files in the test source directory that
-# call dtest.run
-tests = []
-for f in os.listdir(testdir):
-    if f == 'dtest.py':                 # special case
-        continue
-    r = re.search("^(.*)\\.py$", f)
-    if r is not None:
-        isTest = False
-        base = r.group(1)
-        for l in file(os.path.join(testdir, f)):
-            r = re.search("dtest\\.run", l)
-            if r is not None:
-                isTest = True
-                break
-        if isTest:
-            tests.append(base)
-tests.sort()                            # let's have a consistent order
-
-for test in tests:
-    print "-------- Test '%s' --------" % test
-    dtest.run(test, report=False)
-
-print "%d tests" % dtest.tests
-if dtest.failures:
-    print "%d failures" % dtest.failures
-    sys.exit(1)
-else:
-    print "All tests OK"
index 8a91829..21353b0 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2007 Richard Kettlewell
index 218e0c9..c93e1e8 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2007, 2008 Richard Kettlewell
index ff28a0f..c935f20 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2007, 2008 Richard Kettlewell
index 984c6cc..65211dc 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2007, 2008 Richard Kettlewell
index 0013d7e..35cc7a3 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2007, 2008 Richard Kettlewell
index dae37b4..a1ddedf 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2007, 2008 Richard Kettlewell
index 1539da0..d57db02 100755 (executable)
@@ -1,4 +1,4 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
 # Copyright (C) 2008 Richard Kettlewell
@@ -42,7 +42,7 @@ def test():
     if sys.platform == "darwin":
       print "Sorry, cannot run this test on Darwin"
       # ...because local fs is always UTF-8
-      return
+      sys.exit(77)
     dtest.start_daemon()
     dtest.create_user()
     dtest.rescan()
index 1b86bea..556a24c 100755 (executable)
@@ -1,7 +1,7 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
-# Copyright (C) 2007 Richard Kettlewell
+# Copyright (C) 2007, 2008 Richard Kettlewell
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 3bab581..ffd30ea 100755 (executable)
@@ -1,7 +1,7 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
-# Copyright (C) 2007 Richard Kettlewell
+# Copyright (C) 2007, 2008 Richard Kettlewell
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
index 1f3a39f..4c4fa48 100755 (executable)
@@ -1,7 +1,7 @@
-#! /usr/bin/env python
+#! /usr/bin/env python -u
 #
 # This file is part of DisOrder.
-# Copyright (C) 2007 Richard Kettlewell
+# Copyright (C) 2007, 2008 Richard Kettlewell
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by