initial functial tox

This commit is contained in:
Scott Moser 2015-01-21 16:20:34 -05:00
parent 033f7eda6b
commit ee70dff712
5 changed files with 88 additions and 62 deletions

View File

@ -1,62 +0,0 @@
CWD=$(shell pwd)
PY_FILES=$(shell find cloudinit bin tests tools -name "*.py" -type f )
PY_FILES+="bin/cloud-init"
YAML_FILES=$(shell find cloudinit bin tests tools -name "*.yaml" -type f )
YAML_FILES+=$(shell find doc/examples -name "cloud-config*.txt" -type f )
CHANGELOG_VERSION=$(shell $(CWD)/tools/read-version)
CODE_VERSION=$(shell python -c "from cloudinit import version; print version.version_string()")
PIP_INSTALL := pip install
ifeq ($(distro),)
distro = redhat
endif
all: test check_version
pep8:
@$(CWD)/tools/run-pep8 $(PY_FILES)
pyflakes:
pyflakes $(PY_FILES)
pip-requirements:
@echo "Installing cloud-init dependencies..."
$(PIP_INSTALL) -r "$@.txt" -q
pip-test-requirements:
@echo "Installing cloud-init test dependencies..."
$(PIP_INSTALL) -r "$@.txt" -q
test: clean_pyc
@echo "Running tests..."
@nosetests $(noseopts) tests/
check_version:
@if [ "$(CHANGELOG_VERSION)" != "$(CODE_VERSION)" ]; then \
echo "Error: ChangeLog version $(CHANGELOG_VERSION)" \
"not equal to code version $(CODE_VERSION)"; exit 2; \
else true; fi
clean_pyc:
@find . -type f -name "*.pyc" -delete
2to3:
2to3 $(PY_FILES)
clean: clean_pyc
rm -rf /var/log/cloud-init.log /var/lib/cloud/
yaml:
@$(CWD)/tools/validate-yaml.py $(YAML_FILES)
rpm:
./packages/brpm --distro $(distro)
deb:
./packages/bddeb
.PHONY: test pyflakes 2to3 clean pep8 rpm deb yaml check_version
.PHONY: pip-test-requirements pip-requirements clean_pyc

4
README.md Normal file
View File

@ -0,0 +1,4 @@
Cloud Init
==========
cloud-init initializes systems for cloud environments.

22
cloudinit/shell.py Normal file
View File

@ -0,0 +1,22 @@
# Copyright (C) 2015 Canonical Ltd.
#
# Author: Scott Moser <scott.moser@canonical.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 3, as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
def main():
print("Hello World\n")
# vi: ts=4 expandtab

37
setup.cfg Normal file
View File

@ -0,0 +1,37 @@
[metadata]
name = cloudinit
version = 1.9.0
summary = cloud initialisation magic
description-file =
README.md
author = Scott Moser
author-email = scott.moser@canonical.com
home-page = http://launchpad.net/cloud-init/
classifier =
Environment :: Console
Environment :: OpenStack
Environment :: Cloud
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Operating System :: OS Independent
Programming Language :: Python
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.3
[files]
packages =
cloudinit
[global]
setup-hooks =
pbr.hooks.setup_hook
[entry_points]
console_scripts =
cloud-init = cloudinit.shell:main
[build_sphinx]
source-dir = doc/

25
tox.ini Normal file
View File

@ -0,0 +1,25 @@
[tox]
minversion = 1.6
skipsdist = True
envlist = py27, py34, docs, flake
[tox:jenkins]
downloadcache = ~/cache/pip
[testenv]
usedevelop = True
setenv = VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
commands = nosetests {posargs}
[testenv:flake]
commands = flake8 {posargs}
deps = flake8
[testenv:docs]
deps = sphinx
commands = python setup.py build_sphinx
[flake8]
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build