Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Group info
Members: 281
Language: English
Group categories:
Computers > Programming
More group info »
Recent pages and files
JSR 289 TCK Errata    

Date: December 12 2008

This errata lists errors in the JSR 289 TCK tests. Some tests (numbered 7-14, 17-21, 26-27 below) have minor bugs and are straight-forward to fix and re-build the TCK. The fix has been listed for such tests.
Tests that require a significant change are added to the exlcude list for now and will be eventually fixed.
----------------------------------------------------------------------------------------------------------------
  1. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletTest.testDoProvisionalResponse001
  2. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipErrorEventListenerTest.testNoPrackReceived001
  3. The above tests should be added to the exclude list as support for RFC 3265 is optional in JSR 289.
    If your implementation does support RFC 3265 and you want to run test1, then correct the following:
    The SipServletServlet.doProvisionalResponse method should call createPrack() instead of createAck()

  4. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testAddAddressHeader001
  5. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testGetTo001
  6. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testSetAddressHeader001
  7. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testGetAddressHeader001
  8. These tests do plain String comparison for Address headers on the client side which is incorrect. Angle brackets and quotes should be ignored for comparison as per the Address rules.
    The client side should also follow the Address comparison rules as specified in Address.equals() javadoc. The above tests should be added to the exclude list.

  9. ${TCK_HOME}/applications/apitestapp/WEB-INF/web.xml
  10. The of "*" in the element of the web.xml deployment descriptor for apitestapp.sar module is incorrect. (as per Servlet 2.5 Spec, Section SRV.11.2) The url-pattern should be changed to "/*" as follows: ApiTestMainHttpServlet /* Build and deploy the apitestapp.sar module after the change.

  11. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletListenerTest.testServletInitialized001
  12. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.TimerServiceTest.testCreateTimer001
  13. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.TimerServiceTest.testCreateTimer002
  14. com.bea.sipservlet.tck.agents.spec.SipServletListenerTest.testSipServletListener
  15. The above tests use instance variables in Servlets and Listeners. This is not correct as Servlets and Listeners are stateless. Change the Servlets that handle above tests to store the instance variables in the ServletContext.

  16. com.bea.sipservlet.tck.apps.spec.uas.AnnotationServlet
  17. com.bea.sipservlet.tck.apps.spec.uas.UasActiveServlet
  18. com.bea.sipservlet.tck.apps.spec.uas.UasCancelServlet
  19. In the above Servlets in the TCK, the @Resource annotation has been applied to static fields for container-managed classes in the TCK. This is not correct as per Java EE (Section EE.5.2.3). (Dependency Injection makes sense at object level because the object lifecycle is managed by the container which injects the resource.) Remove the static modifier on the fields annotated with @Resource annotations in the above servlets.

  20. com.bea.sipservlet.tck.agents.spec.testContext1
  21. This test currently tests if the exact set of parameter-names populated by the application are available on the Context. The only test the TCK should check for is that the union of context-params in the web.xml and sip.xml is available using the context.getInitialParameterNames(). (This would allow the context to have container-specific params if any container wishes to add them.)
    The ContextServlet.verifyStringEnum() method should be modfied to check only if the parameter-names populated by the application are available on the context.
    This test should be added to the exclude list.

  22. com.bea.sipservlet.tck.agents.spec.AuthOfAppInitReqTest
  23. This test expects the REGISTER request created from an authenticated session to be automatically authenticated. This is not correct. The REGISTER request (third one) created inside AuthOfAppInitReqServlet.doSuccessResponse() should not carry the Authorization header unless populated by the application and should be challenged by the UAS.
    Also, the AuthOfAppInitReqTest.checkAuthorHeader() method should check for the opaque string in the REGISTER request (2nd one) with the Authorization header.
    This test should be added to the exclude list.

  24. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletTest.testDoErrorResponse001
  25. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletTest.testDoRedirectResponse001
  26. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletTest.testDoSuccessResponse001
  27. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletResponseTest.testSend101
  28. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipSessionTest.testCreateRequest001
  29. The above tests use the same SipSession to create and send a subsequent MESSAGE (non-dialog creating request) using: req.getSession().createRequest("MESSAGE").send() in the corresponding servlet (eg, com.bea.sipservlet.tck.apps.api.SipServletServlet) The semantics of re-using a SipSession created by a non-dialog creating request on the UAS side after a final response has been sent is not defined in the specification. So, in the above tests, the subsequent MESSAGE must be sent as an initial request using: sipFactory.createRequest(req.getApplicationSession(), "MESSAGE", req.getTo(), req.getFrom()). The above change must be made to the Servlets corresponding to the above test methods.

  30. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipSessionTest.testInvalidate001
  31. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.B2buaHelperTest.testCreateResponseToOriginalRequest102
  32. In the above tests, there can be a race between when the SipApplicationSession is determined to be in the ready-to-invalidate after the last SipSession is invalidated and using the same SipApplicationSession to create another request. If the former happens before the later, the SipApplicationSession will be invalidated and cannot be used to create a request with the SipApplicationSession.
    This test should be added to the exclude list.


  33. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testGetAttribute001
  34. This test currently checks if the exact set of attributes populated by the application in the SipServletMessage are available from it using the getAttributeNames() API. The only check the TCK should perform is to test if the attributes populated by the application alone are available using the above API. (This would allow the SipServletMessage to have container-specific attributes if any container wishes to add them.)
    This test should be added to the exclude list.


  35. com.bea.sipservlet.tck.agents.spec.MultihomedTest
  36. Multihoming is an optional feature as per Section 14.2, point 4 and requires configuration on part of the vendor.
    This test should be added to the exclude list.


  37. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletRequestTest.testPushRoute002
  38. The SipServletRequestServlet.testPushRoute002() method uses the following API: SipURI sipURI = sipFactory.createSipURI(user, host); to create a SipURI. The host argument is as follows: "192.168.30.48:5072;lr". This usage is incorrect. The "host" argument should not include port or URI parameters. The test should be corrected to set the port using setPort() and the lr parameter using setLrParam() APIs explicitly.

  39. com.bea.sipservlet.tck.agents.api.javax_servlet_sip.B2buaHelperTest.testCreateRequest001
  40. In the above test, the B2buaHelperServlet.testCreateRequest001 method compares the Via headers added to the newly created request (if any) to the To header of the incoming request. This is an unnecessary and incorrect comparison and should be removed. To correct the test, delete lines 70 to 78 from the com.bea.sipservlet.tck.apps.api.B2buaHelperServlet.testCreateRequest001 method.

  41. com.bea.sipservlet.tck.ar.TckApplicationRouterCaseHandler01.handleRouterEnquery
  42. com.bea.sipservlet.tck.ar.TckApplicationRouterCaseHandler03.handleRouterEnquery
  43. In the above classes, the TCK AR mandates that the region must be null for the Continue and Reverse directive cases. This is incorrect and the check should be removed.
    The TCK AR can be fixed as follows:
    In com.bea.sipservlet.tck.ar.TckApplicationRouterCaseHandler01 class, comment out lines 62, 63 and 64 (for case CONTINUE in the handleRouterEnquery method) and lines 79, 80 and 81 (for case REVERSE in the handleRouterEnquery method)
    In com.bea.sipservlet.tck.ar.TckApplicationRouterCaseHandler03 class, comment out lines 80, 81 and 82 (for case REVERSE in the handleRouterEnquery method)

    -----------------------------------------------------------------------------------------------------
    Summary: Tests to be added to the exclude list:

    # excluded method list
    exclude.method.30=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletTest.testDoProvisionalResponse001
    exclude.method.31=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipErrorEventListenerTest.testNoPrackReceived001
    exclude.method.32=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testAddAddressHeader001
    exclude.method.33=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testGetTo001
    exclude.method.34=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testSetAddressHeader001
    exclude.method.35=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testGetAddressHeader001
    exclude.method.36=com.bea.sipservlet.tck.agents.spec.ContextTest.testContext1
    exclude.method.37=com.bea.sipservlet.tck.agents.spec.AuthOfAppInitReqTest.testAuthOfAppInitReq1
    exclude.method.38=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipSessionTest.testInvalidate001
    exclude.method.39=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.B2buaHelperTest.testCreateResponseToOriginalRequest102
    exclude.method.40=com.bea.sipservlet.tck.agents.api.javax_servlet_sip.SipServletMessageTest.testGetAttribute001


    # excluded class list
    exclude.class.2=exclude.method.40=com.bea.sipservlet.tck.agents.spec.MultihomedTest
Version: 
Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google