gnip / gnip-python

Python library for utilizing Gnip services.

This URL has Read+Write access

gnip-python / regression.py
100644 44 lines (35 sloc) 1.61 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
"""Regression testing framework
 
This module will search for scripts in the same directory named
XYZtest.py. Each such script should be a test suite that tests a
module through PyUnit. (As of Python 2.1, PyUnit is included in
the standard library as 'unittest'.) This script will aggregate all
found test suites into one big test suite and run them all at once.
 
This program is part of "Dive Into Python", a free Python book for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
"""
 
__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.4 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2001 Mark Pilgrim"
__license__ = "Python"
 
import sys, os, re, unittest, logging
sys.path.append(".")
sys.path.append("./test")
 
def regressionTest():
    logging.getLogger('').setLevel(logging.WARN)
    path = os.path.abspath(os.path.dirname(sys.argv[0])) + "/test"
    logging.debug("Searching for tests in " + path)
    files = os.listdir(path)
    
    test = re.compile("_test\.py$", re.IGNORECASE)
    files = filter(test.search, files)
    for file in files:
        logging.info("Loading tests from " + file)
    
    filenameToModuleName = lambda f: os.path.splitext(f)[0]
    moduleNames = map(filenameToModuleName, files)
    modules = map(__import__, moduleNames)
    
    load = unittest.defaultTestLoader.loadTestsFromModule
    return unittest.TestSuite(map(load, modules))
 
if __name__ == "__main__":
    unittest.main(defaultTest="regressionTest")
    #unittest.main(gnipTest, "GnipTestCase.testUpdatePublisher")