Hi Scott M.,
Thanks for reaching out. I plan to join the discussion on the TCK ML soon and present what we're doing in Batch TCK. But I'll answer your question about how much effort it is to support Arquillian even here.
First, I'd like to clarify that our approach is not to write tests that depend on Arquillian but to have pure JUnit 5 tests. We found a simple solution to turn such tests into Arquillian tests on the fly, without changing a line of code and without depending on Arquillian. With that approach, it's theoretically possible to deploy and run the same tests using the TCK porting package although I haven't looked at that in detail.
JUnit5 allows running the tests in Arquillian without changing any code in those tests. To do that, it's enough to add the Arquillian JUnit5 extension to the project and enable it using a service loader file. On top of that, Arquillian requires a "deployment", which is usually specified by a method annotated by the@Deployment annotation. But it's also possible to specify a deployment using an Arquillian plugin which can also be enabled for all tests using service loader. And the plugin can either generate the same deployment for all tests (this is what we do in Batch TCK) or different deployments for different tests.
Turning TestNG tests into JUnit5 tests required a lot more code changes, but a lot of those changes were automated by a simple script, although I had to go through each test manually to fix some imports and review the changes. Converting from JTH to JUnit 5 would be more complicated because it doesn't use annotations like Before..., After... but I'm sure it can be automated too.
Ondro