[
https://issues.jboss.org/browse/ISPN-10855?page=com.atlassian.jira.plugin...
]
Tristan Tarrant updated ISPN-10855:
-----------------------------------
Sprint: DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37 (was: DataGrid
Sprint #35, DataGrid Sprint #36)
MultipleCacheManagersTest factory issues are ignored
----------------------------------------------------
Key: ISPN-10855
URL:
https://issues.jboss.org/browse/ISPN-10855
Project: Infinispan
Issue Type: Bug
Components: Test Suite
Affects Versions: 9.4.16.Final, 10.0.0.Final
Reporter: dan.berindei
Assignee: dan.berindei
Priority: Major
Fix For: 10.1.0.Beta1
TestNG doesn't like exceptions being thrown from {{@Factory}} methods, so when
{{MultipleCacheManager.defaultFactory()}} finds a problem with the concrete {{factory()}}
implementation or with the annotations it replaces the test instance with a
{{TestFrameworkFailure}}.
Turns out that doesn't actually work: TestNG ignores the {{TestFrameworkFailure}}
instance and runs the tests on a "default instance" of the test class. This is
ok when the problem is the concrete class didn't override {{factory()}} and very
likely the test author wanted a single test instance, but it's not ok for other errors
like {{factory()}} being copy-pasted from super with the wrong class name.
We can make TestNG report our factory failures if we implement {{IInstanceInfo}} and mock
all the test/configuration methods to throw our exception. We just need to make all
configuration methods non-final so we can mock them.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)