Add glance-eventlet-ssl-handshake-broken-py35 job
Blacklist the two currently skipped functional-py35 tests and include them in a new non-voting job so that their failure is obvious instead of hidden. Change-Id: Ice8e114c6590b25f3ec79fbe4c06efaa245706c0 Partial-bug: #1769006
This commit is contained in:
parent
3b2da73490
commit
837937f8d2
10
.zuul.yaml
10
.zuul.yaml
@ -10,6 +10,14 @@
|
|||||||
- openstack/glance
|
- openstack/glance
|
||||||
nodeset: legacy-ubuntu-xenial-2-node
|
nodeset: legacy-ubuntu-xenial-2-node
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: glance-eventlet-ssl-handshake-broken-py35
|
||||||
|
parent: tox
|
||||||
|
description: |
|
||||||
|
See https://bugs.launchpad.net/glance/+bug/1482633
|
||||||
|
vars:
|
||||||
|
tox_envlist: broken-py35-ssl-tests
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: glance-tox-oslo-tips-base
|
name: glance-tox-oslo-tips-base
|
||||||
parent: tox
|
parent: tox
|
||||||
@ -176,6 +184,8 @@
|
|||||||
- openstack-tox-functional
|
- openstack-tox-functional
|
||||||
- openstack-tox-functional-py35
|
- openstack-tox-functional-py35
|
||||||
- openstack-tox-lower-constraints
|
- openstack-tox-lower-constraints
|
||||||
|
- glance-eventlet-ssl-handshake-broken-py35:
|
||||||
|
voting: false
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- openstack-tox-functional
|
- openstack-tox-functional
|
||||||
|
2
broken-functional-py35-ssl-tests.txt
Normal file
2
broken-functional-py35-ssl-tests.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
^glance\.tests\.functional\.test_reload\.TestReload\.test_reload$
|
||||||
|
^glance\.tests\.functional\.test_ssl\.TestSSL\.test_ssl_ok$
|
@ -16,11 +16,9 @@
|
|||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
import unittest
|
|
||||||
|
|
||||||
import psutil
|
import psutil
|
||||||
import requests
|
import requests
|
||||||
import six
|
|
||||||
from six.moves import http_client as http
|
from six.moves import http_client as http
|
||||||
|
|
||||||
from glance.tests import functional
|
from glance.tests import functional
|
||||||
@ -103,7 +101,6 @@ class TestReload(functional.FunctionalTest):
|
|||||||
def _url(self, protocol, path):
|
def _url(self, protocol, path):
|
||||||
return '%s://127.0.0.1:%d%s' % (protocol, self.api_port, path)
|
return '%s://127.0.0.1:%d%s' % (protocol, self.api_port, path)
|
||||||
|
|
||||||
@unittest.skipIf(six.PY3, 'SSL handshakes are broken in PY3')
|
|
||||||
def test_reload(self):
|
def test_reload(self):
|
||||||
"""Test SIGHUP picks up new config values"""
|
"""Test SIGHUP picks up new config values"""
|
||||||
def check_pids(pre, post=None, workers=2):
|
def check_pids(pre, post=None, workers=2):
|
||||||
|
@ -14,10 +14,8 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import unittest
|
|
||||||
|
|
||||||
import httplib2
|
import httplib2
|
||||||
import six
|
|
||||||
from six.moves import http_client as http
|
from six.moves import http_client as http
|
||||||
|
|
||||||
from glance.tests import functional
|
from glance.tests import functional
|
||||||
@ -74,7 +72,6 @@ class TestSSL(functional.FunctionalTest):
|
|||||||
if getattr(self, 'inited', False):
|
if getattr(self, 'inited', False):
|
||||||
return
|
return
|
||||||
|
|
||||||
@unittest.skipIf(six.PY3, 'SSL handshakes are broken in PY3')
|
|
||||||
def test_ssl_ok(self):
|
def test_ssl_ok(self):
|
||||||
"""Make sure the public API works with HTTPS."""
|
"""Make sure the public API works with HTTPS."""
|
||||||
self.cleanup()
|
self.cleanup()
|
||||||
|
9
tools/generate-blacklist.sh
Executable file
9
tools/generate-blacklist.sh
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash -xe
|
||||||
|
|
||||||
|
TOX_INI_DIR="$1"
|
||||||
|
TOX_TMP_DIR="$2"
|
||||||
|
|
||||||
|
cat "${TOX_INI_DIR}/serial-functests.txt" \
|
||||||
|
"${TOX_INI_DIR}/broken-functional-py35-ssl-tests.txt" > \
|
||||||
|
"${TOX_TMP_DIR}/func-py35-blacklist.txt"
|
||||||
|
|
18
tox.ini
18
tox.ini
@ -48,10 +48,26 @@ basepython = python3.5
|
|||||||
setenv =
|
setenv =
|
||||||
TEST_PATH = ./glance/tests/functional
|
TEST_PATH = ./glance/tests/functional
|
||||||
ignore_errors = True
|
ignore_errors = True
|
||||||
|
whitelist_externals =
|
||||||
|
bash
|
||||||
commands =
|
commands =
|
||||||
stestr run --blacklist-file ./serial-functests.txt {posargs}
|
# NOTE(rosmaita): calling this script is a complete hack, everything
|
||||||
|
# is hard-coded.
|
||||||
|
bash tools/generate-blacklist.sh {toxinidir} {envtmpdir}
|
||||||
|
stestr run --blacklist-file {envtmpdir}/func-py35-blacklist.txt {posargs}
|
||||||
stestr run --serial --combine --whitelist-file ./serial-functests.txt {posargs}
|
stestr run --serial --combine --whitelist-file ./serial-functests.txt {posargs}
|
||||||
|
|
||||||
|
[testenv:broken-py35-ssl-tests]
|
||||||
|
# NOTE(rosmaita): these tests were being skipped due to bug #1482633, but we
|
||||||
|
# want it to be obvious that Glance is affected by the eventlet ssl-handshake
|
||||||
|
# problem under py35. (When this testenv is removed, don't forget to adjust
|
||||||
|
# the blacklist generation in the functional-py35 testenv.)
|
||||||
|
basepython = python3.5
|
||||||
|
setenv =
|
||||||
|
TEST_PATH = ./glance/tests/functional
|
||||||
|
commands =
|
||||||
|
stestr run --whitelist-file ./broken-functional-py35-ssl-tests.txt {posargs}
|
||||||
|
|
||||||
[testenv:pep8]
|
[testenv:pep8]
|
||||||
commands =
|
commands =
|
||||||
flake8 {posargs}
|
flake8 {posargs}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user