Skip to content

Commit abffd67

Browse files
committed
Add support for pytest 4.x and test against python 3.7
---- ci: Test against Python 3.7 ---- ci: Skip Coveralls submission if COVERALLS_REPO_TOKEN env. var is empty ---- ci: Update circleci image to allow install of python 3.7 See https://circleci.com/docs/2.0/configuration-reference/#machine ---- pytest-server-fixture: Fix rethinkdb tests requiring rethinkdb < 2.4.0 The current implementation needs to be refactored to support the latest release of rethinkdb-python package. See man-group#132 ---- wheels: Generate universal wheels installable with both python 2.x and 3.x See man-group#125 Fix DeprecationWarning warnings using "logger.warning()" function ---- pytest-virtualenv: Add virtualenv as install requirement. Fixes man-group#122 Remove requirement for pytest<4.0.0 See man-group#100 ---- pytest-webdriver: Fix RemovedInPytest4Warning using getfixturevalue This commit fixes the following error: > root_uri.append(request.getfuncargvalue('pyramid_server').uri) E RemovedInPytest4Warning: getfuncargvalue is deprecated, use getfixturevalue pytest_webdriver.py:62: RemovedInPytest4Warning See man-group#100 ---- pytest-verbose-parametrize: Add support for revamped marker infrastructure This commit fixes tests failing with pytest > 4.0.0 ---- pytest-verbose-parametrize: Fix integration tests to support pytest >= 4.1.0 This commit updates tests to support version of pytest with pytest-dev/pytest@e9b2475e2 (Display actual test ids in `--collect-only`) ---- dist: Remove support for building and distributing *.egg files Wheel is currently considered the standard for built and binary packaging for Python See https://packaging.python.org/discussions/wheel-vs-egg/ See man-group#125 ---- VagrantFile: Install python 3.7 and initialize python 3.7 by default
1 parent b55ee96 commit abffd67

File tree

50 files changed

+202
-120
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+202
-120
lines changed

.circleci/config.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ test-tmpl: &test-tmpl
55
cat *.egg-info/top_level.txt | xargs -Ipysrc coverage run -p --source=pysrc setup.py test -sv -ra || touch ../FAILED-$(basename $PWD)
66
77
job-tmpl: &job-tmpl
8-
machine: true
8+
machine:
9+
image: circleci/classic:201808-01
910

1011
working_directory: ~/src
1112

@@ -118,7 +119,11 @@ job-tmpl: &job-tmpl
118119
coverage report
119120
pip install urllib3[secure]
120121
pip install coveralls
121-
CIRCLE_BUILD_NUM=$CIRCLE_WORKFLOW_ID coveralls
122+
if [[ "$COVERALLS_REPO_TOKEN" != "" ]]; then
123+
CIRCLE_BUILD_NUM=$CIRCLE_WORKFLOW_ID coveralls
124+
else
125+
echo "Skipping Coveralls"
126+
fi
122127
123128
- store_test_results:
124129
path: junit
@@ -148,13 +153,23 @@ jobs:
148153
environment:
149154
PYTHON: "python3.6"
150155

156+
py37:
157+
<<: *job-tmpl
158+
environment:
159+
PYTHON: "python3.7"
160+
151161
coveralls:
152162
docker:
153163
- image: buildpack-deps:trusty
154164
steps:
155165
- run:
156166
name: Complete Coveralls
157-
command: curl --fail https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN -d "payload[build_num]=$CIRCLE_WORKFLOW_ID&payload[status]=done"
167+
command: |
168+
if [[ "$COVERALLS_REPO_TOKEN" != "" ]]; then
169+
curl --fail https://coveralls.io/webhook?repo_token=$COVERALLS_REPO_TOKEN -d "payload[build_num]=$CIRCLE_WORKFLOW_ID&payload[status]=done"
170+
else
171+
echo "Skipping Coveralls"
172+
fi
158173
159174
workflows:
160175
version: 2
@@ -164,9 +179,11 @@ workflows:
164179
- py34
165180
- py35
166181
- py36
182+
- py37
167183
- coveralls:
168184
requires:
169185
- py27
170186
- py34
171187
- py35
172188
- py36
189+
- py37

CHANGES.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,19 @@
22
## Changelog
33

44
### 1.7.0
5-
* pytest-server-fixtures: if host not defined, use localhost
5+
* pytest-server-fixtures: if host not defined, use localhost
6+
* circleci: Test against Python 3.7
7+
* circleci: Fix checks by skipping coverall submission for developer without push access
8+
* pytest-server-fixture: Fix rethinkdb tests requiring rethinkdb < 2.4.0
9+
* wheels: Generate universal wheels installable with both python 2.x and 3.x
10+
* Fix DeprecationWarning warnings using "logger.warning()" function
11+
* pytest-virtualenv: Add virtualenv as install requirement. Fixes #122
12+
* Remove requirement for pytest<4.0.0
13+
* pytest-webdriver: Fix RemovedInPytest4Warning using getfixturevalue
14+
* pytest-verbose-parametrize: Add support for revamped marker infrastructure
15+
* pytest-verbose-parametrize: Fix integration tests to support pytest >= 4.1.0
16+
* dist: Remove support for building and distributing *.egg files
17+
* VagrantFile: Install python 3.7 and initialize python 3.7 by default
618

719
### 1.6.2 (2019-02-21)
820
* pytest-server-fixtures: suppress stacktrace if kill() is called

Makefile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ EXTRA_DEPS = pypandoc \
88
pymongo \
99
psycopg2 \
1010
boto3 \
11-
rethinkdb \
11+
"rethinkdb<2.4.0" \
1212
docker \
1313
kubernetes
1414

1515
COPY_FILES = VERSION CHANGES.md common_setup.py MANIFEST.in LICENSE
1616
UPLOAD_OPTS =
1717

1818
# removed from PHONY: circleci_sip circleci_pyqt
19-
.PHONY: extras copyfiles wheels eggs sdists install develop test upload clean
19+
.PHONY: extras copyfiles wheels sdists install develop test upload clean
2020

2121
extras:
2222
pip install $(EXTRA_DEPS)
@@ -28,9 +28,6 @@ wheels: copyfiles
2828
pip install -U wheel
2929
./foreach.sh --changed 'python setup.py bdist_wheel'
3030

31-
eggs: copyfiles
32-
./foreach.sh --changed 'python setup.py bdist_egg'
33-
3431
sdists: copyfiles
3532
./foreach.sh --changed 'python setup.py sdist'
3633

Vagrantfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ Vagrant.configure("2") do |config|
1818
config.vm.provision "docker"
1919
config.vm.provision "file", source: "install.sh", destination: "/tmp/install.sh"
2020
config.vm.provision "shell", inline: ". /tmp/install.sh && install_all"
21-
config.vm.provision "shell", inline: ". /tmp/install.sh && init_venv python2.7", privileged: false
21+
config.vm.provision "shell", inline: ". /tmp/install.sh && init_venv python3.7", privileged: false
2222
end

install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ function install_all {
140140
install_python python3.4
141141
install_python python3.5
142142
install_python python3.6
143+
install_python python3.7
143144

144145
update_apt_sources
145146
install_system_deps

pytest-devpi-server/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ Install using your favourite package manager:
1313

1414
```bash
1515
pip install pytest-devpi-server
16-
# or..
17-
easy_install pytest-devpi-server
1816
```
1917

2018
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-devpi-server/setup.cfg

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
8-
dist
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
8+
dist
9+
10+
[bdist_wheel]
11+
universal = 1

pytest-devpi-server/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@
2020
'Programming Language :: Python :: 3.4',
2121
'Programming Language :: Python :: 3.5',
2222
'Programming Language :: Python :: 3.6',
23+
'Programming Language :: Python :: 3.7',
2324
]
2425

2526
install_requires = ['pytest-server-fixtures',
26-
'pytest<4.0.0',
27+
'pytest',
2728
'devpi-server>=3.0.1',
2829
'devpi-client',
2930
'six',

pytest-fixture-config/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ Install using your favourite package manager:
99

1010
```bash
1111
pip install pytest-fixture-config
12-
# or..
13-
easy_install pytest-fixture-config
1412
```
1513

1614
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-fixture-config/setup.cfg

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
8-
dist
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
8+
dist
9+
10+
[bdist_wheel]
11+
universal = 1

pytest-fixture-config/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
'Programming Language :: Python :: 3.4',
2020
'Programming Language :: Python :: 3.5',
2121
'Programming Language :: Python :: 3.6',
22+
'Programming Language :: Python :: 3.7',
2223
]
2324

24-
install_requires = ['pytest<4.0.0']
25+
install_requires = ['pytest']
2526

2627
tests_require = ['six',
2728
]

pytest-git/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ Creates an empty Git repository for testing that cleans up after itself on teard
77
Install using your favourite package installer:
88
```bash
99
pip install pytest-git
10-
# or
11-
easy_install pytest-git
1210
```
1311

1412
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-git/setup.cfg

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
8-
dist
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
8+
dist
9+
10+
[bdist_wheel]
11+
universal = 1

pytest-git/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@
1919
'Programming Language :: Python :: 3.4',
2020
'Programming Language :: Python :: 3.5',
2121
'Programming Language :: Python :: 3.6',
22+
'Programming Language :: Python :: 3.7',
2223
]
2324

24-
install_requires = ['pytest<4.0.0',
25+
install_requires = ['pytest',
2526
'pytest-shutil',
2627
'gitpython',
2728
]

pytest-listener/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ Install using your favourite package manager:
88

99
```bash
1010
pip install pytest-listener
11-
# or..
12-
easy_install pytest-listener
1311
```
1412

1513
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-listener/setup.cfg

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
8-
dist
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
8+
dist
9+
10+
[bdist_wheel]
11+
universal = 1

pytest-listener/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
'Programming Language :: Python :: 3.4',
2020
'Programming Language :: Python :: 3.5',
2121
'Programming Language :: Python :: 3.6',
22+
'Programming Language :: Python :: 3.7',
2223
]
2324

2425
install_requires = ['six',
25-
'pytest<4.0.0',
26+
'pytest',
2627
'pytest-server-fixtures'
2728
]
2829

pytest-profiling/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ generated using [gprof2dot](http://code.google.com/p/jrfonseca/wiki/Gprof2Dot) a
1313
Install using your favourite package installer:
1414
```bash
1515
pip install pytest-profiling
16-
# or
17-
easy_install pytest-profiling
1816
```
1917

2018
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-profiling/setup.cfg

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
88
dist
99
tests/integration/profile/tests
10+
11+
[bdist_wheel]
12+
universal = 1

pytest-profiling/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,11 @@
1919
'Programming Language :: Python :: 3.4',
2020
'Programming Language :: Python :: 3.5',
2121
'Programming Language :: Python :: 3.6',
22+
'Programming Language :: Python :: 3.7',
2223
]
2324

2425
install_requires = ['six',
25-
'pytest<4.0.0',
26+
'pytest',
2627
'gprof2dot',
2728
]
2829

pytest-pyramid-server/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ Install using your favourite package manager:
1010

1111
```bash
1212
pip install pytest-pyramid-server
13-
# or..
14-
easy_install pytest-pyramid-server
1513
```
1614

1715
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-pyramid-server/setup.cfg

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
8-
dist
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
8+
dist
9+
10+
[bdist_wheel]
11+
universal = 1

pytest-pyramid-server/setup.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,12 @@
2020
'Programming Language :: Python :: 3.4',
2121
'Programming Language :: Python :: 3.5',
2222
'Programming Language :: Python :: 3.6',
23+
'Programming Language :: Python :: 3.7',
2324
]
2425

2526

2627
install_requires = ['pytest-server-fixtures',
27-
'pytest<4.0.0',
28+
'pytest',
2829
'pyramid',
2930
'waitress',
3031
'six',

pytest-qt-app/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ Set up a Q Application for QT with an X-Window Virtual Framebuffer (Xvfb).
77
Install using your favourite package installer:
88
```bash
99
pip install pytest-qt-app
10-
# or
11-
easy_install pytest-qt-app
1210
```
1311

1412
Enable the fixture explicitly in your tests or conftest.py (not required when using setuptools entry points):

pytest-qt-app/setup.cfg

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
[tool:pytest]
22
# This section sets configuration for all invocations of py.test,
33
# both standalone cmdline and running via setup.py
4-
norecursedirs =
5-
.git
6-
*.egg
7-
build
8-
dist
4+
norecursedirs =
5+
.git
6+
*.egg
7+
build
8+
dist
9+
10+
[bdist_wheel]
11+
universal = 1

0 commit comments

Comments
 (0)