Add "test" command to setup.py

"python setup.py test" will now run the complete test suite. Remove the
previous ./test command.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
This commit is contained in:
Sebastian Spaeth 2012-01-18 22:41:05 +01:00
parent 1f91d0fd06
commit bf1f79c571
4 changed files with 29 additions and 20 deletions

View File

@ -20,11 +20,32 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# END OF COPYRIGHT #
import os
from distutils.core import setup from distutils.core import setup, Command
import offlineimap import offlineimap
import logging
from test.OLItest import OLITextTestRunner, TestLoader, OLITestLib
class TestCommand(Command):
"""runs the OLI testsuite"""
description = "Runs the test suite"
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
logging.basicConfig(format='%(message)s')
# set credentials and OfflineImap command to be executed:
OLITestLib(cred_file='./test/credentials.conf', cmd='./offlineimap.py')
suite = TestLoader().discover('./test/tests')
#TODO: failfast does not seem to exist in python2.6?
OLITextTestRunner(verbosity=2,failfast=True).run(suite)
setup(name = "offlineimap", setup(name = "offlineimap",
version = offlineimap.__version__, version = offlineimap.__version__,
@ -36,6 +57,7 @@ setup(name = "offlineimap",
'offlineimap.repository', 'offlineimap.ui'], 'offlineimap.repository', 'offlineimap.ui'],
scripts = ['bin/offlineimap'], scripts = ['bin/offlineimap'],
license = offlineimap.__copyright__ + \ license = offlineimap.__copyright__ + \
", Licensed under the GPL version 2" ", Licensed under the GPL version 2",
cmdclass = { 'test': TestCommand}
) )

View File

@ -9,7 +9,8 @@ How to run the tests
will change the account and upload/delete/modify it's contents and will change the account and upload/delete/modify it's contents and
folder structure. So don't use a real used account here... folder structure. So don't use a real used account here...
- Execute './test' - go to the top level dir (one above this one) and execute:
'python setup.py test'
System requirements System requirements
=================== ===================

View File

@ -1,10 +0,0 @@
#!/usr/bin/env python
import logging
from OLItest import OLITextTestRunner, TestLoader, OLITestLib
if __name__ == '__main__':
logging.basicConfig(format='%(message)s')
# set credentials and OfflineImap command to be executed:
OLITestLib(cred_file='./credentials.conf', cmd='../offlineimap.py')
suite = TestLoader().discover('./tests')
OLITextTestRunner(verbosity=2).run(suite)

View File

@ -17,11 +17,7 @@ import random
import unittest import unittest
import logging import logging
import os, sys import os, sys
# Insert ".." into the python search path to get OLItest from test.OLItest import OLITestLib
cmd_folder = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if cmd_folder not in sys.path:
sys.path.insert(0, cmd_folder)
from OLItest import OLITestLib
def setUpModule(): def setUpModule():
logging.info("Set Up test module %s" % __name__) logging.info("Set Up test module %s" % __name__)