Skip to content

Commit aa66a34

Browse files
georgemarshalljerel
authored andcommittedAug 18, 2016
Implemented py.test runner in setup.py and added code coverage
* Implemented py.test runner in setup.py * Removed testing support for Django 1.7 and Python 3.2
1 parent c83b69e commit aa66a34

File tree

6 files changed

+73
-3185
lines changed

6 files changed

+73
-3185
lines changed
 

‎.travis.yml

+35-36
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,38 @@
1+
---
12
language: python
2-
python: 3.5
33
sudo: false
4-
install: pip install tox
5-
script: tox
4+
cache: pip
5+
matrix:
6+
exclude:
7+
- python: "3.3"
8+
env: DJANGO=">=1.9,<1.10" DRF=">=3.3,<3.4"
9+
- python: "3.3"
10+
env: DJANGO=">=1.9,<1.10" DRF=">=3.4,<3.5"
11+
- python: "3.3"
12+
env: DJANGO=">=1.10,<1.11" DRF=">=3.4,<3.5"
13+
python:
14+
- "2.7"
15+
- "3.3"
16+
- "3.4"
17+
- "3.5"
618
env:
7-
- TOXENV=py27-django17-drf31
8-
- TOXENV=py27-django17-drf32
9-
- TOXENV=py33-django17-drf31
10-
- TOXENV=py33-django17-drf32
11-
- TOXENV=py34-django17-drf31
12-
- TOXENV=py34-django17-drf32
13-
- TOXENV=py27-django18-drf31
14-
- TOXENV=py27-django18-drf32
15-
- TOXENV=py27-django18-drf33
16-
- TOXENV=py27-django18-drf34
17-
- TOXENV=py33-django18-drf31
18-
- TOXENV=py33-django18-drf32
19-
- TOXENV=py33-django18-drf33
20-
- TOXENV=py33-django18-drf34
21-
- TOXENV=py34-django18-drf31
22-
- TOXENV=py34-django18-drf32
23-
- TOXENV=py34-django18-drf33
24-
- TOXENV=py34-django18-drf34
25-
- TOXENV=py27-django19-drf31
26-
- TOXENV=py27-django19-drf32
27-
- TOXENV=py27-django19-drf33
28-
- TOXENV=py27-django19-drf34
29-
- TOXENV=py34-django19-drf31
30-
- TOXENV=py34-django19-drf32
31-
- TOXENV=py34-django19-drf33
32-
- TOXENV=py34-django19-drf34
33-
- TOXENV=py35-django19-drf31
34-
- TOXENV=py35-django19-drf32
35-
- TOXENV=py35-django19-drf33
36-
- TOXENV=py35-django19-drf34
37-
- TOXENV=py27-django110-drf34
38-
- TOXENV=py34-django110-drf34
39-
- TOXENV=py35-django110-drf34
19+
- DJANGO=">=1.8,<1.9" DRF=">=3.1,<3.2"
20+
- DJANGO=">=1.8,<1.9" DRF=">=3.2,<3.3"
21+
- DJANGO=">=1.8,<1.9" DRF=">=3.3,<3.4"
22+
- DJANGO=">=1.8,<1.9" DRF=">=3.4,<3.5"
23+
24+
- DJANGO=">=1.9,<1.10" DRF=">=3.3,<3.4"
25+
- DJANGO=">=1.9,<1.10" DRF=">=3.4,<3.5"
26+
27+
- DJANGO=">=1.10,<1.11" DRF=">=3.4,<3.5"
28+
before_install:
29+
# Force an upgrade of py to avoid VersionConflict
30+
- pip install --upgrade py
31+
- pip install codecov
32+
install:
33+
- pip install Django${DJANGO} djangorestframework${DRF}
34+
- python setup.py install
35+
script:
36+
- coverage run setup.py -v test
37+
after_success:
38+
- codecov

‎example/tests/integration/test_includes.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
from django.core.urlresolvers import reverse
33

44
from example.tests.utils import load_json
5-
import mock
65

7-
pytestmark = pytest.mark.django_db
6+
try:
7+
from unittest import mock
8+
except ImportError:
9+
import mock
810

11+
pytestmark = pytest.mark.django_db
912

1013

1114
@mock.patch('rest_framework_json_api.utils.get_default_included_resources_from_serializer', new=lambda s: ['comments'])

‎runtests.py

-3,132
This file was deleted.

‎setup.cfg

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[aliases]
2+
test = pytest
3+
4+
[wheel]
5+
universal = 1

‎setup.py

100644100755
+25-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
11
#!/usr/bin/env python
2-
# -*- coding: utf-8 -*-
2+
from __future__ import print_function
33

4-
import re
54
import os
5+
import re
66
import sys
77

88
from setuptools import setup
99

10+
needs_mock = sys.version_info < (3, 3)
11+
mock = ['mock'] if needs_mock else []
12+
needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv)
13+
pytest_runner = ['pytest-runner'] if needs_pytest else []
14+
needs_sphinx = {'build_sphinx', 'upload_docs'}.intersection(sys.argv)
15+
sphinx = ['sphinx'] if needs_sphinx else []
16+
needs_wheel = {'bdist_wheel'}.intersection(sys.argv)
17+
wheel = ['wheel'] if needs_wheel else []
18+
1019

1120
def read(*paths):
1221
"""
@@ -58,7 +67,6 @@ def get_package_data(package):
5867
print(" git push --tags")
5968
sys.exit()
6069

61-
6270
setup(
6371
name='djangorestframework-jsonapi',
6472
version=get_version('rest_framework_json_api'),
@@ -70,11 +78,6 @@ def get_package_data(package):
7078
author_email='',
7179
packages=get_packages('rest_framework_json_api'),
7280
package_data=get_package_data('rest_framework_json_api'),
73-
install_requires=[
74-
'django',
75-
'djangorestframework>=3.1.0',
76-
'inflection>=0.3.0'
77-
],
7881
classifiers=[
7982
'Development Status :: 5 - Production/Stable',
8083
'Environment :: Web Environment',
@@ -89,8 +92,21 @@ def get_package_data(package):
8992
'Programming Language :: Python :: 3.2',
9093
'Programming Language :: Python :: 3.3',
9194
'Programming Language :: Python :: 3.4',
95+
'Programming Language :: Python :: 3.5',
9296
'Topic :: Internet :: WWW/HTTP',
9397
'Topic :: Software Development :: Libraries :: Application Frameworks',
9498
'Topic :: Software Development :: Libraries :: Python Modules',
95-
]
99+
],
100+
install_requires=[
101+
'inflection>=0.3.0',
102+
'djangorestframework>=3.1.0',
103+
'django',
104+
],
105+
setup_requires=pytest_runner + sphinx + wheel,
106+
tests_require=[
107+
'pytest-factoryboy',
108+
'pytest-django',
109+
'pytest>=2.8',
110+
] + mock,
111+
zip_safe=False,
96112
)

‎tox.ini

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
[tox]
22
envlist =
3-
py{27,33,34}-django17-drf{31,32},
4-
py{27,33,34}-django18-drf{31,32,33},
5-
py{27,34,35}-django19-drf{31,32,33,34},
3+
py{27,33,34,35}-django18-drf{31,32,33,34},
4+
py{27,34,35}-django19-drf{33,34},
65
py{27,34,35}-django110-drf{34},
76

87
[testenv]
98
deps =
10-
django17: Django>=1.7,<1.8
119
django18: Django>=1.8,<1.9
1210
django19: Django>=1.9,<1.10
1311
django110: Django>=1.10,<1.11
1412
drf31: djangorestframework>=3.1,<3.2
1513
drf32: djangorestframework>=3.2,<3.3
1614
drf33: djangorestframework>=3.3,<3.4
1715
drf34: djangorestframework>=3.4,<3.5
18-
-r{toxinidir}/requirements-development.txt
1916

2017
setenv =
2118
PYTHONPATH = {toxinidir}
2219
DJANGO_SETTINGS_MODULE=example.settings.test
2320

2421
commands =
25-
py.test --basetemp={envtmpdir}
22+
python setup.py test {posargs}

0 commit comments

Comments
 (0)
Please sign in to comment.