Andy Guibert wrote on 2/20/20 11:52 AM:
    
      
      
        
          Now we seem to be going in circles... To recap the
            relevant points:
          
          
          1) How do we create overall platform TCK and how does it
            fit together?
          > In the same way that CDI and BeanValidation did it
            for JavaEE 8 / JakartaEE 8
         
       
    
    They didn't.  That's the point.  That's what we want to avoid.
It's true that CDI/BV do not roll up into the same spot as everywhere else, but based on 
my proposed PR to jakartaee-tck I thought we didn't want that for externalized TCKs?
Speaking from experience here, in IBM/OpenLiberty we have an entire team dedicated to setting up and running the JEE CTS. They are the only ones who know how to set up and run the arcane ball of JakartaEE TCKs.
When I was working on the BeanValidation 2.0 implementation for OpenLiberty for JavaEE 8 certification I was able to figure out how to set up and run the BeanValidation 2.0 TCKs against OpenLiberty in under an hour because I was already familiar with Arquillian (as many JEE developers already are). On the other hand only the dedicated CTS teams know how to set up and run the JavaTest stuff.
    
      
        
          
          
          2) What test framework? What technologies?
          > Arquillian+JUnit. These technologies are well-tested
            and widely understood in the community, and are perfectly
            capable of doing more complex testing such as pulling in
            DBs, mail servers, or other external resources. CDI and
            BeanVal are reasonably complex specs/TCKs and are already
            using Arquillian.
         
       
    
    How do we teach Arquillian to run the
      existing test cases?  Or how do we convert the existing test cases
      so that Arquillian can run them?  And either way, how do we assure
      ourselves that the result has the same pass/fail characteristics
      as the original?
 
The changes were pretty systematic and I did some spot negative testing to ensure validity.
Ultimately, we assure ourselves the results are the same by relying on our developers and our code reviewers. This is a one-time change per-spec and coming up with a more elaborate process would be over-engineering a solution IMO.
    
      
        
          3) [From
              the meeting minutes] Requirement – allow the use of the
              existing TCK tests themselves. If all of the TCK tests
              need to be modified just to become part of this new
              infrastructure, the process will die. We need the ability
              to incorporate existing TCK tests.
          >
              The conversion can be done on a spec-by-spec case. For
              example, everything would work fine if just JSON-B
              migrated to the "external TCK" way and all other specs
              remained as-is. Also, the conversion could be all-in-one
              or partial. For JSON-B I did an all-in-one conversion,
              meaning I took _all_ existing TCK tests and converted them
              to Arquillian+JUnit so now JSON-B TCK tests don't use
              JavaTest at all. Personally I think per-spec all-in-one
              conversion is best so there is only ever 1 framework per
              spec, but each spec could have the flexibility to do what
              they want. 
          
         
       
    
    This is the process that the notes claim will die.  Depending on
    each spec project to convert all of their tests to a new framework
    just won't happen.  You might end up with 10 specs fully converted
    and 27 specs still using the old framework.  If old and new can
    coexist, that might be fine.  Even if we had to run two completely
    separate TCK frameworks, that might be acceptable.  I'd like to hear
    what others think about this entire process of converting tests to a
    new framework, whether it needs to be done automatically, whether it
    can be done manually and incrementally, etc.
 
Yes, 10 specs could convert to the new way and 27 specs could stay with the old framework and that would be perfectly fine. IMO That's a win-win because the 10 specs that took the time to convert get the quality-of-life boost that comes with the decoupled/modernized and the 27 specs that stayed with the old way continue on with business as usual.