[ 
https://jira.jboss.org/browse/CDITCK-160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pete Muir closed CDITCK-160.
----------------------------

      Assignee: Pete Muir
    Resolution: Done


> NewEnterpriseBeanICTest.testNewBeanHasSameConstructor() assumes new instance 
> creation
> -------------------------------------------------------------------------------------
>
>                 Key: CDITCK-160
>                 URL: https://jira.jboss.org/browse/CDITCK-160
>             Project: CDI TCK
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Tests
>    Affects Versions: 1.0.1.Final
>         Environment: run against GlassFish v3.0.1 intermediate build
>            Reporter: Ken Saks
>            Assignee: Pete Muir
>             Fix For: 1.0.2.CR1
>
>
> I'm working on supporting EJB constructor injection for GlassFish 
> v3.0.1(https://glassfish.dev.java.net/issues/show_bug.cgi?id=11180) but I'm 
> seeing a failure in 
> NewEnterpriseBeanICTest.testNewBeanHasSameConstructor(NewEnterpriseBeanICTest,
>  line 49.    I can confirm that the Stateless Session bean class one-arg 
> constructor is being invoked as a result of the InjectionTarget.produce() 
> operation, but I don't understand the assumption the test client is making.  
> The test client accesses the bean through a reference, then calls a bean 
> method that resets a static field counting the number of constructor calls 
> for that bean class.   It then calls getInstanceByType() and assumes that the 
> constructor count has been incremented as a result of a new bean instance 
> creation.   The pooling strategy of the container might mean an existing bean 
> instance is reused.  In that case, the constructor will not be called a 
> second time and the test assertion will fail.  
> 34 @Artifact
>  35 @Packaging(PackagingType.EAR)
>  36 @IntegrationTest
>  37 @SpecVersion(spec="cdi", version="20091101")
>  38 public class NewEnterpriseBeanICTest extends AbstractJSR299Test
>  39 {
>  40 
>  41    @Test(groups = { "new" })
>  42    @SpecAssertion(section = "3.12", id = "l")
>  43    public void testNewBeanHasSameConstructor()
>  44    {
>  45       ExplicitConstructor bean = 
> getInstanceByType(ExplicitConstructor.class);
>  46       bean.setConstructorCalls(0);
>  47       ExplicitConstructor newBean = 
> getInstanceByType(ExplicitConstructor.class, 
> ExplicitConstructorSessionBean.NEW);
>  48       assert bean != newBean;
>  49       assert bean.getConstructorCalls() == 1;
>  50       assert bean.getInjectedSimpleBean() != null;
>  51    }
>    [testng] java.lang.AssertionError
>    [testng]   at 
> org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanICTest.testNewBeanHasSameConstructor(NewEnterpriseBeanICTest.java:49)
>    [testng]   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    [testng]   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    [testng]   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    [testng]   at java.lang.reflect.Method.invoke(Method.java:597)
>    [testng]   at 
> org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:609)
>    [testng]   at 
> org.testng.internal.MethodHelper$1.runTestMethod(MethodHelper.java:727)
>    [testng]   at org.jboss.testharness.AbstractTest.run(AbstractTest.java:244)
>    [testng]   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>    [testng]   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>    [testng]   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>    [testng]   at java.lang.reflect.Method.invoke(Method.java:597)
>    [testng]   at 
> org.testng.internal.MethodHelper.invokeHookable(MethodHelper.java:735)
>    [testng]   at org.testng.internal.Invoker.invokeMethod(Invoker.java:525)
>    [testng]   at 
> org.testng.internal.Invoker.invokeTestMethod(Invoker.java:686)
>    [testng]   at 
> org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1018)
>    [testng]   at 
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:128)
>    [testng]   at 
> org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
>    [testng]   at org.testng.TestRunner.runWorkers(TestRunner.java:759)
>    [testng]   at org.testng.TestRunner.privateRun(TestRunner.java:592)
>    [testng]   at org.testng.TestRunner.run(TestRunner.java:486)
>    [testng]   at org.testng.SuiteRunner.runTest(SuiteRunner.java:332)
>    [testng]   at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:327)
>    [testng]   at org.testng.SuiteRunner.privateRun(SuiteRunner.java:299)
>    [testng]   at org.testng.SuiteRunner.run(SuiteRunner.java:204)
>    [testng]   at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:912)
>    [testng]   at org.testng.TestNG.runSuitesLocally(TestNG.java:876)
>    [testng]   at org.testng.TestNG.run(TestNG.java:784)
>    [testng]   at 
> org.jboss.testharness.impl.runner.TestRunner.run(TestRunner.java:61)
>    [testng]   at 
> org.jboss.testharness.impl.runner.servlet.ServletTestRunner.doGet(ServletTestRunner.java:120)
>    [testng]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
>    [testng]   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>    [testng]   at 
> org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
>    [testng]   at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
>    [testng]   at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
>    [testng]   at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
>    [testng]   at 
> com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
>    [testng]   at 
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
>    [testng]   at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>    [testng]   at 
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
>    [testng]   at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
>    [testng]   at 
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
>    [testng]   at 
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
>    [testng]   at 
> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
>    [testng]   at 
> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
>    [testng]   at 
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
>    [testng]   at 
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>    [testng]   at 
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>    [testng]   at 
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>    [testng]   at 
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>    [testng]   at 
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>    [testng]   at 
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>    [testng]   at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>    [testng]   at 
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
>    [testng]   at 
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
>    [testng]   at java.lang.Thread.run(Thread.java:637)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
weld-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-issues

Reply via email to