mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[ROSAUTOTEST]
- Disable error dialogs unless running in interactive mode ONLINE-441 svn path=/trunk/; revision=66506
This commit is contained in:
parent
1d174e03c2
commit
99126ff14b
3 changed files with 22 additions and 1 deletions
|
@ -17,17 +17,22 @@ typedef void (WINAPI *GETSYSINFO)(LPSYSTEM_INFO);
|
|||
*/
|
||||
CConfiguration::CConfiguration()
|
||||
: m_CrashRecovery(false),
|
||||
m_IsInteractive(false),
|
||||
m_PrintToConsole(true),
|
||||
m_Shutdown(false),
|
||||
m_Submit(false)
|
||||
{
|
||||
WCHAR WindowsDirectory[MAX_PATH];
|
||||
WCHAR Interactive[32];
|
||||
|
||||
/* Check if we are running under ReactOS from the SystemRoot directory */
|
||||
if(!GetWindowsDirectoryW(WindowsDirectory, MAX_PATH))
|
||||
FATAL("GetWindowsDirectoryW failed");
|
||||
|
||||
m_IsReactOS = !_wcsnicmp(&WindowsDirectory[3], L"reactos", 7);
|
||||
|
||||
if(GetEnvironmentVariableW(L"WINETEST_INTERACTIVE", Interactive, _countof(Interactive)))
|
||||
m_IsInteractive = _wtoi(Interactive);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -9,6 +9,7 @@ class CConfiguration
|
|||
{
|
||||
private:
|
||||
bool m_CrashRecovery;
|
||||
bool m_IsInteractive;
|
||||
bool m_IsReactOS;
|
||||
bool m_PrintToConsole;
|
||||
bool m_Shutdown;
|
||||
|
@ -30,6 +31,7 @@ public:
|
|||
bool DoPrint() const { return m_PrintToConsole; }
|
||||
bool DoShutdown() const { return m_Shutdown; }
|
||||
bool DoSubmit() const { return m_Submit; }
|
||||
bool IsInteractive() const { return m_IsInteractive; }
|
||||
bool IsReactOS() const { return m_IsReactOS; }
|
||||
const string& GetComment() const { return m_Comment; }
|
||||
const wstring& GetModule() const { return m_Module; }
|
||||
|
|
|
@ -248,9 +248,14 @@ CWineTest::GetNextTestInfo()
|
|||
}
|
||||
catch(CTestException& e)
|
||||
{
|
||||
delete[] m_ListBuffer;
|
||||
stringstream ss;
|
||||
|
||||
ss << "An exception occurred trying to list tests for: " << UnicodeToAscii(m_CurrentFile) << endl;
|
||||
StringOut(ss.str());
|
||||
StringOut(e.GetMessage());
|
||||
StringOut("\n");
|
||||
m_CurrentFile.clear();
|
||||
delete[] m_ListBuffer;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -327,6 +332,7 @@ CWineTest::Run()
|
|||
auto_ptr<CTestList> TestList;
|
||||
auto_ptr<CWebService> WebService;
|
||||
CTestInfo* TestInfo;
|
||||
DWORD ErrorMode;
|
||||
|
||||
/* The virtual test list is of course faster, so it should be preferred over
|
||||
the journaled one.
|
||||
|
@ -349,6 +355,10 @@ CWineTest::Run()
|
|||
if(Configuration.DoSubmit())
|
||||
WebService.reset(new CWebService());
|
||||
|
||||
/* Disable error dialogs if we're running in non-interactive mode */
|
||||
if(!Configuration.IsInteractive())
|
||||
ErrorMode = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX);
|
||||
|
||||
/* Get information for each test to run */
|
||||
while((TestInfo = TestList->GetNextTestInfo()) != 0)
|
||||
{
|
||||
|
@ -361,4 +371,8 @@ CWineTest::Run()
|
|||
|
||||
StringOut("\n\n");
|
||||
}
|
||||
|
||||
/* Restore the original error mode */
|
||||
if(!Configuration.IsInteractive())
|
||||
SetErrorMode(ErrorMode);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue