Add integration job for Zuul
Change-Id: I0f4d71322eef32dd9ff14ea14f3287d6c2559a09
This commit is contained in:
parent
acdd04e4e0
commit
9534077689
30
.zuul.yaml
Normal file
30
.zuul.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
- project:
|
||||
name: openstack/os-faults
|
||||
check:
|
||||
jobs:
|
||||
- os-faults-integration-py27
|
||||
- os-faults-integration-py35
|
||||
gate:
|
||||
jobs:
|
||||
- os-faults-integration-py27
|
||||
- os-faults-integration-py35
|
||||
|
||||
- job:
|
||||
name: os-faults-integration-py27
|
||||
parent: openstack-tox
|
||||
description: |
|
||||
Run integration tests under Python 2.7
|
||||
|
||||
To run tests manually use ``tox -e integration-py27`` command.
|
||||
vars:
|
||||
tox_envlist: integration-py27
|
||||
|
||||
- job:
|
||||
name: os-faults-integration-py35
|
||||
parent: openstack-tox
|
||||
description: |
|
||||
Run integration tests under Python 3.5
|
||||
|
||||
To run tests manually use ``tox -e integration-py35`` command.
|
||||
vars:
|
||||
tox_envlist: integration-py35
|
0
os_faults/tests/integration/__init__.py
Normal file
0
os_faults/tests/integration/__init__.py
Normal file
12
os_faults/tests/integration/os-faults.yaml
Normal file
12
os_faults/tests/integration/os-faults.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
cloud_management:
|
||||
driver: universal
|
||||
node_discover:
|
||||
driver: node_list
|
||||
args:
|
||||
- ip: localhost
|
||||
services:
|
||||
memcached:
|
||||
args:
|
||||
grep: memcached
|
||||
service_name: memcached
|
||||
driver: system_service
|
48
os_faults/tests/integration/test_cmd_utils.py
Normal file
48
os_faults/tests/integration/test_cmd_utils.py
Normal file
@ -0,0 +1,48 @@
|
||||
# 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 logging
|
||||
import os
|
||||
import re
|
||||
import shlex
|
||||
|
||||
from oslo_concurrency import processutils
|
||||
|
||||
from os_faults.tests.unit import test
|
||||
|
||||
|
||||
CONFIG_FILE = os.path.join(os.path.dirname(__file__), 'os-faults.yaml')
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TestOSInjectFault(test.TestCase):
|
||||
|
||||
def test_connect(self):
|
||||
cmd = 'os-inject-fault -c %s -v' % CONFIG_FILE
|
||||
|
||||
command_stdout, command_stderr = processutils.execute(
|
||||
*shlex.split(cmd))
|
||||
|
||||
success = re.search('Connected to cloud successfully', command_stderr)
|
||||
self.assertTrue(success)
|
||||
|
||||
|
||||
class TestOSFaults(test.TestCase):
|
||||
|
||||
def test_connect(self):
|
||||
cmd = 'os-faults verify -c %s' % CONFIG_FILE
|
||||
|
||||
command_stdout, command_stderr = processutils.execute(
|
||||
*shlex.split(cmd))
|
||||
|
||||
success = re.search('Connected to cloud successfully', command_stderr)
|
||||
self.assertTrue(success)
|
20
tox.ini
20
tox.ini
@ -50,6 +50,26 @@ commands =
|
||||
install_command = {[testenv:common-constraints]install_command}
|
||||
commands = {[testenv:cover]commands}
|
||||
|
||||
[testenv:integration]
|
||||
setenv = {[testenv]setenv}
|
||||
OS_TEST_PATH=./os_faults/tests/integration
|
||||
deps = {[testenv]deps}
|
||||
oslo.concurrency
|
||||
commands =
|
||||
py.test -vvvv --html={envlogdir}/pytest_results.html --self-contained-html --durations=10 "os_faults/tests/integration" {posargs}
|
||||
|
||||
[testenv:integration-py27]
|
||||
basepython = python2.7
|
||||
setenv = {[testenv:integration]setenv}
|
||||
deps = {[testenv:integration]deps}
|
||||
commands = {[testenv:integration]commands}
|
||||
|
||||
[testenv:integration-py35]
|
||||
basepython = python3.5
|
||||
setenv = {[testenv:integration]setenv}
|
||||
deps = {[testenv:integration]deps}
|
||||
commands = {[testenv:integration]commands}
|
||||
|
||||
[testenv:docs]
|
||||
commands =
|
||||
rm -rf doc/build
|
||||
|
Loading…
x
Reference in New Issue
Block a user