It would be nice to have a way of generically wrapping up shell-based tests in iTest framework.
I imagine a pretty simple implementation (at least initially) where on the iTest side we'd have a parameterized testsuite that would look inside a specific location under resources and instantiate one test per shell script that it finds there (subject to include/exclude filtering constraints). Then the tests will be exec'ed inside of a pre-set UNIX environment one-by-one (no parallel execution for now). If shell returns 0 – the test passes, non 0 – fails (and the stderr/stdout get captured).
Finally, I don't have any better answer to what the contract for the environment should be, but I'd like folks to chime in with suggestions. We can probably start with populating it with ALL of the properties extracted from Hadoop config files (core-site.xml, hdfs-site.xml, etc.) with obvious transformations (fs.default.name becomes FS_DEFAULT_NAME, etc.). Or we can have a manifest of what's allowed and what tests can rely on.