Skip to content

Commit

Permalink
Merge "Add base jobs for functional tests"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and openstack-gerrit committed Dec 14, 2017
2 parents 80ef0b1 + e1b0c38 commit 62af936
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 0 deletions.
54 changes: 54 additions & 0 deletions .zuul.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,60 @@
# ready yet. Until then this job should stay non-voting.
voting: false

- job:
name: devstack-tox-base
parent: devstack
description: |
Base job for devstack-based functional tests that use tox.
This job is not intended to be run directly. It's just here
for organizational purposes for devstack-tox-functional and
devstack-tox-functional-consumer.
post-run: playbooks/tox/post.yaml
vars:
tox_envlist: functional
tox_install_siblings: false

- job:
name: devstack-tox-functional
parent: devstack-tox-base
description: |
Base job for devstack-based functional tests that use tox.
Runs devstack, then runs the tox ``functional`` environment,
then collects tox/testr build output like normal tox jobs.
Turns off tox sibling installation. Projects may be involved
in the devstack deployment and so may be in the required-projects
list, but may not want to test against master of the other
projects in their tox env. Child jobs can set tox_install_siblings
to True to re-enable sibling processing.
run: playbooks/tox/run-both.yaml

- job:
name: devstack-tox-functional-consumer
parent: devstack
description: |
Base job for devstack-based functional tests for projects that
consume the devstack cloud.
This base job should only be used by projects that are not involved
in the devstack deployment step, but are instead projects that are using
devstack to get a cloud against which they can test things.
Runs devstack in pre-run, then runs the tox ``functional`` environment,
then collects tox/testr build output like normal tox jobs.
Turns off tox sibling installation. Projects may be involved
in the devstack deployment and so may be in the required-projects
list, but may not want to test against master of the other
projects in their tox env. Child jobs can set tox_install_siblings
to True to re-enable sibling processing.
pre-run:
- playbooks/devstack.yaml
- playbooks/tox/pre.yaml
run: playbooks/tox/run.yaml

- project:
name: openstack-dev/devstack
check:
Expand Down
5 changes: 5 additions & 0 deletions playbooks/tox/post.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
- hosts: all
roles:
- fetch-tox-output
- fetch-testr-output
- fetch-stestr-output
8 changes: 8 additions & 0 deletions playbooks/tox/pre.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
- hosts: all
roles:
# Run bindep and test-setup after devstack so that they won't interfere
- role: bindep
bindep_profile: test
bindep_dir: "{{ zuul_work_dir }}"
- test-setup
- ensure-tox
10 changes: 10 additions & 0 deletions playbooks/tox/run-both.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
- hosts: all
roles:
- run-devstack
# Run bindep and test-setup after devstack so that they won't interfere
- role: bindep
bindep_profile: test
bindep_dir: "{{ zuul_work_dir }}"
- test-setup
- ensure-tox
- tox
3 changes: 3 additions & 0 deletions playbooks/tox/run.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- hosts: all
roles:
- tox

0 comments on commit 62af936

Please sign in to comment.