mirror of
https://github.com/pocoproject/poco.git
synced 2025-03-04 07:27:23 +01:00
fixed WinTestRunner batch mode
This commit is contained in:
parent
b7778b4fe0
commit
ade75434c4
@ -34,26 +34,15 @@ void WinTestRunner::run()
|
||||
std::string cmdLine(AfxGetApp()->m_lpCmdLine);
|
||||
if (cmdLine.size() >= 2 && cmdLine[0] == '/' && (cmdLine[1] == 'b' || cmdLine[1] == 'B'))
|
||||
{
|
||||
// We're running in batch mode.
|
||||
std::string outPath;
|
||||
if (cmdLine.size() > 4 && cmdLine[2] == ':')
|
||||
outPath = cmdLine.substr(3);
|
||||
else
|
||||
outPath = "CON";
|
||||
std::ofstream ostr(outPath.c_str());
|
||||
if (ostr.good())
|
||||
{
|
||||
TestRunner runner(ostr);
|
||||
for (std::vector<Test*>::iterator it = _tests.begin(); it != _tests.end(); ++it)
|
||||
runner.addTest((*it)->toString(), *it);
|
||||
_tests.clear();
|
||||
std::vector<std::string> args;
|
||||
args.push_back("WinTestRunner");
|
||||
args.push_back("-all");
|
||||
bool success = runner.run(args);
|
||||
ExitProcess(success ? 0 : 1);
|
||||
}
|
||||
else ExitProcess(2);
|
||||
TestRunner runner;
|
||||
for (std::vector<Test*>::iterator it = _tests.begin(); it != _tests.end(); ++it)
|
||||
runner.addTest((*it)->toString(), *it);
|
||||
_tests.clear();
|
||||
std::vector<std::string> args;
|
||||
args.push_back("WinTestRunner");
|
||||
args.push_back("-all");
|
||||
bool success = runner.run(args);
|
||||
ExitProcess(success ? 0 : 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -77,13 +66,36 @@ END_MESSAGE_MAP()
|
||||
|
||||
BOOL WinTestRunnerApp::InitInstance()
|
||||
{
|
||||
AllocConsole();
|
||||
SetConsoleTitle("CppUnit WinTestRunner Console");
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
freopen("CONIN$", "r", stdin);
|
||||
TestMain();
|
||||
FreeConsole();
|
||||
std::string cmdLine(AfxGetApp()->m_lpCmdLine);
|
||||
if (cmdLine.size() >= 2 && cmdLine[0] == '/' && (cmdLine[1] == 'b' || cmdLine[1] == 'B'))
|
||||
{
|
||||
// We're running in batch mode.
|
||||
std::string outPath;
|
||||
if (cmdLine.size() > 4 && cmdLine[2] == ':')
|
||||
{
|
||||
outPath = cmdLine.substr(3);
|
||||
}
|
||||
else
|
||||
{
|
||||
char buffer[1024];
|
||||
GetModuleFileName(NULL, buffer, sizeof(buffer));
|
||||
outPath = buffer;
|
||||
outPath += ".out";
|
||||
}
|
||||
freopen(outPath.c_str(), "w", stdout);
|
||||
freopen(outPath.c_str(), "w", stderr);
|
||||
TestMain();
|
||||
}
|
||||
else
|
||||
{
|
||||
AllocConsole();
|
||||
SetConsoleTitle("CppUnit WinTestRunner Console");
|
||||
freopen("CONOUT$", "w", stdout);
|
||||
freopen("CONOUT$", "w", stderr);
|
||||
freopen("CONIN$", "r", stdin);
|
||||
TestMain();
|
||||
FreeConsole();
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user