X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/aa8964354bc97cfdc7b6d51e560b9c0aacfd7243..ad08c366a19e95d19e8ee5d66b050530339561e4:/tests/alltests diff --git a/tests/alltests b/tests/alltests index 884a870..4e3f64d 100755 --- a/tests/alltests +++ b/tests/alltests @@ -18,9 +18,40 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA # -import dtest,sys +import sys,re,os.path,os -tests = ["nothing", "version"] +# 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): + 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