[
https://issues.jboss.org/browse/CDITCK-221?page=com.atlassian.jira.plugin...
]
Martin Kouba resolved CDITCK-221.
---------------------------------
Fix Version/s: 1.1.0.CR1
Resolution: Done
Synchronization bug in
test<X>ScopeActiveDuringCallToEjbTimeoutMethod tests
---------------------------------------------------------------------------
Key: CDITCK-221
URL:
https://issues.jboss.org/browse/CDITCK-221
Project: CDI TCK
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Tests
Affects Versions: 1.0.4.Final
Reporter: David Blevins
Assignee: Martin Kouba
Fix For: 1.0.5.CR1, 1.1.0.CR1
Waiting on either climbed or descended just tests that the timeout method was entered but
does not guarantee the end of the method was reached and the proper state was set in the
other variables. These tests will occasionally fail for this timing issue.
Though not fancy, this kind of synchronization can work. We just need to move these
variables to the end of the timeout method. That will guarantee that when either climbed
or descended are set to true the other variables are also in a testable state.
{code}
@Timeout
public void timeout(Timer timer)
{
if (beanManager.getContext(ApplicationScoped.class).isActive())
{
applicationScopeActive = true;
if (beanId > 0.0)
{
if (beanId == simpleApplicationBeanInstance.get().getId())
{
sameBean = true;
}
}
else
{
beanId = simpleApplicationBeanInstance.get().getId();
}
}
// applicationScopeActive, beanId and sameBean have been set and are testable
if (timer.getInfo().equals(CLIMB_COMMAND))
{
climbed = true;
}
if (timer.getInfo().equals(DESCEND_COMMAND))
{
descended = true;
}
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira