From 4e79dc4ad5c6c4612d077192fbfd34974d165cf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 22 Jan 2015 21:12:16 +0100 Subject: [PATCH] Add tox and drone issue4431 --- .drone.yml | 9 +++++++++ setup.py | 10 ++++++++++ tests/test_carrier_percentage.py | 4 ++-- tox.ini | 16 ++++++++++++++++ 4 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 .drone.yml create mode 100644 tox.ini diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000000..a4d2595986 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,9 @@ +image: python2.7 +env: + - POSTGRESQL_URI=postgresql://postgres@127.0.0.1:5432/ + - MYSQL_URI=mysql://root@127.0.0.1:3306/ +script: + - pip install tox + - tox -e sqlite,postgresql +services: + - postgres diff --git a/setup.py b/setup.py index d1347c1541..8853fc228b 100644 --- a/setup.py +++ b/setup.py @@ -47,6 +47,14 @@ for dep in info.get('depends', []): requires.append(get_require_version('trytond_%s' % dep)) requires.append(get_require_version('trytond')) +tests_require = [get_require_version('proteus'), + get_require_version('trytond_purchase_shipment_cost'), + get_require_version('trytond_sale_shipment_cost')] +dependency_links = [] +if minor_version % 2: + # Add development index for testing with proteus + dependency_links.append('https://trydevpi.tryton.org/') + setup(name=name, version=version, description='Tryton module to add cost method "on percentage" on carrier', @@ -89,6 +97,7 @@ setup(name=name, ], license='GPL-3', install_requires=requires, + dependency_links=dependency_links, zip_safe=False, entry_points=""" [trytond.modules] @@ -96,4 +105,5 @@ setup(name=name, """, test_suite='tests', test_loader='trytond.test_loader:Loader', + tests_require=tests_require, ) diff --git a/tests/test_carrier_percentage.py b/tests/test_carrier_percentage.py index 2b4c170ad2..24cfcb70c8 100644 --- a/tests/test_carrier_percentage.py +++ b/tests/test_carrier_percentage.py @@ -80,11 +80,11 @@ def suite(): suite = trytond.tests.test_tryton.suite() from trytond.modules.product.tests import test_product for test in test_product.suite(): - if test not in suite: + if test not in suite and not isinstance(test, doctest.DocTestCase): suite.addTest(test) from trytond.modules.currency.tests import test_currency for test in test_currency.suite(): - if test not in suite: + if test not in suite and not isinstance(test, doctest.DocTestCase): suite.addTest(test) suite.addTests(unittest.TestLoader().loadTestsFromTestCase( CarrierWeightTestCase)) diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000000..e213af00e6 --- /dev/null +++ b/tox.ini @@ -0,0 +1,16 @@ +[tox] +envlist = py27-{sqlite,postgresql,mysql} + +[testenv] +commands = {envpython} setup.py test +deps = + postgresql: psycopg2 >= 2.0 + mysql: MySQL-python +setenv = + sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://} + postgresql: TRYTOND_DATABASE_URI={env:POSTGRESQL_URI:postgresql://} + mysql: TRYTOND_DATABASE_URI={env:MYSQL_URI:mysql://} + sqlite: DB_NAME={env:SQLITE_NAME::memory:} + postgresql: DB_NAME={env:POSTGRESQL_NAME:test} + mysql: DB_NAME={env:MYSQL_NAME:test} +install_command = pip install --pre --find-links https://trydevpi.tryton.org/ {opts} {packages}