On this PR that had to do with adjustments to gremlin.sh arguments: https://github.com/apache/tinkerpop/pull/576
Robert Dale suggested I add some tests to bin/validate-distribution.sh to ensure things worked as expected. We've too often forgone testing gremlin.sh and it's main class Console, as there hasn't been a reasonably way to do it identified and I didn't really want to use validate-distribution.sh for this for a few reasons, but mostly because if we find a bug at that point, the release manager is going to going to go full sadpanda because they just did about a half-day's worth of work or so only to find the release being hosed. Anyway, after dead ending on Console testing again with junit and mocking (which isn't ideal either because it ignores gremlin.sh) I recalled that there might be an approach to directly testing gremlin.sh as an integration test given what we learned in automating python builds in maven - so long story short, we now have python based tests in gremlin-console that use pexpect to pass input and assert output directly in a console started with whatever flags we like and it all executes seamlessly in our standard build process. You can see it in action with: mvn clean install -pl gremlin-console -DskipIntegrationTests=false It's not easy to get excited about testing, but I think this is a pretty neat development for our quality control. It will be interesting to see what other tests we might want for the console under this model and where else in TinkerPop this model might be useful.
