Make it possible for openstack-CI to run tests
Per http://wiki.openstack.org/ProjectTestingInterface we enable all of the commands except build_sphinx because we do not have any sphinx documentation as of yet. Includes babel support though there are no properly internationalized strings just yet. Change-Id: Iae6e6b3f9e605106f4575196fa5527d2187255df
This commit is contained in:
parent
3d95bf81c5
commit
c3ee071d73
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,3 +2,6 @@
|
||||
.testrepository
|
||||
*.swp
|
||||
*.pyc
|
||||
.tox
|
||||
*.egg-info
|
||||
dist
|
||||
|
7
MANIFEST.in
Normal file
7
MANIFEST.in
Normal file
@ -0,0 +1,7 @@
|
||||
recursive-include lib
|
||||
include bin/disk-image-create
|
||||
include bin/disk-image-get-kernel
|
||||
include bin/ramdisk-image-create
|
||||
recursive-include elements
|
||||
include README.md
|
||||
recursive-include docs
|
@ -86,6 +86,5 @@ def main(argv):
|
||||
print(' '.join(expand_dependencies(args.elements)))
|
||||
return 0
|
||||
|
||||
|
||||
sys.stderr.write("ERROR: please choose an option.\n")
|
||||
return -1
|
||||
|
20
diskimage_builder/locale/diskimage_builder.pot
Normal file
20
diskimage_builder/locale/diskimage_builder.pot
Normal file
@ -0,0 +1,20 @@
|
||||
# Translations template for configapplier.
|
||||
# Copyright (C) 2013 ORGANIZATION
|
||||
# This file is distributed under the same license as the configapplier
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: configapplier 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2013-01-24 09:27-0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
20
diskimage_builder/locale/en/LC_MESSAGES/diskimage_builder.po
Normal file
20
diskimage_builder/locale/en/LC_MESSAGES/diskimage_builder.po
Normal file
@ -0,0 +1,20 @@
|
||||
# English translations for configapplier.
|
||||
# Copyright (C) 2013 ORGANIZATION
|
||||
# This file is distributed under the same license as the configapplier
|
||||
# project.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: configapplier 0.0.1\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2013-01-24 09:27-0800\n"
|
||||
"PO-Revision-Date: 2013-01-24 09:41-0800\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: en <LL@li.org>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 0.9.6\n"
|
||||
|
@ -20,7 +20,9 @@ from fixtures import Fixture, TempDir
|
||||
|
||||
from diskimage_builder.elements import expand_dependencies
|
||||
|
||||
data_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'test-elements'))
|
||||
data_dir = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), 'test-elements'))
|
||||
|
||||
|
||||
def _populate_element(element_dir, element_name, element_deps=[]):
|
||||
element_home = os.path.join(element_dir, element_name)
|
||||
@ -29,6 +31,7 @@ def _populate_element(element_dir, element_name, element_deps=[]):
|
||||
with open(deps_path, 'w') as deps_file:
|
||||
deps_file.write("\n".join(element_deps))
|
||||
|
||||
|
||||
class TestElementDeps(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
@ -45,27 +48,27 @@ class TestElementDeps(TestCase):
|
||||
|
||||
def test_non_transitive_deps(self):
|
||||
result = expand_dependencies(['requires-foo'],
|
||||
elements_dir=self.element_dir)
|
||||
elements_dir=self.element_dir)
|
||||
self.assertEquals(set(['requires-foo', 'foo']), result)
|
||||
|
||||
def test_transitive_deps(self):
|
||||
result = expand_dependencies(['requires-requires-foo'],
|
||||
elements_dir=self.element_dir)
|
||||
elements_dir=self.element_dir)
|
||||
self.assertEquals(set(['requires-requires-foo',
|
||||
'requires-foo',
|
||||
'foo']), result)
|
||||
|
||||
def test_no_deps(self):
|
||||
result = expand_dependencies(['foo'],
|
||||
elements_dir=self.element_dir)
|
||||
elements_dir=self.element_dir)
|
||||
self.assertEquals(set(['foo']), result)
|
||||
|
||||
def test_self(self):
|
||||
result = expand_dependencies(['self'],
|
||||
elements_dir=self.element_dir)
|
||||
elements_dir=self.element_dir)
|
||||
self.assertEquals(set(['self']), result)
|
||||
|
||||
def test_circular(self):
|
||||
result = expand_dependencies(['circular1'],
|
||||
elements_dir=self.element_dir)
|
||||
elements_dir=self.element_dir)
|
||||
self.assertEquals(set(['circular1', 'circular2']), result)
|
||||
|
@ -17,7 +17,10 @@ import os
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
class StubPackage: pass
|
||||
|
||||
class StubPackage:
|
||||
pass
|
||||
|
||||
|
||||
# conceptually load_tests should be in __init__, but see
|
||||
# http://bugs.python.org/issue16662 instead. So, its here in test_elements.py
|
||||
|
13
setup.cfg
Normal file
13
setup.cfg
Normal file
@ -0,0 +1,13 @@
|
||||
[extract_messages]
|
||||
keywords = _ gettext ngettext l_ lazy_gettext
|
||||
mapping_file = babel.cfg
|
||||
output_file = diskimage_builder/locale/diskimage_builder.pot
|
||||
|
||||
[update_catalog]
|
||||
domain = diskimage_builder
|
||||
output_dir = diskimage_builder/locale
|
||||
input_file = diskimage_builder/locale/diskimage_builder.pot
|
||||
|
||||
[compile_catalog]
|
||||
directory = diskimage_builder/locale
|
||||
domain = diskimage_builder
|
40
setup.py
Executable file
40
setup.py
Executable file
@ -0,0 +1,40 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# 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 setuptools
|
||||
|
||||
with open("README.md", 'rt') as readme:
|
||||
readme_text = readme.read()
|
||||
|
||||
setuptools.setup(
|
||||
name='diskimage_builder',
|
||||
version='0.0.1',
|
||||
description="""Build Disk Images for use on OpenStack Nova""",
|
||||
long_description = readme_text,
|
||||
license='Apache License (2.0)',
|
||||
author='HP Cloud Services',
|
||||
author_email='nobody@hp.com',
|
||||
url='https://github.com/stackforge/diskimage-builder',
|
||||
packages=setuptools.find_packages(),
|
||||
include_package_data=True,
|
||||
classifiers=[
|
||||
'Development Status :: 3 - Alpha',
|
||||
'License :: OSI Approved :: Apache Software License',
|
||||
'Operating System :: POSIX :: Linux',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Environment :: Console',
|
||||
],
|
||||
scripts=['bin/element-info'],
|
||||
py_modules=[])
|
2
tools/test-requires
Normal file
2
tools/test-requires
Normal file
@ -0,0 +1,2 @@
|
||||
testtools
|
||||
fixtures
|
43
tox.ini
Normal file
43
tox.ini
Normal file
@ -0,0 +1,43 @@
|
||||
[tox]
|
||||
envlist = py26,py27,pep8
|
||||
|
||||
[testenv]
|
||||
setenv = LANG=en_US.UTF-8
|
||||
LANGUAGE=en_US:en
|
||||
LC_ALL=C
|
||||
deps=
|
||||
testtools
|
||||
testrepository
|
||||
coverage
|
||||
babel
|
||||
commands=
|
||||
bash -c 'if [ ! -d ./.testrepository ] ; then testr init ; fi'
|
||||
bash -c 'testr run --parallel {posargs} ; RET=$? echo "Slowest Tests" ; testr slowest && exit $RET'
|
||||
|
||||
[testenv:py26]
|
||||
deps=
|
||||
testtools
|
||||
testrepository
|
||||
coverage
|
||||
babel
|
||||
discover
|
||||
argparse
|
||||
|
||||
[pep8]
|
||||
ignore = E125
|
||||
|
||||
[testenv:pep8]
|
||||
deps = pep8
|
||||
commands =
|
||||
pep8 --repeat --show-source --exclude=.venv,.tox,doc .
|
||||
|
||||
[testenv:venv]
|
||||
commands = {posargs}
|
||||
|
||||
[testenv:cover]
|
||||
setenv = PYTHON=coverage run --source diskimage_builder
|
||||
commands = bash -c 'if [ ! -d ./.testrepository ] ; then testr init ; fi'
|
||||
bash -c 'testr run --parallel ; RET=$? ; coverage combine ; coverage html -d ./cover $OMIT && exit $RET'
|
||||
|
||||
[tox:jenkins]
|
||||
downloadcache = ~/cache/pip
|
Loading…
Reference in New Issue
Block a user