Change to always parsing classes from test_id
Currently only v1 correctly parses out the class information from the test_id. This changes the default behavior to always parse the class and module from test_id. Closes-Bug: #1517229 Change-Id: I6340797064f9289a7e861f853c42a763c5f5e2c2
This commit is contained in:
parent
01fb487df1
commit
2b5c0175fc
@ -633,10 +633,10 @@ class HtmlOutput(testtools.TestResult):
|
||||
test = test.test
|
||||
if test.__class__ == subunit.RemotedTestCase:
|
||||
cl = test._RemotedTestCase__description.rsplit('.', 1)[0]
|
||||
mod = cl.rsplit('.', 1)[0]
|
||||
cls = ClassInfoWrapper(cl, mod)
|
||||
else:
|
||||
cls = ClassInfoWrapper(str(test.__class__), str(test.__module__))
|
||||
cl = test.id().rsplit('.', 1)[0]
|
||||
mod = cl.rsplit('.', 1)[0]
|
||||
cls = ClassInfoWrapper(cl, mod)
|
||||
if not str(cls) in rmap:
|
||||
rmap[str(cls)] = []
|
||||
classes.append(cls)
|
||||
|
31
os_testr/tests/test_subunit2html.py
Normal file
31
os_testr/tests/test_subunit2html.py
Normal file
@ -0,0 +1,31 @@
|
||||
# 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 ddt import data
|
||||
from ddt import ddt
|
||||
from subunit import RemotedTestCase
|
||||
from testtools import PlaceHolder
|
||||
|
||||
from os_testr import subunit2html
|
||||
from os_testr.tests import base
|
||||
|
||||
|
||||
@ddt
|
||||
class TestSubunit2html(base.TestCase):
|
||||
@data(RemotedTestCase, PlaceHolder)
|
||||
def test_class_parsing(self, test_cls):
|
||||
"""Tests that the class paths are parsed for v1 & v2 tests"""
|
||||
test_ = test_cls("example.path.to.test.method")
|
||||
obj_ = subunit2html.HtmlOutput()
|
||||
cls_ = []
|
||||
obj_._add_cls({}, cls_, test_, ())
|
||||
self.assertEqual("example.path.to.test", cls_[0].name)
|
Loading…
x
Reference in New Issue
Block a user