Merge "Add new test script for parallel builds"
This commit is contained in:
commit
c3341ab51a
@ -14,3 +14,4 @@ python-swiftclient>=2.2.0
|
||||
testrepository>=0.0.18
|
||||
testscenarios>=0.4
|
||||
testtools>=0.9.36,!=1.2.0
|
||||
jinja2
|
||||
|
59
tests/test_build.py
Normal file
59
tests/test_build.py
Normal file
@ -0,0 +1,59 @@
|
||||
# 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.
|
||||
|
||||
|
||||
from mock import patch
|
||||
from os import path
|
||||
from oslo_log import fixture as log_fixture
|
||||
from oslo_log import log as logging
|
||||
from oslotest import base
|
||||
|
||||
import sys
|
||||
sys.path.append(path.abspath(path.join(path.dirname(__file__), '../tools')))
|
||||
from tools import build
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class BuildTest(base.BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(BuildTest, self).setUp()
|
||||
self.useFixture(log_fixture.SetLogLevel([__name__],
|
||||
logging.logging.INFO))
|
||||
|
||||
def test_build(self):
|
||||
build_args = ["--debug"]
|
||||
with patch.object(sys, 'argv', build_args):
|
||||
bad_results, good_results = build.main()
|
||||
|
||||
# these are images that are known to not build properly
|
||||
excluded_images = ["barbican",
|
||||
"gnocchi-api",
|
||||
"gnocchi-statsd"]
|
||||
|
||||
failures = 0
|
||||
for image, result in bad_results.iteritems():
|
||||
if image in excluded_images:
|
||||
if result is 'error':
|
||||
continue
|
||||
failures = failures + 1
|
||||
LOG.warning(">>> Expected image '%s' to fail, please update"
|
||||
" the excluded_images in source file above if the"
|
||||
" image build has been fixed." % image)
|
||||
else:
|
||||
if result is not 'error':
|
||||
continue
|
||||
failures = failures + 1
|
||||
LOG.critical(">>> Expected image '%s' to succeed!" % image)
|
||||
|
||||
self.assertEqual(failures, 0, "%d failure(s) occurred" % failures)
|
0
tools/__init__.py
Normal file
0
tools/__init__.py
Normal file
9
tox.ini
9
tox.ini
@ -42,6 +42,15 @@ commands =
|
||||
sudo -g docker testr run ^(test_images).*
|
||||
bash -c "if [ -f buildconf.bak ]; then mv buildconf.bak .buildconf; fi"
|
||||
|
||||
[testenv:images-centos-rdo]
|
||||
whitelist_externals = find
|
||||
bash
|
||||
sudo
|
||||
commands =
|
||||
find . -type f -name "*.pyc" -delete
|
||||
bash -c "if [ ! -d .testrepository ]; then testr init; fi"
|
||||
sudo -g docker testr run ^(test_build).*
|
||||
|
||||
[testenv:images-centos-src]
|
||||
whitelist_externals = find
|
||||
bash
|
||||
|
Loading…
x
Reference in New Issue
Block a user