[james-pages,r=corey.bryant] Add tox support for lint and unit tests.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
revision
|
|
||||||
bin
|
bin
|
||||||
.coverage
|
.coverage
|
||||||
|
.testrepository
|
||||||
|
.tox
|
||||||
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
|
@@ -323,7 +323,7 @@ class JujuCA(object):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def ca_key_path(self):
|
def ca_key_path(self):
|
||||||
return os.path.join(self.ca_dir, 'private', 'cacert.key')
|
return os.path.join(self.ca_dir, 'private', 'cacert.key')
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def root_ca_cert_path(self):
|
def root_ca_cert_path(self):
|
||||||
@@ -331,7 +331,7 @@ class JujuCA(object):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def root_ca_key_path(self):
|
def root_ca_key_path(self):
|
||||||
return os.path.join(self.root_ca_dir, 'private', 'cacert.key')
|
return os.path.join(self.root_ca_dir, 'private', 'cacert.key')
|
||||||
|
|
||||||
def get_ca_bundle(self):
|
def get_ca_bundle(self):
|
||||||
int_cert = open(self.ca_cert_path).read()
|
int_cert = open(self.ca_cert_path).read()
|
||||||
|
@@ -372,7 +372,7 @@ def save_script_rc():
|
|||||||
|
|
||||||
def do_openstack_upgrade_reexec(configs):
|
def do_openstack_upgrade_reexec(configs):
|
||||||
do_openstack_upgrade(configs)
|
do_openstack_upgrade(configs)
|
||||||
log("Re-execing hook to pickup upgraded packages", level=INFO)
|
log("Re-execing hook to pickup upgraded packages", level=INFO)
|
||||||
os.execl('./hooks/config-changed-postupgrade', '')
|
os.execl('./hooks/config-changed-postupgrade', '')
|
||||||
|
|
||||||
|
|
||||||
|
12
requirements.txt
Normal file
12
requirements.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# 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
|
||||||
|
python-keystoneclient>=1.6.0,!=1.8.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} hooks unit_tests tests
|
||||||
|
charm proof
|
||||||
|
|
||||||
|
[testenv:venv]
|
||||||
|
commands = {posargs}
|
||||||
|
|
||||||
|
[flake8]
|
||||||
|
ignore = E402,E226
|
||||||
|
exclude = hooks/charmhelpers
|
@@ -1,11 +1,7 @@
|
|||||||
from mock import patch
|
from mock import patch
|
||||||
|
|
||||||
with patch('charmhelpers.core.hookenv.config') as config:
|
with patch('hooks.keystone_utils.register_configs') as register_configs:
|
||||||
config.return_value = 'keystone'
|
import git_reinstall
|
||||||
import keystone_utils as utils # noqa
|
|
||||||
|
|
||||||
with patch('keystone_utils.register_configs') as register_configs:
|
|
||||||
import git_reinstall
|
|
||||||
|
|
||||||
from test_utils import (
|
from test_utils import (
|
||||||
CharmTestCase
|
CharmTestCase
|
||||||
|
Reference in New Issue
Block a user