[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [jakartaee-platform-dev] [EXTERNAL] Re: TCK tests in the same repo as API andSpec | 
  
  
    Andy Guibert wrote on 3/9/20 8:42 AM:
    
      
      
        
        
        
        
          
          Andy Guibert wrote on
            3/4/20 2:13 PM:
            > Bill, I had a sit down meeting with the CTS lead at IBM
            and we discussed the
            > pros and cons of the current way and the "externalized"
            way that I have
            > proposed. Ultimately, he said that we already have both
            ways working and
            > automated and it didn't make a big difference which way
            each spec goes.
            I don't understand.  How do we have both ways working?  Do
            you mean the old TCK
            and the new work you've done?
          
          
          
          In this context the two ways are:
          1) Most TCK tests with the JavaTest harness
          2) The "externailzed" way that CDI, BeanVal, and now
            JSON-B are doing. In IBM we already have setups for CDI and
            BeanVal and adding the setup for JSON-B is trivial. I expect
            this is also true for other organizations that have already
            certified on Jakarta EE 8.
         
       
    
    I don't think it's fair to compare the incremental cost of adding
    another TCK once you've developed all the automation.  What matters
    is the cost to someone starting from scratch, with no existing
    automation.  In that case, adding more of the current style of
    externalized tests can increase their cost linearly.
    
    
      
        
          
            
            > I see two types of stakeholders with the TCK tests:
            >  1) People who work on moving specs forward and writing
            new TCK tests,
            > including getting tests passing for new versions of
            specs
            >  2) People who run/maintain the TCK tests long term to
            ensure things don't regress
            Aren't you forgetting the people who run the tests to check
            conformance of a
            product?
          
          
          
          Isn't that just group (2)? I'm not familiar with the
            entire certification process, but my understanding is that
            people at the implementing company/entity (e.g. IBM) run CTS
            and publish the results of the tests passing. Is there also
            an additional step I'm not aware of? (e.g. people at Oracle
            or Eclipse Foundation need to re-run the tests with the IBM
            impl to verify all the tests actually pass) 
          
         
       
    
    The people who 
maintain the tests are usually the test
    developers, who are not generally the people running the tests. 
    Yes, the people who maintain the tests also run them, but there are
    people who run the tests without ever maintaining them.  You need to
    consider them as distinct groups.
    
    
      
        
          
            
            > Based on the opinions I've gathered from people in role
            (2) in this thread and
            > from direct discussions at IBM, they don't care one way
            or another.
            > Based on the opinions I've gathered from people in role
            (1), they prefer the
            > "externalized" way of testing. Furthermore, this
            decision of what type of
            > testing to go with can be made at a per-spec level so
            it doesn't need to be a
            > unanimous platform decision. For people in role (1) for
            JSON-B, it is
            > unanimous that we want to migrate to the "externalized"
            TCK way, and we have
            > already put in the work to do so.
            >
            > If anyone from other companies have concrete concerns
            with this approach
            > (Oracle or others) I think it would be best to set up a
            Webex with the
            > concerned parties so we can talk it over and report
            back to this thread.
            My impression is that everyone wants "externalized".  Did
            you actually find
            people who don't want that?  Or maybe I don't understand
            what you mean by
            "externalized"?
          
          
          
          By "externalized" I mean the way the CDI, BeanVal, and
            soon-to-be JSON-B TCKs are set up which are based on
            Maven+Arquillian instead of JavaTest.
          So far, everyone I've spoken to (except you) is either in
            favor of or neutral on migrating to the externalized TCK
            architecture. 
          
         
       
    
    How many of the Asian vendors of Java EE products have you talked
    to?
    
    I haven't talked to anyone who's in charge of running (but not
    developing or maintaining) TCKs who's said "yes, give me more
    completely independent TCKs to configure and run!"
    
    The people who say anything like that are the people who are
    developing one or more of the TCKs and don't want to be burdened by
    the cost of integrating with JavaTest or the CTS.
    
    The people who only run the TCK want one single framework that runs
    all the tests.
    
    
      
        
          
            
            I think we're just all waiting for more documentation that
            tells us how to get
            from here to there, and what it will look like once we get
            there, especially for
            the people who have to run the tests to test conformance of
            their product.
          
            
            I would call this a "project plan", but maybe that's not a
            term you're familiar
            with.
          
          
          
          If I was inventing this process from scratch and CDI and
            BeanVal weren't already doing it this way, I would agree
            with you that a project plan is needed. However, that is not
            the case and BeanValidation has already thoroughly
            documented the approach:
          
         
       
    
    So is that exactly the approach you're proposing that we all do?  I
    assume that doesn't involve converting anything from JavaTest to
    something else, right?
    
    
      
        
          For JSON-B it will be the same documentation except
            /s/BeanValidation/JSON-B and /s/TestNG/JUnit -- I will raise
            a PR shortly on jsonb-api with these instructions.
          
         
       
    
    Wait, so there's a different plan for JSON-B?  It doesn't sound like
    we have 
a plan, but rather multiple similar plans.
    
    
      
        
          If we want to make sure every spec isn't doing their own
            thing and have 10 different ways to set up TCKs, we can
            simply promote the BeanVal documentation to the
            jakartaee-tck repo, generalize the terminology a bit, and
            have all specs that want to use this approach (CDI, BeanVal,
            JSON-B, JSON-P, etc) refer to the platform-level
            documentation.
         
       
    
    Which platform level documentation?
    
    I think we 
do want to make sure every spec isn't doing there
    own thing.  If you think you've got a plan for that, let's review
    it!