diff --git a/.travis.yml b/.travis.yml index 280de4d..01a0b30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,124 +1,60 @@ language: python -cache: pip +python: + - 2.6 + - 2.7 + - 3.2 + - 3.3 + - 3.4 services: - memcached - redis-server env: - - TOXENV=py2.6-django1.6-sqlite3-locmem - - TOXENV=py2.6-django1.6-sqlite3-redis - - TOXENV=py2.6-django1.6-sqlite3-memcached - - TOXENV=py2.6-django1.6-sqlite3-pylibmc - - TOXENV=py2.6-django1.6-postgresql-locmem - - TOXENV=py2.6-django1.6-postgresql-redis - - TOXENV=py2.6-django1.6-postgresql-memcached - - TOXENV=py2.6-django1.6-postgresql-pylibmc - - TOXENV=py2.6-django1.6-mysql-locmem - - TOXENV=py2.6-django1.6-mysql-redis - - TOXENV=py2.6-django1.6-mysql-memcached - - TOXENV=py2.6-django1.6-mysql-pylibmc - - TOXENV=py2.7-django1.6-sqlite3-pylibmc - - TOXENV=py2.7-django1.6-postgresql-pylibmc - - TOXENV=py2.7-django1.6-mysql-pylibmc - - TOXENV=py2.7-django1.7-sqlite3-pylibmc - - TOXENV=py2.7-django1.7-postgresql-pylibmc - - TOXENV=py2.7-django1.7-mysql-pylibmc - - TOXENV=py2.7-django1.7-sqlite3-filebased - - TOXENV=py2.7-django1.7-postgresql-filebased - - TOXENV=py2.7-django1.7-mysql-filebased - - TOXENV=py3.2-django1.7-sqlite3-filebased - - TOXENV=py3.2-django1.7-postgresql-filebased - - TOXENV=py3.2-django1.7-mysql-filebased - - TOXENV=py3.3-django1.7-sqlite3-filebased - - TOXENV=py3.3-django1.7-postgresql-filebased - - TOXENV=py3.3-django1.7-mysql-filebased - - TOXENV=py3.4-django1.7-sqlite3-filebased - - TOXENV=py3.4-django1.7-postgresql-filebased - - TOXENV=py3.4-django1.7-mysql-filebased - - TOXENV=py2.7-django1.6-sqlite3-locmem - - TOXENV=py2.7-django1.6-sqlite3-redis - - TOXENV=py2.7-django1.6-sqlite3-memcached - - TOXENV=py2.7-django1.6-postgresql-locmem - - TOXENV=py2.7-django1.6-postgresql-redis - - TOXENV=py2.7-django1.6-postgresql-memcached - - TOXENV=py2.7-django1.6-mysql-locmem - - TOXENV=py2.7-django1.6-mysql-redis - - TOXENV=py2.7-django1.6-mysql-memcached - - TOXENV=py2.7-django1.7-sqlite3-locmem - - TOXENV=py2.7-django1.7-sqlite3-redis - - TOXENV=py2.7-django1.7-sqlite3-memcached - - TOXENV=py2.7-django1.7-postgresql-locmem - - TOXENV=py2.7-django1.7-postgresql-redis - - TOXENV=py2.7-django1.7-postgresql-memcached - - TOXENV=py2.7-django1.7-mysql-locmem - - TOXENV=py2.7-django1.7-mysql-redis - - TOXENV=py2.7-django1.7-mysql-memcached - - TOXENV=py3.2-django1.6-sqlite3-locmem - - TOXENV=py3.2-django1.6-sqlite3-redis - - TOXENV=py3.2-django1.6-sqlite3-memcached - - TOXENV=py3.2-django1.6-postgresql-locmem - - TOXENV=py3.2-django1.6-postgresql-redis - - TOXENV=py3.2-django1.6-postgresql-memcached - - TOXENV=py3.2-django1.6-mysql-locmem - - TOXENV=py3.2-django1.6-mysql-redis - - TOXENV=py3.2-django1.6-mysql-memcached - - TOXENV=py3.2-django1.7-sqlite3-locmem - - TOXENV=py3.2-django1.7-sqlite3-redis - - TOXENV=py3.2-django1.7-sqlite3-memcached - - TOXENV=py3.2-django1.7-postgresql-locmem - - TOXENV=py3.2-django1.7-postgresql-redis - - TOXENV=py3.2-django1.7-postgresql-memcached - - TOXENV=py3.2-django1.7-mysql-locmem - - TOXENV=py3.2-django1.7-mysql-redis - - TOXENV=py3.2-django1.7-mysql-memcached - - TOXENV=py3.3-django1.6-sqlite3-locmem - - TOXENV=py3.3-django1.6-sqlite3-redis - - TOXENV=py3.3-django1.6-sqlite3-memcached - - TOXENV=py3.3-django1.6-postgresql-locmem - - TOXENV=py3.3-django1.6-postgresql-redis - - TOXENV=py3.3-django1.6-postgresql-memcached - - TOXENV=py3.3-django1.6-mysql-locmem - - TOXENV=py3.3-django1.6-mysql-redis - - TOXENV=py3.3-django1.6-mysql-memcached - - TOXENV=py3.3-django1.7-sqlite3-locmem - - TOXENV=py3.3-django1.7-sqlite3-redis - - TOXENV=py3.3-django1.7-sqlite3-memcached - - TOXENV=py3.3-django1.7-postgresql-locmem - - TOXENV=py3.3-django1.7-postgresql-redis - - TOXENV=py3.3-django1.7-postgresql-memcached - - TOXENV=py3.3-django1.7-mysql-locmem - - TOXENV=py3.3-django1.7-mysql-redis - - TOXENV=py3.3-django1.7-mysql-memcached - - TOXENV=py3.4-django1.6-sqlite3-locmem - - TOXENV=py3.4-django1.6-sqlite3-redis - - TOXENV=py3.4-django1.6-sqlite3-memcached - - TOXENV=py3.4-django1.6-postgresql-locmem - - TOXENV=py3.4-django1.6-postgresql-redis - - TOXENV=py3.4-django1.6-postgresql-memcached - - TOXENV=py3.4-django1.6-mysql-locmem - - TOXENV=py3.4-django1.6-mysql-redis - - TOXENV=py3.4-django1.6-mysql-memcached - - TOXENV=py3.4-django1.7-sqlite3-locmem - - TOXENV=py3.4-django1.7-sqlite3-redis - - TOXENV=py3.4-django1.7-sqlite3-memcached - - TOXENV=py3.4-django1.7-postgresql-locmem - - TOXENV=py3.4-django1.7-postgresql-redis - - TOXENV=py3.4-django1.7-postgresql-memcached - - TOXENV=py3.4-django1.7-mysql-locmem - - TOXENV=py3.4-django1.7-mysql-redis - - TOXENV=py3.4-django1.7-mysql-memcached + - DJANGO=">=1.6,<1.7" + - DJANGO=">=1.7,<1.8" sudo: false -install: pip install tox coveralls +install: + - pip install Django==$DJANGO coveralls + - if [[ $TRAVIS_PYTHON_VERSION == 3* ]]; + then + pip install -r runtests_requirements_py3.txt; + else + pip install -r runtests_requirements_py2.txt; + fi before_script: - psql -c 'CREATE USER cachalot CREATEDB;' -U postgres - psql -c 'CREATE DATABASE cachalot OWNER cachalot;' -U postgres - mysql -u root -e 'CREATE DATABASE cachalot;' -script: tox -e $TOXENV +script: + - CACHE_BACKEND=locmem DB_ENGINE=sqlite3 coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=locmem DB_ENGINE=postgresql coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=locmem DB_ENGINE=mysql coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=redis DB_ENGINE=sqlite3 coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=redis DB_ENGINE=postgresql coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=redis DB_ENGINE=mysql coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=memcached DB_ENGINE=sqlite3 coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=memcached DB_ENGINE=postgresql coverage run -a --source=cachalot ./runtests.py + - CACHE_BACKEND=memcached DB_ENGINE=mysql coverage run -a --source=cachalot ./runtests.py + - if [[ $DJANGO == ">=1.7,<1.8" ]]; then + CACHE_BACKEND=filebased DB_ENGINE=sqlite3 coverage run -a --source=cachalot ./runtests.py; + CACHE_BACKEND=filebased DB_ENGINE=postgresql coverage run -a --source=cachalot ./runtests.py; + CACHE_BACKEND=filebased DB_ENGINE=mysql coverage run -a --source=cachalot ./runtests.py; + fi + - if [[ $TRAVIS_PYTHON_VERSION == 2* ]]; then + CACHE_BACKEND=pylibmc DB_ENGINE=sqlite3 coverage run -a --source=cachalot ./runtests.py; + CACHE_BACKEND=pylibmc DB_ENGINE=postgresql coverage run -a --source=cachalot ./runtests.py; + CACHE_BACKEND=pylibmc DB_ENGINE=mysql coverage run -a --source=cachalot ./runtests.py; + fi after_success: coveralls + +matrix: + exclude: + - python: 2.6 + env: DJANGO=">=1.7,<1.8" diff --git a/runtests_requirements.txt b/runtests_requirements_py2.txt similarity index 70% rename from runtests_requirements.txt rename to runtests_requirements_py2.txt index 4b49be3..613ed0b 100644 --- a/runtests_requirements.txt +++ b/runtests_requirements_py2.txt @@ -1,7 +1,8 @@ --r requirements.txt psycopg2 MySQL-python django-redis python-memcached pylibmc South +# For Python 2.6 +unittest2 diff --git a/runtests_requirements_py3.txt b/runtests_requirements_py3.txt new file mode 100644 index 0000000..510e938 --- /dev/null +++ b/runtests_requirements_py3.txt @@ -0,0 +1,5 @@ +psycopg2 +https://github.com/clelland/MySQL-for-Python-3/tarball/master +django-redis +python3-memcached +South