Commit 7fb15fe5 authored by Jason Madden's avatar Jason Madden

Add Python 3.6 support.

Also add note on supported versions to the docs and readme.
Fixes #168.

Update tox.ini to correctly run testdocumentation and DRY with test deps.
parent a89485c1
...@@ -3,9 +3,9 @@ sudo: false ...@@ -3,9 +3,9 @@ sudo: false
matrix: matrix:
include: include:
- os: linux - os: linux
python: pypy-5.4.1 python: pypy-5.6.0
- os: linux - os: linux
python: pypy3 python: pypy3.3-5.5-alpha
env: BUILOUT_OPTIONS=sphinx:eggs= env: BUILOUT_OPTIONS=sphinx:eggs=
- os: linux - os: linux
python: 2.7 python: 2.7
...@@ -15,14 +15,16 @@ matrix: ...@@ -15,14 +15,16 @@ matrix:
python: 3.4 python: 3.4
- os: linux - os: linux
python: 3.5 python: 3.5
- os: linux
python: 3.6
install: install:
- pip install -U pip - pip install -U pip
- pip install zc.buildout - pip install zc.buildout
- buildout $BUILOUT_OPTIONS versions:sphinx=1.4.9 - buildout $BUILOUT_OPTIONS versions:sphinx=1.4.9
script: script:
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage run bin/coverage-test -v1j99; fi - if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage run bin/coverage-test -v1j99; fi
- if [[ $TRAVIS_PYTHON_VERSION == 'pypy' || $TRAVIS_PYTHON_VERSION == 'pypy3' ]]; then bin/test -v1j99; fi - if [[ $TRAVIS_PYTHON_VERSION == pypy* ]]; then bin/test -v1j99; fi
- if [[ $TRAVIS_PYTHON_VERSION != 'pypy3' ]]; then pushd doc; make html; popd; fi - if [[ $TRAVIS_PYTHON_VERSION != pypy3* ]]; then pushd doc; make html; popd; fi
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then pip install coveralls; fi # install early enough to get into the cache - if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then pip install coveralls; fi # install early enough to get into the cache
after_success: after_success:
- if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage combine; fi - if [[ $TRAVIS_PYTHON_VERSION != pypy* ]]; then bin/coverage combine; fi
......
...@@ -3,7 +3,8 @@ ZODB, a Python object-oriented database ...@@ -3,7 +3,8 @@ ZODB, a Python object-oriented database
======================================= =======================================
ZODB provides an object-oriented database for Python that provides a ZODB provides an object-oriented database for Python that provides a
high-degree of transparency. high-degree of transparency. ZODB runs on Python 2.7 or Python 3.3 and
above. It also runs on PyPy.
- no separate language for database operations - no separate language for database operations
......
...@@ -16,6 +16,8 @@ Because ZODB is an object database: ...@@ -16,6 +16,8 @@ Because ZODB is an object database:
Check out the :doc:`tutorial`! Check out the :doc:`tutorial`!
ZODB runs on Python 2.7 or Python 3.3 and above. It also runs on PyPy.
Transactions Transactions
============ ============
...@@ -201,7 +203,7 @@ Learning more ...@@ -201,7 +203,7 @@ Learning more
reference/index reference/index
articles/index articles/index
* `The ZODB Book (in progress) <http://zodb.readthedocs.org/en/latest/>`_ * `The ZODB Book (in progress) <http://zodb.readthedocs.org/en/latest/>`_
Downloads Downloads
========= =========
......
...@@ -26,6 +26,7 @@ Programming Language :: Python :: 3 ...@@ -26,6 +26,7 @@ Programming Language :: Python :: 3
Programming Language :: Python :: 3.3 Programming Language :: Python :: 3.3
Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: Implementation :: CPython Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy Programming Language :: Python :: Implementation :: PyPy
Topic :: Database Topic :: Database
...@@ -97,7 +98,11 @@ def read(path): ...@@ -97,7 +98,11 @@ def read(path):
long_description = read("README.rst") + "\n\n" + read("CHANGES.rst") long_description = read("README.rst") + "\n\n" + read("CHANGES.rst")
tests_require = ['zope.testing', 'manuel'] tests_require = [
'manuel',
'zope.testing',
'zope.testrunner >= 4.4.6',
]
setup(name="ZODB", setup(name="ZODB",
version=version, version=version,
......
...@@ -33,7 +33,7 @@ def tearDown(test): ...@@ -33,7 +33,7 @@ def tearDown(test):
def test_suite(): def test_suite():
base, src = os.path.split(os.path.dirname(os.path.dirname(ZODB.__file__))) base, src = os.path.split(os.path.dirname(os.path.dirname(ZODB.__file__)))
assert src == 'src' assert src == 'src', src
base = join(base, 'doc') base = join(base, 'doc')
guide = join(base, 'guide') guide = join(base, 'guide')
reference = join(base, 'reference') reference = join(base, 'reference')
...@@ -54,4 +54,3 @@ def test_suite(): ...@@ -54,4 +54,3 @@ def test_suite():
if __name__ == '__main__': if __name__ == '__main__':
unittest.main(defaultTest='test_suite') unittest.main(defaultTest='test_suite')
...@@ -2,19 +2,25 @@ ...@@ -2,19 +2,25 @@
# Jython 2.7rc2 does work, but unfortunately has an issue running # Jython 2.7rc2 does work, but unfortunately has an issue running
# with Tox 1.9.2 (http://bugs.jython.org/issue2325) # with Tox 1.9.2 (http://bugs.jython.org/issue2325)
#envlist = py26,py27,py33,py34,pypy,simple,jython,pypy3 #envlist = py26,py27,py33,py34,pypy,simple,jython,pypy3
envlist = py27,py33,py34,py35,pypy,simple,pypy3 envlist = py27,py33,py34,py35,py36,pypy,simple,pypy3
[testenv] [testenv]
# ZODB.tests.testdocumentation needs to find
# itself in the source tree to locate the doc/
# directory. 'usedevelop' is more like what
# buildout.cfg does, and is simpler than having
# testdocumentation.py also understand how to climb
# out of the tox site-packages.
usedevelop = true
commands = commands =
# Run unit tests first. # Run unit tests first.
zope-testrunner -u --test-path=src --auto-color --auto-progress zope-testrunner -u --test-path=src []
# Only run functional tests if unit tests pass. # Only run functional tests if unit tests pass.
zope-testrunner -f --test-path=src --auto-color --auto-progress zope-testrunner -f --test-path=src []
# without explicit deps, setup.py test will download a bunch of eggs into $PWD # without explicit deps, setup.py test will download a bunch of eggs into $PWD
deps = deps =
manuel .[test]
zope.testing
zope.testrunner >= 4.4.6
[testenv:simple] [testenv:simple]
# Test that 'setup.py test' works # Test that 'setup.py test' works
...@@ -28,7 +34,7 @@ deps = {[testenv]deps} ...@@ -28,7 +34,7 @@ deps = {[testenv]deps}
basepython = python2.7 basepython = python2.7
usedevelop = true usedevelop = true
commands = commands =
coverage run --source=ZODB -m zope.testrunner --test-path=src --auto-color --auto-progress coverage run --source=ZODB -m zope.testrunner []
coverage report coverage report
deps = deps =
coverage coverage
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment