All right, I tweaked the code some more today, and updated the prototype for the pytest wrapper. I think I have the wrong interface there for now, so I'm trying to figure out how to make it better.
Basically, when pytest runs and creates XML results, those results have to go somewhere, and currently that's being specified by passing a path explicitly. To make that work better... there's a concept I had in here; it was called something like "segments", and it might still be, I don't remember for sure... Ah-ha, it's the path attribute on the python_helpers.PythonCmd, which could pass them to the command.Metadata in some way that would allow it to inject it into argument...
One potentially confusing possibility is to rework the installer concept to be for any path generated along these lines...
Okay, this is a bit too much to consider right now. I'm going to need to take some time to consider how to make this work.
By the way, to clarify what's wrong with the current system: the ideal here is that the motrfile creates a single object that can be combined with other "runner" objects, and each combination should put its output in a different directory. Right now, the mechanism for changing the output directory is buried inside several layers of wrapped objects, so this doesn't work.
I want to just mess around and let this percolate in my head for a while, so I'm going take things easy for now.