Hey Kenny,
Thanks, the batch file idea is pretty much the best idea so far. However, this still won't work if I run it from visual studio. By "Automated" I mean exactly what it means: The pause process should be handled by boost, transparently, which is a form of automation. I'm not saying boost should force the user either, if you simply make it a preprocessor define like BOOST_TEST_PAUSE, you provide the user the flexibility of deciding whether or not boost will pause at the end of the test or not, which makes boost a little more flexible and I won't have to run off and make a batch file. The logic, at least without having looked at the boost.test source, would be seemingly simple:
#ifdef BOOST_TEST_PAUSE
system( "pause" )
#endif // BOOST_TEST_PAUSE
This may not be portable, but other platforms may not have the "Console disappearance" issue, so this may be a windows-specific feature. I will probably add this logic somewhere and submit a patch to the boost dev team.
Thanks for all the help guys.