With MSTest.exe, you can specify a total timeout for a test run by setting the /TestSettings/Execution/Timeouts/@runTimeout attribute in a .testsettings file.
/TestSettings/Execution/Timeouts/@runTimeout