Skip to content

Commit cb95dcd

Browse files
author
jmatthews
committed
add conditional imports for jenkins et al
fix setup.py package identification refactor defaults for test servers
1 parent e0f77a0 commit cb95dcd

File tree

17 files changed

+61
-30
lines changed

17 files changed

+61
-30
lines changed

pytest-fixture-config/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def main():
7474
install_requires=install_requires,
7575
tests_require=tests_require,
7676
cmdclass={'test': PyTest},
77-
packages=find_packages(),
77+
py_modules=['pytest_fixture_config'],
7878
)
7979

8080
if __name__ == '__main__':

pytest-listener/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def main():
8080
install_requires=install_requires,
8181
tests_require=tests_require,
8282
cmdclass={'test': PyTest},
83-
packages=find_packages(),
83+
packages=find_packages(exclude='tests'),
8484
entry_points=entry_points,
8585
)
8686

pytest-profiling/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def main():
8383
install_requires=install_requires,
8484
tests_require=tests_require,
8585
cmdclass={'test': PyTest},
86-
packages=find_packages(),
86+
py_modules=['pytest_profiling'],
8787
entry_points=entry_points,
8888
)
8989

pytest-pyramid-server/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def main():
8484
install_requires=install_requires,
8585
tests_require=tests_require,
8686
cmdclass={'test': PyTest},
87-
packages=find_packages(),
87+
py_modules=['pytest_pyramid_server'],
8888
entry_points=entry_points,
8989
)
9090

pytest-qt-app/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def main():
8383
install_requires=install_requires,
8484
tests_require=tests_require,
8585
cmdclass={'test': PyTest},
86-
packages=find_packages(),
86+
py_modules=['pytest_qt_app'],
8787
entry_points=entry_points,
8888
)
8989

pytest-server-fixtures/pytest_server_fixtures/__init__.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,29 @@ class FixtureConfig(Config):
99
'rethink_executable', 'httpd_executable', 'httpd_modules', 'fixture_hostname',
1010
'xvfb_executable')
1111

12+
# Default values for system resource locations - patch this to change defaults
13+
DEFAULT_SERVER_FIXTURES_HOSTNAME = socket.gethostname()
14+
DEFAULT_SERVER_FIXTURES_JAVA = "java"
15+
DEFAULT_SERVER_FIXTURES_JENKINS_URL = 'http://acmejenkins.example.com'
16+
DEFAULT_SERVER_FIXTURES_JENKINS_WAR = '/usr/share/jenkins/jenkins.war'
17+
DEFAULT_SERVER_FIXTURES_MONGO_BIN = '/usr/bin'
18+
DEFAULT_SERVER_FIXTURES_REDIS = "/usr/sbin/redis-server"
19+
DEFAULT_SERVER_FIXTURES_RETHINK = "/usr/bin/rethinkdb"
20+
DEFAULT_SERVER_FIXTURES_HTTPD = "/usr/sbin/apache2"
21+
DEFAULT_SERVER_FIXTURES_HTTPD_MODULES = "/usr/lib/apache2/modules"
22+
DEFAULT_SERVER_FIXTURES_XVFB = "/usr/bin/Xvfb"
23+
1224
# Global config for finding system resources.
1325
CONFIG = FixtureConfig(
1426
# Not using localhost here in case we are being used in a cluster-type job
15-
fixture_hostname=os.getenv('SERVER_FIXTURES_HOSTNAME', socket.gethostname()),
16-
java_executable=os.getenv('SERVER_FIXTURES_JAVA', "java"),
17-
jenkins_url=os.getenv('SERVER_FIXTURES_JENKINS_URL', 'http://acmejenkins.example.com'),
18-
jenkins_war=os.getenv('SERVER_FIXTURES_JENKINS_WAR', '/usr/share/jenkins/jenkins.war'),
19-
mongo_bin=os.getenv('SERVER_FIXTURES_MONGO_BIN', '/usr/bin'),
20-
redis_executable=os.getenv('SERVER_FIXTURES_REDIS', "/usr/sbin/redis-server"),
21-
rethink_executable=os.getenv('SERVER_FIXTURES_RETHINK', "/usr/bin/rethinkdb"),
22-
httpd_executable=os.getenv('SERVER_FIXTURES_HTTPD', "/usr/sbin/apache2"),
23-
httpd_modules=os.getenv('SERVER_FIXTURES_HTTPD_MODULES', "/usr/lib/apache2/modules"),
24-
xvfb_executable=os.getenv('SERVER_FIXTURES_XVFB', "/usr/bin/Xvfb"),
27+
fixture_hostname=os.getenv('SERVER_FIXTURES_HOSTNAME', DEFAULT_SERVER_FIXTURES_HOSTNAME),
28+
java_executable=os.getenv('SERVER_FIXTURES_JAVA', DEFAULT_SERVER_FIXTURES_JAVA),
29+
jenkins_url=os.getenv('SERVER_FIXTURES_JENKINS_URL', DEFAULT_SERVER_FIXTURES_JENKINS_URL),
30+
jenkins_war=os.getenv('SERVER_FIXTURES_JENKINS_WAR', DEFAULT_SERVER_FIXTURES_JENKINS_WAR),
31+
mongo_bin=os.getenv('SERVER_FIXTURES_MONGO_BIN', DEFAULT_SERVER_FIXTURES_MONGO_BIN),
32+
redis_executable=os.getenv('SERVER_FIXTURES_REDIS', DEFAULT_SERVER_FIXTURES_REDIS),
33+
rethink_executable=os.getenv('SERVER_FIXTURES_RETHINK', DEFAULT_SERVER_FIXTURES_RETHINK),
34+
httpd_executable=os.getenv('SERVER_FIXTURES_HTTPD', DEFAULT_SERVER_FIXTURES_HTTPD),
35+
httpd_modules=os.getenv('SERVER_FIXTURES_HTTPD_MODULES', DEFAULT_SERVER_FIXTURES_HTTPD_MODULES),
36+
xvfb_executable=os.getenv('SERVER_FIXTURES_XVFB', DEFAULT_SERVER_FIXTURES_XVFB),
2537
)

pytest-server-fixtures/pytest_server_fixtures/jenkins.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@
88
import os.path
99
import shutil
1010

11-
import jenkins
11+
try:
12+
import jenkins
13+
except ImportError:
14+
pass
15+
1216
import pytest
1317

1418
from pytest_server_fixtures import CONFIG

pytest-server-fixtures/pytest_server_fixtures/mongo.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,12 @@
44
import subprocess
55

66
import pytest
7-
import pymongo
8-
from pymongo.errors import AutoReconnect, ConnectionFailure
7+
8+
try:
9+
import pymongo
10+
from pymongo.errors import AutoReconnect, ConnectionFailure
11+
except ImportError:
12+
pass
913

1014
from pytest_server_fixtures import CONFIG
1115
from pytest_fixture_config import requires_config

pytest-server-fixtures/pytest_server_fixtures/redis.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
import socket
99

1010
import pytest
11-
import redis
11+
try:
12+
import redis
13+
except ImportError:
14+
pass
1215

1316
from pytest_server_fixtures import CONFIG
1417
from pytest_fixture_config import requires_config

pytest-server-fixtures/pytest_server_fixtures/rethink.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
import time
55

66
import pytest
7-
import rethinkdb
7+
8+
try:
9+
import rethinkdb
10+
except ImportError:
11+
pass
812

913
from pytest_server_fixtures import CONFIG
1014
from pytest_fixture_config import requires_config

pytest-server-fixtures/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def main():
9797
extras_require=extras_require,
9898
tests_require=tests_require,
9999
cmdclass={'test': PyTest},
100-
packages=find_packages(),
100+
packages=find_packages(exclude='tests'),
101101
entry_points=entry_points,
102102
)
103103

pytest-shutil/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def main():
8585
install_requires=install_requires,
8686
tests_require=tests_require,
8787
cmdclass={'test': PyTest},
88-
packages=find_packages(),
88+
packages=find_packages(exclude='tests'),
8989
entry_points=entry_points,
9090
)
9191

pytest-svn/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def main():
8181
install_requires=install_requires,
8282
tests_require=tests_require,
8383
cmdclass={'test': PyTest},
84-
packages=find_packages(),
84+
py_modules=['pytest_svn'],
8585
entry_points=entry_points,
8686
)
8787

pytest-verbose-parametrize/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def main():
8383
install_requires=install_requires,
8484
tests_require=tests_require,
8585
cmdclass={'test': PyTest},
86-
packages=find_packages(),
86+
py_modules=['pytest_verbose_parametrize'],
8787
entry_points=entry_points,
8888
)
8989

pytest-virtualenv/pytest_virtualenv.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,26 @@
1616
class FixtureConfig(Config):
1717
__slots__ = ('virtualenv_executable')
1818

19+
# Default values for system resource locations - patch this to change defaults
20+
DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE = (cmdline.which('virtualenv') + ['virtualenv'])[0]
21+
1922
CONFIG = FixtureConfig(
20-
virtualenv_executable=os.getenv('VIRTUALENV_FIXTURE_EXECUTABLE', 'virtualenv'),
23+
virtualenv_executable=os.getenv('VIRTUALENV_FIXTURE_EXECUTABLE', DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE),
2124
)
2225

2326

2427
@yield_requires_config(CONFIG, ['virtualenv_executable'])
2528
@yield_fixture(scope='function')
2629
def virtualenv():
2730
""" Function-scoped virtualenv in a temporary workspace.
28-
31+
2932
Methods
3033
-------
3134
run() : run a command using this virtualenv's shell environment
3235
run_with_coverage() : run a command in this virtualenv, collecting coverage
3336
install_package() : install a package in this virtualenv
3437
installed_packages() : return a dict of installed packages
35-
38+
3639
Attributes
3740
----------
3841
virtualenv (`path.path`) : Path to this virtualenv's base directory

pytest-virtualenv/setup.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ def main():
5454
if pytest_args:
5555
sys.argv = sys.argv[:-len(pytest_args)]
5656

57-
install_requires = ['pytest-shutil',
57+
install_requires = ['pytest-fixture-config',
58+
'pytest-shutil',
5859
'pytest',
5960
]
6061

@@ -82,7 +83,7 @@ def main():
8283
install_requires=install_requires,
8384
tests_require=tests_require,
8485
cmdclass={'test': PyTest},
85-
packages=find_packages(),
86+
py_modules=['pytest_virtualenv'],
8687
entry_points=entry_points,
8788
)
8889

pytest-webdriver/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def main():
8383
install_requires=install_requires,
8484
tests_require=tests_require,
8585
cmdclass={'test': PyTest},
86-
packages=find_packages(),
86+
py_modules=['pytest_webdriver'],
8787
entry_points=entry_points,
8888
)
8989

0 commit comments

Comments
 (0)