Last week, Luis and I had a discussion about unit testing translator
code. Unfortunately, the structure of a translator - a plugin with many
entry points which interact in complex and instance-specific ways - is
one that is notoriously challenging. Really, the only way to do it is
to have some sort of a task-specific harness, with at least the
following parts:
* Code above to inject requests.
* Code below to provide mocked replies to the translator's own requests.
* Code "on the side" to track things like resources or locks acquired
and released.
This would be an ambitious undertaking, but not so ambitious that it's
beyond reason. The benefits should be obvious. At this point, what I'm
most interested in is volunteers to help define the requirements and
scope so that we can propose this as a feature or task for some future
GlusterFS release. Who's up for it?