[james-pages,r=corey.bryant] Add tox support for lint and unit tests.
This commit is contained in:
commit
f4bdcb799f
@ -1,3 +1,5 @@
|
|||||||
bin
|
bin
|
||||||
.coverage
|
.coverage
|
||||||
|
.tox
|
||||||
|
.testrepository
|
||||||
tags
|
tags
|
||||||
|
8
.testr.conf
Normal file
8
.testr.conf
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
|
||||||
|
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
|
||||||
|
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
|
||||||
|
${PYTHON:-python} -m subunit.run discover -t ./ ./unit_tests $LISTOPT $IDOPTION
|
||||||
|
|
||||||
|
test_id_option=--load-list $IDFILE
|
||||||
|
test_list_option=--list
|
@ -299,8 +299,9 @@ def resource_map():
|
|||||||
|
|
||||||
conf = neutron_plugin_attribute(plugin, 'config', net_manager)
|
conf = neutron_plugin_attribute(plugin, 'config', net_manager)
|
||||||
svcs = neutron_plugin_attribute(plugin, 'services', net_manager)
|
svcs = neutron_plugin_attribute(plugin, 'services', net_manager)
|
||||||
ctxts = (neutron_plugin_attribute(plugin, 'contexts', net_manager)
|
ctxts = (neutron_plugin_attribute(plugin,
|
||||||
or [])
|
'contexts', net_manager) or
|
||||||
|
[])
|
||||||
resource_map[conf] = {}
|
resource_map[conf] = {}
|
||||||
resource_map[conf]['services'] = svcs
|
resource_map[conf]['services'] = svcs
|
||||||
resource_map[conf]['contexts'] = ctxts
|
resource_map[conf]['contexts'] = ctxts
|
||||||
@ -373,8 +374,8 @@ def determine_packages():
|
|||||||
if (net_manager in ['flatmanager', 'flatdhcpmanager'] and
|
if (net_manager in ['flatmanager', 'flatdhcpmanager'] and
|
||||||
config('multi-host').lower() == 'yes'):
|
config('multi-host').lower() == 'yes'):
|
||||||
packages.extend(['nova-api', 'nova-network'])
|
packages.extend(['nova-api', 'nova-network'])
|
||||||
elif (net_manager in ['quantum', 'neutron']
|
elif (net_manager in ['quantum', 'neutron'] and
|
||||||
and neutron_plugin_legacy_mode()):
|
neutron_plugin_legacy_mode()):
|
||||||
plugin = neutron_plugin()
|
plugin = neutron_plugin()
|
||||||
pkg_lists = neutron_plugin_attribute(plugin, 'packages', net_manager)
|
pkg_lists = neutron_plugin_attribute(plugin, 'packages', net_manager)
|
||||||
for pkg_list in pkg_lists:
|
for pkg_list in pkg_lists:
|
||||||
|
11
requirements.txt
Normal file
11
requirements.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# The order of packages is significant, because pip processes them in the order
|
||||||
|
# of appearance. Changing the order has an impact on the overall integration
|
||||||
|
# process, which may cause wedges in the gate later.
|
||||||
|
PyYAML>=3.1.0
|
||||||
|
simplejson>=2.2.0
|
||||||
|
netifaces>=0.10.4
|
||||||
|
netaddr>=0.7.12,!=0.7.16
|
||||||
|
Jinja2>=2.6 # BSD License (3 clause)
|
||||||
|
six>=1.9.0
|
||||||
|
dnspython>=1.12.0
|
||||||
|
psutil>=1.1.1,<2.0.0
|
8
test-requirements.txt
Normal file
8
test-requirements.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# The order of packages is significant, because pip processes them in the order
|
||||||
|
# of appearance. Changing the order has an impact on the overall integration
|
||||||
|
# process, which may cause wedges in the gate later.
|
||||||
|
coverage>=3.6
|
||||||
|
mock>=1.2
|
||||||
|
flake8>=2.2.4,<=2.4.1
|
||||||
|
os-testr>=0.4.1
|
||||||
|
charm-tools
|
29
tox.ini
Normal file
29
tox.ini
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
[tox]
|
||||||
|
envlist = lint,py27
|
||||||
|
skipsdist = True
|
||||||
|
|
||||||
|
[testenv]
|
||||||
|
setenv = VIRTUAL_ENV={envdir}
|
||||||
|
PYTHONHASHSEED=0
|
||||||
|
install_command =
|
||||||
|
pip install --allow-unverified python-apt {opts} {packages}
|
||||||
|
commands = ostestr {posargs}
|
||||||
|
|
||||||
|
[testenv:py27]
|
||||||
|
basepython = python2.7
|
||||||
|
deps = -r{toxinidir}/requirements.txt
|
||||||
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
|
||||||
|
[testenv:lint]
|
||||||
|
basepython = python2.7
|
||||||
|
deps = -r{toxinidir}/requirements.txt
|
||||||
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
commands = flake8 {posargs} actions hooks unit_tests tests
|
||||||
|
charm proof
|
||||||
|
|
||||||
|
[testenv:venv]
|
||||||
|
commands = {posargs}
|
||||||
|
|
||||||
|
[flake8]
|
||||||
|
ignore = E402,E226
|
||||||
|
exclude = hooks/charmhelpers
|
@ -49,7 +49,7 @@ class TestNovaComputeUpgradeActions(CharmTestCase):
|
|||||||
@patch('charmhelpers.contrib.openstack.utils.git_install_requested') # noqa
|
@patch('charmhelpers.contrib.openstack.utils.git_install_requested') # noqa
|
||||||
@patch('charmhelpers.contrib.openstack.utils.openstack_upgrade_available') # noqa
|
@patch('charmhelpers.contrib.openstack.utils.openstack_upgrade_available') # noqa
|
||||||
@patch('charmhelpers.contrib.openstack.utils.juju_log')
|
@patch('charmhelpers.contrib.openstack.utils.juju_log')
|
||||||
def test_openstack_upgrade_false(self, log, upgrade_avail, git_requested,
|
def test_openstack_upgrade_false(self, log, upgrade_avail, git_requested,
|
||||||
action_set, config):
|
action_set, config):
|
||||||
|
|
||||||
git_requested.return_value = False
|
git_requested.return_value = False
|
||||||
|
@ -326,7 +326,7 @@ class NovaComputeUtilsTests(CharmTestCase):
|
|||||||
call(authkey_root + '0'),
|
call(authkey_root + '0'),
|
||||||
call(authkey_root + '1'),
|
call(authkey_root + '1'),
|
||||||
call(authkey_root + '2')
|
call(authkey_root + '2')
|
||||||
]
|
]
|
||||||
self.assertEquals(sorted(self.relation_get.call_args_list),
|
self.assertEquals(sorted(self.relation_get.call_args_list),
|
||||||
sorted(expected_relations))
|
sorted(expected_relations))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user