diff --git a/VERSION b/VERSION index 7186441f..536b20f1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 1.99.7 (2012-05-10 18:02:10) dev +Version 1.99.7 (2012-05-10 18:20:22) dev diff --git a/applications/examples/views/default/who.html b/applications/examples/views/default/who.html index ead81187..c7e6984d 100644 --- a/applications/examples/views/default/who.html +++ b/applications/examples/views/default/who.html @@ -80,6 +80,7 @@
  • Kyle Smith (javascript)
  • Limodou (winservice)
  • Lucas D'Ávila +
  • Marc Abramowitz (tests and travis continuous integration)
  • Marcel Leuthi (Oracle support)
  • Marcel Hellkamp (Bottle developer, multiple web server support)
  • Marcello Della Longa (italian translation) diff --git a/gluon/contrib/pymysql/tests/__init__.py b/gluon/contrib/pymysql/tests/__init__.py index fd4b29af..fa4d618d 100644 --- a/gluon/contrib/pymysql/tests/__init__.py +++ b/gluon/contrib/pymysql/tests/__init__.py @@ -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 diff --git a/gluon/contrib/pymysql/tests/base.py b/gluon/contrib/pymysql/tests/base.py index 3e97dada..9959837f 100644 --- a/gluon/contrib/pymysql/tests/base.py +++ b/gluon/contrib/pymysql/tests/base.py @@ -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: diff --git a/gluon/contrib/pymysql/tests/test_basic.py b/gluon/contrib/pymysql/tests/test_basic.py index 01f5d025..83216414 100644 --- a/gluon/contrib/pymysql/tests/test_basic.py +++ b/gluon/contrib/pymysql/tests/test_basic.py @@ -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 diff --git a/gluon/contrib/pymysql/tests/test_example.py b/gluon/contrib/pymysql/tests/test_example.py index 2da05db3..b8ac9412 100644 --- a/gluon/contrib/pymysql/tests/test_example.py +++ b/gluon/contrib/pymysql/tests/test_example.py @@ -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): diff --git a/gluon/contrib/pymysql/tests/test_issues.py b/gluon/contrib/pymysql/tests/test_issues.py index 2d921dc0..e88f7d35 100644 --- a/gluon/contrib/pymysql/tests/test_issues.py +++ b/gluon/contrib/pymysql/tests/test_issues.py @@ -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 diff --git a/gluon/widget.py b/gluon/widget.py index 7045360f..f31af393 100644 --- a/gluon/widget.py +++ b/gluon/widget.py @@ -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 diff --git a/travis.yml b/travis.yml new file mode 100644 index 00000000..5504b322 --- /dev/null +++ b/travis.yml @@ -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"