Merge "Use a fake coverage module instead of real one."
This commit is contained in:
commit
7414e5137f
@ -45,7 +45,6 @@ class CoverageController(object):
|
||||
"""The Coverage report API controller for the OpenStack API."""
|
||||
def __init__(self):
|
||||
self.data_path = tempfile.mkdtemp(prefix='nova-coverage_')
|
||||
data_out = os.path.join(self.data_path, '.nova-coverage')
|
||||
self.compute_api = compute_api.API()
|
||||
self.network_api = network_api.API()
|
||||
self.conductor_api = conductor_api.API()
|
||||
@ -55,14 +54,20 @@ class CoverageController(object):
|
||||
self.cert_api = cert_api.CertAPI()
|
||||
self.services = []
|
||||
self.combine = False
|
||||
try:
|
||||
import coverage
|
||||
self.coverInst = coverage.coverage(data_file=data_out)
|
||||
self.has_coverage = True
|
||||
except ImportError:
|
||||
self.has_coverage = False
|
||||
self._cover_inst = None
|
||||
super(CoverageController, self).__init__()
|
||||
|
||||
@property
|
||||
def coverInst(self):
|
||||
if not self._cover_inst:
|
||||
try:
|
||||
import coverage
|
||||
data_out = os.path.join(self.data_path, '.nova-coverage')
|
||||
self._cover_inst = coverage.coverage(data_file=data_out)
|
||||
except ImportError:
|
||||
pass
|
||||
return self._cover_inst
|
||||
|
||||
def _find_services(self, req):
|
||||
"""Returns a list of services."""
|
||||
context = req.environ['nova.context']
|
||||
@ -242,7 +247,7 @@ class CoverageController(object):
|
||||
'report': self._report_coverage,
|
||||
}
|
||||
authorize(req.environ['nova.context'])
|
||||
if not self.has_coverage:
|
||||
if not self.coverInst:
|
||||
msg = _("Python coverage module is not installed.")
|
||||
raise exc.HTTPServiceUnavailable(explanation=msg)
|
||||
for action, data in body.iteritems():
|
||||
|
@ -34,12 +34,27 @@ def fake_check_coverage(self):
|
||||
return False
|
||||
|
||||
|
||||
def fake_xml_report(self, outfile):
|
||||
return
|
||||
class FakeCoverage(object):
|
||||
def __init__(self, data_file=None):
|
||||
self.started = False
|
||||
return super(FakeCoverage, self).__init__()
|
||||
|
||||
def save(self):
|
||||
pass
|
||||
|
||||
def fake_report(self, file):
|
||||
return
|
||||
def start(self):
|
||||
self.started = True
|
||||
|
||||
def stop(self):
|
||||
if not self.started:
|
||||
raise AssertionError
|
||||
self.started = False
|
||||
|
||||
def report(self, file):
|
||||
pass
|
||||
|
||||
def xml_report(self, outfile):
|
||||
pass
|
||||
|
||||
|
||||
class CoverageExtensionTest(test.TestCase):
|
||||
@ -48,8 +63,7 @@ class CoverageExtensionTest(test.TestCase):
|
||||
super(CoverageExtensionTest, self).setUp()
|
||||
self.stubs.Set(telnetlib.Telnet, 'write', fake_telnet)
|
||||
self.stubs.Set(telnetlib.Telnet, 'expect', fake_telnet)
|
||||
self.stubs.Set(coverage.coverage, 'report', fake_report)
|
||||
self.stubs.Set(coverage.coverage, 'xml_report', fake_xml_report)
|
||||
self.stubs.Set(coverage, 'coverage', FakeCoverage)
|
||||
self.admin_context = context.RequestContext('fakeadmin_0',
|
||||
'fake',
|
||||
is_admin=True)
|
||||
|
@ -46,6 +46,7 @@ import nova.quota
|
||||
from nova.scheduler import driver
|
||||
from nova.servicegroup import api as service_group_api
|
||||
from nova import test
|
||||
from nova.tests.api.openstack.compute.contrib import test_coverage_ext
|
||||
from nova.tests.api.openstack.compute.contrib import test_fping
|
||||
from nova.tests.api.openstack.compute.contrib import test_networks
|
||||
from nova.tests.api.openstack.compute.contrib import test_services
|
||||
@ -760,7 +761,7 @@ class CoverageExtJsonTests(ApiSampleTestBase):
|
||||
|
||||
self.stubs.Set(coverage_ext.CoverageController, '_check_coverage',
|
||||
_fake_check_coverage)
|
||||
self.stubs.Set(coverage.coverage, 'xml_report', _fake_xml_report)
|
||||
self.stubs.Set(coverage, 'coverage', test_coverage_ext.FakeCoverage)
|
||||
|
||||
def test_start_coverage(self):
|
||||
# Start coverage data collection.
|
||||
|
@ -127,10 +127,6 @@ function run_tests {
|
||||
fi
|
||||
|
||||
if [ $coverage -eq 1 ]; then
|
||||
# Do not test test_coverage_ext when gathering coverage.
|
||||
if [ "x$testrargs" = "x" ]; then
|
||||
testrargs="^(?!.*test.*coverage).*$"
|
||||
fi
|
||||
TESTRTESTS="$TESTRTESTS --coverage"
|
||||
else
|
||||
TESTRTESTS="$TESTRTESTS --slowest"
|
||||
|
Loading…
x
Reference in New Issue
Block a user