Trinidad 20091121 and the future

I just packaged and released Trinidad 20091121 to maven repository maven.neuri.com. this version is compiled and linked against the latest stable Fitnesse version 20091121 (which is also deployed to the maven repository with the correct version number). Trinidad is an in-memory test runner for FitNesse (Java) tests which enables you to do some nice things such as run FitNesse tests from JUnit for easier debugging or from Maven for better build system integration, without requiring a running FitNesse server.

A question for you

Here’s a question for the community.

From the next version of FitNesse, all non slim stuff will apparently be decoupled from the core. this includes FIT, FitLibrary and the part of Trinidad that was bundled with FitNesse in several most recent releases. Also, FitNesse got -c option in the most recent release making a large part of Trinidad obsolete. This means that we have two options for the future of trinidad:

1) drop the testing infrastructure. keep JUnit runners and Maven runners but link them directly with FitNesse -c option

2) keep the testing infrastructure in place, maintaining Trinidad as a separate project from FitNesse

option 1 guarantees better compatibility with upcoming fitnesse features and less inconsistencies (eg no potential for trinidad to interpret things differently, skip suite pages etc which happened in the past). However, dropping the testing infrastructure means that html reports generated by Trinidad will no longer be available and that the FitNesse JUnit Test Suite which nicely reports test names in the JUnit window will also not be available.

potentially – if Uncle Bob is OK with this, we could refactor or hack the way FitNesse stores results to enable this kind of reporting to continue.

option 2 means potential inconsistencies and problems going forward as I’d have to sync trinidad with fitnesse code after every release, similar to the early releases which were, honestly, problematic. Doing this properly would probably mean treating fitnesse as a third party system and doing lots of integration testing around it.

which would you prefer?