You can send commands to other 'windows' inside of a screen session. So you can whip up vim plugins to spawn a new screen window (for example) with your test suite running in it. This allows for some of the things that you can do with 'buffers' in Emacs that you can't really do with them in Vim (i.e. you can't launch a test suite in Vim with the output sent to a Vim buffer and still be able to edit with Vim while the suite is running).
That said, I much prefer hex-editing with Emacs to using a combination of xxd and vim.
Could you point me/us in the direction as to how to set this up? I've been trying to emulate this function from Emacs ever since I've seen it in action. I'd love to be able to launch my test suite and have the output available in a buffer.
I've tinkered around with hacks that put shells in Vim windows but it wasn't really satisfactory.
The manpage for screen should tell you how to send commands to the screen session (the -X option, I believe). You just need to create a function/binding in Vim that tells screen to create a new 'window' and run that test suite in that 'window.'
Screen is basically a terminal multiplexer. This would work a little differently if you were using gVim instead of Vim (from within the same screen session that you're sending the test suite command to). If you were using gVim you'd need to use a named screen session (the -S option) and send the screen command to the named session (and possible have logic in the Vim/gVim function to start a named session if one doesn't already exist). Then you'd need a separate terminal window attached to that screen session to view the test suite output.
These articles use the vim+screen combo to send commands to an interpreter, but you can use the same concepts to send your test suite to a screen session.
That said, I much prefer hex-editing with Emacs to using a combination of xxd and vim.