web2py.py --run_system_tests, thanks Marc Abramowitz

This commit is contained in:
Massimo DiPierro
2012-05-10 18:20:24 -05:00
parent 827e7985d4
commit 409ce3f51e
9 changed files with 64 additions and 14 deletions

View File

@@ -1 +1 @@
Version 1.99.7 (2012-05-10 18:02:10) dev
Version 1.99.7 (2012-05-10 18:20:22) dev

View File

@@ -80,6 +80,7 @@
</li><li>Kyle Smith (javascript)
</li><li><a href="http://blog.donews.com/limodou/">Limodou</a> (winservice)
</li><li><a href="https://github.com/lucasdavila">Lucas D'Ávila</a>
</li><li>Marc Abramowitz (tests and travis continuous integration)
</li><li><a href="http://www.mlsystems.ch">Marcel Leuthi</a> (Oracle support)
</li><li>Marcel Hellkamp (Bottle developer, multiple web server support)
</li><li>Marcello Della Longa (italian translation)

View File

@@ -1,6 +1,6 @@
from pymysql.tests.test_issues import *
from pymysql.tests.test_example import *
from pymysql.tests.test_basic import *
from gluon.contrib.pymysql.tests.test_issues import *
from gluon.contrib.pymysql.tests.test_example import *
from gluon.contrib.pymysql.tests.test_basic import *
if __name__ == "__main__":
import unittest

View File

@@ -1,4 +1,4 @@
import pymysql
from gluon.contrib import pymysql
import unittest
class PyMySQLTestCase(unittest.TestCase):
@@ -8,10 +8,13 @@ class PyMySQLTestCase(unittest.TestCase):
{"host":"localhost","user":"root","passwd":"","db":"test_pymysql2"}]
def setUp(self):
self.connections = []
try:
self.connections = []
for params in self.databases:
self.connections.append(pymysql.connect(**params))
for params in self.databases:
self.connections.append(pymysql.connect(**params))
except pymysql.err.OperationalError as e:
self.skipTest('Cannot connect to MySQL - skipping pymysql tests because of (%s) %s' % (type(e), e))
def tearDown(self):
for connection in self.connections:

View File

@@ -1,5 +1,5 @@
from pymysql.tests import base
from pymysql import util
from gluon.contrib.pymysql.tests import base
from gluon.contrib.pymysql import util
import time
import datetime

View File

@@ -1,5 +1,5 @@
import pymysql
from pymysql.tests import base
from gluon.contrib import pymysql
from gluon.contrib.pymysql.tests import base
class TestExample(base.PyMySQLTestCase):
def test_example(self):

View File

@@ -1,5 +1,5 @@
import pymysql
from pymysql.tests import base
from gluon.contrib import pymysql
from gluon.contrib.pymysql.tests import base
import sys

View File

@@ -55,6 +55,23 @@ if not sys.version[:3] in ['2.4', '2.5', '2.6', '2.7']:
logger = logging.getLogger("web2py")
def run_system_tests():
major_version = sys.version_info[0]
minor_version = sys.version_info[1]
print "minor_version = %r" % minor_version
if major_version == 2:
if minor_version in (5, 6):
print "Python 2.5 or 2.6"
os.system("PYTHONPATH=. unit2 -v gluon.tests")
elif minor_version in (7,):
print "Python 2.7"
os.system("PYTHONPATH=. python -m unittest -v gluon.tests")
else:
print "unknown python 2.x version"
else:
print "Only Python 2.x supported."
class IO(object):
""" """
@@ -735,6 +752,14 @@ def console():
default=None,
help=msg)
msg = 'runs web2py tests'
parser.add_option('--run_system_tests',
action='store_true',
dest='run_system_tests',
default=False,
help=msg)
if '-A' in sys.argv: k = sys.argv.index('-A')
elif '--args' in sys.argv: k = sys.argv.index('--args')
else: k=len(sys.argv)
@@ -744,6 +769,10 @@ def console():
global_settings.cmd_options = options
global_settings.cmd_args = args
if options.run_system_tests:
run_system_tests()
sys.exit(0)
if options.quiet:
capture = cStringIO.StringIO()
sys.stdout = capture

17
travis.yml Normal file
View File

@@ -0,0 +1,17 @@
language: python
python:
- '2.5'
- '2.6'
- '2.7'
before_script:
- pip install unittest2
- mysql -e 'create database test_pymysql;'
- mysql -e 'create database test_pymysql2;'
script: PYTHONPATH=. unit2 -v gluon.tests
notifications:
irc:
channels: "irc.freenode.org#web2py"