Fix the tox environment and requirements
Just get the basic gate working. Change-Id: I7462e165707a5a2dfd68fc32c238ee968551d253
This commit is contained in:
parent
b30de4e5e9
commit
f15de52075
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,7 +3,7 @@
|
||||
*~
|
||||
build
|
||||
dist
|
||||
heat_cfnclient.egg-info
|
||||
*.egg-info
|
||||
.venv
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
|
@ -13,34 +13,33 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
import testtools
|
||||
import heat_cfnclient
|
||||
import os
|
||||
import subprocess
|
||||
import testtools
|
||||
|
||||
import heat_cfnclient
|
||||
|
||||
basepath = os.path.join(heat_cfnclient.__path__[0], os.path.pardir)
|
||||
|
||||
|
||||
@testtools.skip
|
||||
class CliTest(testtools.TestCase):
|
||||
|
||||
def test_heat_cfn(self):
|
||||
self.bin_run('heat-cfn')
|
||||
self.bin_run('heat-cfn')
|
||||
|
||||
def test_heat_boto(self):
|
||||
self.bin_run('heat-boto')
|
||||
self.bin_run('heat-boto')
|
||||
|
||||
def test_heat_watch(self):
|
||||
self.bin_run('heat-watch')
|
||||
self.bin_run('heat-watch')
|
||||
|
||||
def bin_run(self, bin):
|
||||
fullpath = basepath + '/bin/' + bin
|
||||
fullpath = basepath + '/bin/' + bin
|
||||
|
||||
proc = subprocess.Popen(fullpath,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
stdout, stderr = proc.communicate()
|
||||
proc = subprocess.Popen(fullpath,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE)
|
||||
stdout, stderr = proc.communicate()
|
||||
|
||||
if proc.returncode:
|
||||
print('Error executing %s:\n %s %s ' % (bin, stdout, stderr))
|
||||
raise subprocess.CalledProcessError(proc.returncode, bin)
|
||||
if proc.returncode:
|
||||
print('Error executing %s:\n %s %s ' % (bin, stdout, stderr))
|
||||
raise subprocess.CalledProcessError(proc.returncode, bin)
|
||||
|
@ -1,13 +1,12 @@
|
||||
d2to1>=0.2.10,<0.3
|
||||
pbr>=0.5.10,<0.6
|
||||
pbr>=0.6,!=0.7,<1.0
|
||||
PyCrypto>=2.1.0
|
||||
boto>=2.4.0
|
||||
eventlet>=0.12.0
|
||||
eventlet>=0.15.2
|
||||
greenlet>=0.3.2
|
||||
httplib2
|
||||
iso8601>=0.1.4
|
||||
httplib2>=0.7.5
|
||||
iso8601>=0.1.9
|
||||
argparse
|
||||
lxml>=2.3
|
||||
python-keystoneclient>=0.2.1
|
||||
six
|
||||
oslo.config>=1.1.0
|
||||
python-keystoneclient>=0.11.1
|
||||
six>=1.7.0
|
||||
oslo.config>=1.4.0 # Apache-2.0
|
||||
|
13
setup.py
13
setup.py
@ -14,8 +14,17 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
|
||||
import setuptools
|
||||
|
||||
# In python < 2.7.4, a lazy loading of package `pbr` will break
|
||||
# setuptools if some other modules registered functions in `atexit`.
|
||||
# solution from: http://bugs.python.org/issue15881#msg170215
|
||||
try:
|
||||
import multiprocessing # noqa
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
setuptools.setup(
|
||||
setup_requires=['d2to1>=0.2.10,<0.3', 'pbr>=0.5.10,<0.6'],
|
||||
d2to1=True)
|
||||
setup_requires=['pbr'],
|
||||
pbr=True)
|
||||
|
@ -1,11 +1,11 @@
|
||||
# Install bounded pep8/pyflakes first, then let flake8 install
|
||||
pep8==1.4.5
|
||||
pyflakes==0.7.2
|
||||
flake8==2.0
|
||||
hacking>=0.5.3,<0.6
|
||||
# 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
|
||||
# Hacking already pins down pep8, pyflakes and flake8
|
||||
hacking>=0.8.0,<0.9
|
||||
coverage>=3.6
|
||||
discover
|
||||
mox==0.5.3
|
||||
testtools>=0.9.29
|
||||
testrepository>=0.0.13
|
||||
mox>=0.5.3
|
||||
testrepository>=0.0.18
|
||||
testtools>=0.9.36,!=1.2.0
|
||||
|
@ -1,50 +0,0 @@
|
||||
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||
|
||||
# Copyright 2013 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
import install_venv_common as install_venv
|
||||
|
||||
|
||||
def first_file(file_list):
|
||||
for candidate in file_list:
|
||||
if os.path.exists(candidate):
|
||||
return candidate
|
||||
|
||||
|
||||
def main(argv):
|
||||
root = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
||||
|
||||
venv = os.environ['VIRTUAL_ENV']
|
||||
|
||||
pip_requires = first_file([
|
||||
os.path.join(root, 'requirements.txt'),
|
||||
os.path.join(root, 'tools', 'pip-requires'),
|
||||
])
|
||||
test_requires = first_file([
|
||||
os.path.join(root, 'test-requirements.txt'),
|
||||
os.path.join(root, 'tools', 'test-requires'),
|
||||
])
|
||||
py_version = "python%s.%s" % (sys.version_info[0], sys.version_info[1])
|
||||
project = 'heat'
|
||||
install = install_venv.InstallVenv(root, venv, pip_requires, test_requires,
|
||||
py_version, project)
|
||||
#NOTE(dprince): For Tox we only run post_process (which patches files, etc)
|
||||
install.post_process()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main(sys.argv)
|
13
tox.ini
13
tox.ini
@ -1,12 +1,18 @@
|
||||
[tox]
|
||||
envlist = py26,py27,pep8
|
||||
minversion = 1.6
|
||||
skipsdist = True
|
||||
|
||||
[testenv]
|
||||
# Note the hash seed is set to 0 until heat can be tested with a
|
||||
# random hash seed successfully.
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
PYTHONHASHSEED=0
|
||||
usedevelop = True
|
||||
install_command = pip install {opts} {packages}
|
||||
deps = -r{toxinidir}/requirements.txt
|
||||
-r{toxinidir}/test-requirements.txt
|
||||
commands =
|
||||
python tools/patch_tox_venv.py
|
||||
python setup.py testr --slowest --testr-args='{posargs}'
|
||||
|
||||
[testenv:pep8]
|
||||
@ -16,18 +22,17 @@ commands = flake8 heat_cfnclient bin/heat-cfn bin/heat-watch
|
||||
commands = {posargs}
|
||||
|
||||
[testenv:cover]
|
||||
setenv = VIRTUAL_ENV={envdir}
|
||||
commands =
|
||||
python tools/patch_tox_venv.py
|
||||
python setup.py testr --coverage
|
||||
|
||||
[flake8]
|
||||
# F841 local variable 'json_template' is assigned to but never used
|
||||
# H201 no 'except:' at least use 'except Exception:'
|
||||
# H233 Python 3.x
|
||||
# H302 import only modules.'bla..' does not import a module
|
||||
# H306 imports not in alphabetical order
|
||||
# H404 multi line docstring should start with a summary
|
||||
ignore = F841,H201,H302,H306,H404
|
||||
ignore = F841,H201,H233,H302,H306,H404
|
||||
show-source = true
|
||||
builtins = _
|
||||
exclude=.venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,tools,build
|
||||
|
Loading…
Reference in New Issue
Block a user